Information processing method, program, and information processing system
The method addresses the inefficiency of conventional fill algorithms by determining fill operations based on area relationships, reducing workload through efficient expansion using four- and eight-connected algorithms.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SONY MUSIC ENTERTAINMENT (JAPAN) INC
- Filing Date
- 2025-09-10
- Publication Date
- 2026-04-23
AI Technical Summary
Conventional fill algorithms often leave areas unfilled in visually and semantically identical regions, requiring the use of special tools or multiple fill tool applications, increasing the workload in tasks such as animation production.
An information processing method that determines whether to perform fill operations on adjacent areas based on their relationship with the designated area, using a combination of four- and eight-connected algorithms to expand the fill process efficiently.
Reduces the workload in image coloring tasks by ensuring visually and semantically identical areas are filled in a single operation without leaving any areas unfilled.
Smart Images

Figure JP2025032041_23042026_PF_FP_ABST
Abstract
Description
Information processing methods, programs, and information processing systems
[0001] This disclosure relates to information processing methods, programs, and information processing systems.
[0002] In recent years, digital coloring tools have been used in image generation for animation production and other applications. Examples of digital coloring tools include fill tools (the so-called bucket tool) that fill a specified area with a designated color.
[0003] Patent Document 1, described below, discloses a technique for filling in the areas around line segments (inner and outer regions of coastlines) in map data when map data consisting of line segments and map data consisting of points arranged in a grid are superimposed.
[0004] Patent No. 5888938
[0005] Conventional fill algorithms often leave areas unfilled even in visually and semantically identical regions, requiring the use of special tools such as closed-region fill tools or fill-stretch tools, or multiple fill tool applications (multiple clicks), which increases the workload for finishing work in animation production and other similar tasks.
[0006] Therefore, this disclosure proposes an information processing method, program, and information processing system that can reduce the workload involved in the fill process, which involves coloring an image.
[0007] According to this disclosure, an information processing method is provided in which a processor obtains a fill designation for an area enclosed by a boundary line, selects adjacent areas adjacent to the designated area, and determines whether or not to perform fill on the adjacent areas according to the relationship between the designated area and the adjacent areas.
[0008] Furthermore, according to this disclosure, a program is provided that causes a computer to function as an acquisition unit that acquires a designation to fill in an area enclosed by a boundary line, a selection processing unit that selects adjacent areas adjacent to the designated area, and a determination processing unit that determines whether or not to fill in the adjacent areas according to the relationship between the designated area and the adjacent areas.
[0009] Furthermore, according to this disclosure, an information processing system is provided which includes an acquisition unit that acquires a designation to fill in an area enclosed by a boundary line, a selection processing unit that selects a neighboring area adjacent to the designated area, and a determination processing unit that determines whether or not to fill in the neighboring area according to the relationship between the designated area and the neighboring area.
[0010] This is a diagram illustrating the fill process. This is a diagram illustrating the case of filling pixels connected in 4-unit chains and the case of filling pixels connected in 8-unit chains. This is a diagram illustrating the expansion of the fill process to an area connected in 8-unit chains according to this embodiment. This is a block diagram illustrating an example of the basic configuration of the information processing device 10 according to this embodiment. This is a block diagram illustrating an example of the functional configuration related to the fill process of the information processing device 10A according to the first embodiment. This is a flowchart illustrating an example of the flow of the fill process according to the first embodiment. This is a diagram illustrating the calculation of a vector that has information about the extent of the area. This is a diagram illustrating the determination of fill expansion. This is a diagram illustrating the fill process according to the specification of fill with inclusion. This is a block diagram illustrating an example of the functional configuration related to the fill process of the information processing device 10B according to the second embodiment. This is a block diagram illustrating an example of the detailed functional configuration of the inclusion fill processing unit 134 according to the second embodiment. This is a diagram illustrating an example of when the target pixel is determined to be inside. This is a diagram illustrating an example of when the target pixel is determined to be outside. This is a diagram illustrating cross-region folding. This is a diagram illustrating facing each other. This is a flowchart illustrating an example of the flow of the fill process according to the second embodiment. This is a block diagram showing an example of the detailed functional configuration of the impregnation processing unit 134X according to a modification of this embodiment. This is a diagram for explaining the filling of color tracing lines. This is a diagram for explaining the impregnation processing when color tracing lines intersect. This is a diagram for explaining another example of the impregnation processing when color tracing lines intersect. This is a diagram for explaining an example of intersection detection according to a modification. This is a flowchart showing an example of the flow of the filling process according to this modification. This is a flowchart showing an example of the flow of the intersection detection process according to this modification. This is a diagram for explaining the correspondence around the filled area. This is a block diagram showing an example of the functional configuration of the information processing device 10C according to the third embodiment. This is a block diagram showing an example of the detailed functional configuration of the impregnation processing unit 134Y according to the third embodiment. This is a block diagram showing an example of the hardware configuration of the information processing device 900 according to one embodiment of the present disclosure.
[0011] Preferred embodiments of this disclosure will be described in detail below with reference to the attached drawings. In this specification and the drawings, components having substantially the same functional configuration are denoted by the same reference numerals, and redundant descriptions will be omitted.
[0012] Furthermore, the explanation will be conducted in the following order: 1. Overview 2. Basic Configuration 3. Fill Processing Examples 3-1. First Embodiment 3-2. Second Embodiment 3-3. Third Embodiment 4. Hardware Configuration Examples 5. Supplementary Information
[0013] <1. Overview> As one embodiment of this disclosure, an information processing system for reducing the workload in a fill process that applies color to an image will be described.
[0014] Figure 1 is a diagram illustrating the fill process. The fill process described in this embodiment is assumed to be a fill tool used in the finishing process of animation production, for example. In such a finishing process, coloring is performed on a binarized image.
[0015] In the fill process, as shown in the upper screen 300 of Figure 1, the user clicks anywhere within the area 302 enclosed by the main line 301 to execute the fill process. This fills the area 302 using a predetermined algorithm. The user can specify the color to be used for filling in advance.
[0016] In conventional algorithms, filling is performed by moving from the clicked pixel (starting pixel) to connected pixels in the four directions (vertical and horizontal). As shown in the screen 310 in the lower left of Figure 1, areas 311 that cannot be filled without referring to connections in eight directions (vertical, horizontal, and diagonal) will be left unfilled. In this case, it is necessary to switch to a special tool such as a closed-region fill tool or to perform the filling process multiple times, which increases the workload.
[0017] In contrast, in this embodiment, as shown in the screen 320 in the lower right of Figure 1, it is possible to complete the filling of a visually and semantically identical area in a single operation without leaving any areas unfilled.
[0018] Here, we will explain the algorithm for the fill process. Figure 2 illustrates the cases of filling pixels connected in groups of four and pixels connected in groups of eight.
[0019] In conventional fill operations, as shown in Figure 2 (left), a four-connection algorithm was used, which filled in pixels connected vertically and horizontally to the starting pixel 330. In this case, when the fill operation was performed on the area enclosed by the main line 332, that area was filled.
[0020] On the other hand, as mentioned above, assuming that there are areas that cannot be filled without referencing all eight directions, it is also conceivable to use an eight-connected algorithm that fills pixels connected in eight directions (vertical, horizontal, and diagonal). However, if an eight-connected algorithm is used, a new problem may arise, as shown in Figure 2 (right), where areas 340 that should not be filled are also filled.
[0021] Therefore, in this embodiment, by determining whether or not to perform filling according to the relationship between two regions connected by an 8-unit linkage, it is possible to appropriately expand the filling process and reduce the workload in the filling process.
[0022] Figure 3 is a diagram illustrating the extension of the fill operation to an area connected by eight interconnections according to this embodiment. First, as shown in the upper part of Figure 3, when an arbitrary location is clicked in the first area R (an example of a designated area; hereinafter also referred to as designated area R) enclosed by the main line 351, and the fill operation is executed, a fill operation (standard fill) is performed within area R using a four-connection algorithm. Next, a determination is made as to whether or not to perform a fill operation on the area R' (an example of a neighboring area; hereinafter also referred to as neighboring area R') that is connected to area R by eight interconnections. If it is determined that a fill operation should be performed, as shown in the lower part of Figure 3, a fill operation using a four-connection algorithm is performed on the area R' that is the target of the fill operation.
[0023] In this way, while the fill process is performed using a 4-link algorithm, a determination is made as to whether or not to fill adjacent areas (for example, areas connected by 8 links) that are close to the designated area to be filled. This allows for appropriate expansion of the fill area and reduces the workload involved in the fill process.
[0024] <2. Basic Configuration> Figure 4 is a block diagram showing an example of the basic configuration of the information processing device 10 according to this embodiment. The information processing device 10 is an example of an information processing system that realizes the fill-in process according to this embodiment. For example, the information processing device 10 can be realized by a PC (personal computer), a tablet terminal, a smartphone, an HMD (head-mounted display), etc. As shown in Figure 4, the information processing device 10 has a communication unit 110, an operation input unit 120, a control unit 130, a display unit 140, and a storage unit 150.
[0025] (Communication Unit 110) The communication unit 110 has a transmitting unit that transmits data to an external device and a receiving unit that receives data from an external device. The communication unit 110 according to this embodiment may communicate with an external device or the Internet using, for example, a wired or wireless LAN (Local Area Network), Wi-Fi (registered trademark), Bluetooth (registered trademark), a mobile communication network (LTE (Long Term Evolution), 4G (fourth generation mobile communication system), 5G (fifth generation mobile communication system)), etc.
[0026] (Control Unit 130) The control unit 130 functions as an arithmetic processing unit and control unit, and controls the overall operation of the information processing unit 10 according to various programs. The control unit 130 is implemented by electronic circuits such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), or a microprocessor. The control unit 130 may also include a ROM (Read Only Memory) for storing programs and calculation parameters used, and a RAM (Random Access Memory) for temporarily storing parameters that change as needed.
[0027] The specific functional configuration of the control unit 130 according to this embodiment will be described later.
[0028] (Operation Input Unit 120 and Display Unit 140) The operation input unit 120 receives user operations to the information processing device 10 and outputs operation information to the control unit 130. The operation input unit 120 can be implemented by, for example, a keyboard, mouse, touch panel, etc. The user can move a cursor displayed on the screen of the display unit 140 using the operation input unit 120 and specify to fill any area in the original image such as an animation, comic, or poster drawn on the screen. Here, "original image" is used as an example, but it is not limited to this, and all images, such as videos or still images, can be the target of filling according to this embodiment.
[0029] The display unit 140 displays various screens under the control of the control unit 130. The display unit 140 may be implemented, for example, by a CRT (Cathode Ray Tube) display device, a liquid crystal display (LCD) device, or an OLED (Organic Light Emitting Diode) device.
[0030] (Storage Unit 150) The storage unit 150 is implemented by a ROM that stores programs and calculation parameters used in the processing of the control unit 130, and a RAM that temporarily stores parameters that change as needed.
[0031] <3. Examples of Filling Processes> Next, each embodiment of the filling process according to this embodiment will be described in detail with reference to the drawings.
[0032] <<3-1. First Embodiment>> (3-1-1. Configuration) Figure 5 is a block diagram showing an example of the functional configuration of the information processing device 10A according to the first embodiment for the fill process. The input data acquisition unit 131, the standard fill processing unit 132, and the fill extension processing unit 133 shown in Figure 5 are realized by the control unit 130 shown in Figure 4. The filled pixel DB 151, proximity information DB 152, and fill extension target DB 153 shown in Figure 5 are included in the storage unit 150.
[0033] The input data acquisition unit 131 acquires input data and outputs it to the standard fill processing unit 132. The input data includes an image I, a specified color C, the clicked position (XY coordinates) within the image I, and the color T at the clicked position. Image I is assumed to be, for example, an RGB image (more specifically, consisting of four colors: black, red, green, and blue). The RGB image may also be pre-binarized by color. In the case of animation production, the original image of the animation is assumed. In the original image, characters, etc., are drawn with line drawings. In the original image, for example, the main lines are black, and different colors are used for the color tracing lines used as boundaries of shadow colors and highlight areas, depending on the content of the fill (for example, blue for shadows, red for highlights, etc.). The main lines and color tracing lines are examples of boundaries. The specified color C is the color used for filling and is set by the user. The clicked position is where the user clicks on an arbitrary location within the area where they want to perform the fill process on the image I displayed on the display unit 140. The fill process may be executed starting from the pixel at the clicked location.
[0034] The standard fill processing unit 132 performs a standard fill process. Specifically, the standard fill processing unit 132 takes as input a filled pixel registered in the filled pixel DB 151 that replaces the pixel at the same position in image I (such replacement may be performed after the fill extension process described later), and then performs a fill process using a four-linked algorithm starting from the click position. The filled pixel DB 151 is a database consisting of pairs of the position (XY coordinates) of a filled pixel and the color of that pixel.
[0035] More specifically, the standard filling processing unit 132 replaces the color of the pixel at the input click position with the specified color C, and adds the position and color information as filled pixels to the filled pixel DB 151. Next, the standard filling processing unit 132 checks whether each pixel located in the four vertical and horizontal directions of the starting pixel matches the original color T of the click position, and if it matches, executes the process of replacing it with the specified color C (i.e., the filling process), and adds the position and color information as filled pixels to the filled pixel DB 151 as described above. On the other hand, if no matching pixel is found, the search ends. The standard filling processing unit 132 recursively repeats the replacement with the specified color C and the search to perform filling within the specified area.
[0036] Next, the filling extension processing unit 133 executes the filling extension process. The filling extension processing unit 133 determines whether to perform filling on the area (proximity area) adjacent to the area (designated area) specified for filling based on the click operation by the user. This can prevent the remaining unfilled parts of visually and semantically identical areas and reduce the labor required for the filling process.
[0037] The filling extension processing unit 133 determines whether to perform filling on the proximity area according to the relationship between the designated area and the proximity area. The filling extension processing unit 133 determines to perform filling on the proximity area when the relationship between the designated area and the proximity area satisfies a predetermined condition.
[0038] The proximity area is assumed to be an area that is visually and semantically regarded as the same area as the designated area. Various methods for extracting the proximity area and determining the filling extension are assumed and not particularly limited, but specific examples are shown below.
[0039] The filling extension processing unit 133 extracts, for each filled pixel obtained by referring to the filled pixel DB 151 in the image I, pixels of color T that are 8-connected to the pixel (i.e., located vertically, horizontally, or diagonally), and adds them to the proximity information DB 152 as proximity information. In the proximity information DB 152, a filled pixel r and a pixel r' of color T that is 8-connected to it (proximity pixel) are stored in a pair.
[0040] Next, the filling extension processing unit 133 calculates regions R and R' that each pixel in the pixel pair (r, r') stored in the proximity information DB 152 is included in (the regions obtained when filling using the 4-connected algorithm). That is, the proximity region R' is a region different from the designated region R, and the proximity region R' and the designated region R are regions where one pixel included in each region is connected by 8-connection (specifically, in the diagonal direction). The proximity region R' can be said to be a candidate for the filling extension region at this stage.
[0041] Then, the filling extension processing unit 133 determines whether the relationship between the designated region R and the proximity region R' satisfies a predetermined condition. If it is satisfied, the information of the pixel r' is added to the filling extension target DB 153. Examples of the predetermined condition include cases where the proximity region R' does not spread too much with respect to the designated region R and the proximity region R' does not wrap around the designated region R. Details will be described with reference to FIGS. 7 to 8.
[0042] The pixel r' added to the filling extension target DB 153 is sent to the input data acquisition unit 131 as a new click position, and the standard filling process by the standard filling processing unit 132 and the filling extension process by the filling extension processing unit 133 are repeated. If no pixel r' is found in the filling extension processing unit 133 (i.e., there is no pixel r' of color T that is 8-connected to the filled pixel r), the filling process ends.
[0043] (3-1-2. Operation Processing) FIG. 6 is a flowchart showing an example of the flow of the filling process according to the first embodiment.
[0044] As shown in Figure 6, first, the information processing device 10A acquires the fill start position (click position in image I) using the input data acquisition unit 131 (step S103).
[0045] Next, the standard fill processing unit 132 executes a standard fill process (a fill process using a 4-link algorithm) starting from the fill start point (specifically, the starting pixel) (step S106). The specified color to be replaced is assumed to have already been set.
[0046] Next, the standard fill processing unit 132 adds information about the filled pixels (position, color) to the filled pixel DB 151 (step S109).
[0047] Next, the fill extension processing unit 133 selects candidates for the fill extension region (step S112). Specifically, the fill extension processing unit 133 extracts adjacent pixels that are connected to the filled pixels by 8 and whose color is the same as the color of the starting pixel before it was filled, and selects a 4-connected region starting from these adjacent pixels as a candidate for the fill extension region.
[0048] Next, the fill extension processing unit 133 determines whether or not to extend the fill to a four-connected region including the selected adjacent pixels (step S115). The fill extension processing unit 133 makes the determination based on whether or not the relationship between the designated region and the adjacent region satisfies predetermined conditions.
[0049] If the predetermined conditions are met (step S118 / Yes), the fill extension processing unit 133 adds information (position) of nearby pixels to the fill extension target DB 153 (step S121). Then, steps S103 onwards are repeated. That is, the information (position) of nearby pixels added to the fill extension target DB 153 is acquired by the input data acquisition unit 131 as a new fill start position, and the standard fill process is executed.
[0050] On the other hand, if the relationship between the designated area and the adjacent area does not satisfy the predetermined conditions (step S118 / No), the fill process is terminated. In addition, if no candidate for the expanded fill area is selected in step S112 (specifically, if there are no adjacent pixels that are connected to a filled pixel by 8 and whose color is the same as the color of the starting pixel before it was filled), the fill process is also terminated.
[0051] (Regarding the determination of fill expansion) A specific example of the determination of fill expansion by the fill expansion processing unit 133 will be explained with reference to Figures 7 and 8. Note that the following description is an example of fill expansion determination based on the relationship between the designated area and the adjacent area, and this embodiment is not limited to this.
[0052] For example, the fill extension processing unit 133 can calculate the extent of each region (specified region R, adjacent region R') starting from the filled pixel and the adjacent pixel, and make a determination of fill extension based on this extent.
[0053] Figure 7 illustrates the calculation of a vector containing information about the extent of a region. Here, we will explain how to calculate a vector containing information about the extent of a region in a specified region R that has been filled in.
[0054] First, as shown in the upper part of Figure 7, the fill extension processing unit 133 lists the pixels that can be reached in m steps (movement in four directions) from the starting point (pixel r connected to the nearest pixel r') within the region, and obtains an average vector (average vector) by averaging the vectors from the starting point to each pixel. Next, as shown in the middle part of Figure 7, the fill extension processing unit 133 obtains the vector with the maximum angle with the average vector for each set of pixels that can be reached in 1 step, 2 steps, ... m steps from the starting point. Subsequently, as shown in the lower part of Figure 7, the fill extension processing unit 133 takes the average of the minimum and maximum vectors (first vector and second vector) for each step calculated in the middle part of Figure 7, and uses this as a vector that contains information about the extent of the region.
[0055] The fill extension processing unit 133 similarly calculates a vector containing information about the extent of the region for the adjacent region R'.
[0056] The fill expansion processing unit 133 determines whether to perform fill expansion based on the angle formed by the calculated vector angles. Figure 8 is a diagram illustrating the determination of fill expansion. For example, as shown in the display 410 in the upper left of Figure 8, if the adjacent area R' is too far extended relative to the designated area R, more specifically, if the angle formed by the first vector and the second vector of the adjacent area R' exceeds a threshold θa (an example of a constant value), it is determined that fill expansion should not be performed. It may also be configured so that it is determined that fill expansion should not be performed if the expansion of the designated area R exceeds the threshold θa. The threshold θa may be a preset value or a value arbitrarily set by the user. The preset threshold θa may be a safe value calculated by referring to a large number of cases where fill expansion is not performed. It is also possible for the user to adjust the preset threshold θa as appropriate.
[0057] Furthermore, as shown in the upper right of Figure 8, display 420, if the adjacent region R' wraps around the designated region R, it is determined that no fill expansion will be performed. For example, in each combination such as the first vector of the designated region R and the first vector of the adjacent region R', the first vector of the designated region R and the second vector of the adjacent region R', the second vector of the designated region R and the first vector of the adjacent region R', and the second vector of the designated region R and the second vector of the adjacent region R', if at least one of the angles formed is smaller than the threshold θb, it is determined that no fill expansion will be performed. Note that this determination method is just one example, and the determination of wrap-around is not limited to this.
[0058] Then, if the relationship between the designated area R and the adjacent area R' is not one of the above situations, as shown in the display 430 in the lower left of Figure 8, the fill expansion processing unit 133 determines to perform fill expansion.
[0059] <<3-2. Second Embodiment>> Next, we will explain the fill process according to the second embodiment. In the original images of animation, etc., the lines used to draw characters, etc., include main lines and color tracing lines. Color tracing lines are lines that are mainly used as boundaries for shadow colors and highlight areas. Conventional fill processes include a "fill with inclusion" specification that also fills these color tracing lines with the specified color. When the "fill with inclusion" specification is executed, the area enclosed by the main lines and color tracing lines is filled with the specified color, and the color tracing lines are also filled with the same specified color.
[0060] In cases of "fill specification with implied coloring," it is generally considered that one side of a continuous color tracing line should be filled with the same color, given the role of the color tracing line. However, conventional filling processes sometimes resulted in areas being left unfilled, increasing the workload.
[0061] Figure 9 is a diagram illustrating the fill process in response to a fill specification that includes inclusion of fill. In the fill process with inclusion of fill, as shown in the screen 500 in the upper part of Figure 9, the user clicks at any point (for example, pixel P1) in the area 503 enclosed by the main line 501 and the color tracing line 502 to execute the fill process.
[0062] In conventional algorithms, the region 503 is filled by moving from the clicked pixel P1 (starting pixel) to pixels connected in the four directions (vertical and horizontal). Furthermore, because of the inclusion of fills, the color tracing lines 502 that form region 503 are also filled. In this case, the result is as shown in the screen 510 in the lower left of Figure 9, and region 504 is not filled. However, region 504 is on the same side as region 503 with respect to the continuous color tracing lines 502 that have been filled, and given the role of the color tracing lines 502, it is thought that region 504 (the region around the color tracing lines) should also be filled in the same way as region 503.
[0063] In contrast, in this embodiment, as shown in the screen 520 in the lower right of Figure 9, when specifying a fill with inclusion, the area 504 (an example of a neighboring area), which is visually and semantically the same area, is also included as a target for fill, making it possible to complete the fill without leaving any areas unfilled in a single operation.
[0064] The configuration and operation of the information processing device 10B according to this embodiment will be described below.
[0065] (3-2-1. Configuration) Figure 10 is a block diagram showing an example of the functional configuration of the information processing device 10B according to the second embodiment for the fill process. The input data acquisition unit 131, standard fill processing unit 132, fill extension processing unit 133, and inclusion fill processing unit 134 shown in Figure 10 are realized by the control unit 130 shown in Figure 4. In addition, the filled pixel DB 151, proximity information DB 152, fill extension target DB 153, inclusion fill candidate pixel DB 154, inclusion filled pixel DB 155, and surrounding area fill candidate pixel DB 156 are included in the storage unit 150 shown in Figure 4.
[0066] Note that the input data acquisition unit 131, standard fill processing unit 132, fill extension processing unit 133, filled pixel DB 151, proximity information DB 152, and fill extension target DB 153 have the same functional configuration as the information processing device 10A according to the first embodiment described with reference to Figure 5, so a detailed explanation is omitted here.
[0067] The color-filling processing unit 134 fills in the color tracing lines and determines whether to expand the fill in the area surrounding the color tracing lines. Details of the color-filling processing unit 134 will be explained with reference to Figure 11.
[0068] Figure 11 is a block diagram showing an example of the detailed functional configuration of the impregnation processing unit 134 according to the second embodiment. As shown in Figure 11, the impregnation processing unit 134 includes an impregnation pixel candidate selection unit 1341, an impregnation execution unit 1342, and a surrounding area fill expansion processing unit 1343.
[0069] The color-impregnation processing unit 134 receives input data from the input data acquisition unit 131, including an image I and the color T to be impregnated. i The color used for the color tracing lines, the specified color C, the clicked position (XY coordinates) within image I (for fill specification), and the color T at the clicked position are obtained. Note that the color T to be used for the fill is obtained. i is multiple (T i1 ~Tim ) may also be. Also, if image I is color T i If the image is an RGB image consisting of (i = 1 to N), then the color T to be implied is... i1 ~T im The colors T that make up an RGB image i (i = 1 to N). Also, filled pixel data is input to the filled-in processing unit 134 from the filled-in pixel DB 151. For example, with respect to filling the area 503 (specified area) in Figure 9, the filled processing according to Embodiment 1 (processing by the standard filled processing unit 132 and the filled-in extended processing unit 133) is performed, the filled pixel data is added to the filled-in pixel DB 151 and output to the filled-in processing unit 134. Then, the filled-in processing unit 134 can perform the color tracing line filled processing (i.e., filled-in processing).
[0070] In this specification, "fill specification with inclusion" may also mean "fill specification when the inclusion mode is ON." In this case, if a color tracing line touches the area to be filled, the inclusion processing unit 134 will perform the fill process on the color tracing line. On the other hand, when the inclusion mode is OFF, it is a "fill specification without inclusion," and even if a color tracing line touches the area to be filled, the inclusion processing unit 134 will not fill the color tracing line. Alternatively, if there is no ON / OFF function for the inclusion mode, and a color tracing line touches the area to be filled, such fill specification may be defined as "fill specification with inclusion." In a typical work process, it is assumed that the area to be filled will be filled first, so there is no concept of ON / OFF for the filled-in mode. If a color tracing line touches a filled area designated for filled-in, the filled-in processing unit 134 may be configured to fill the color tracing line. It is also possible to specify the color tracing lines to be filled in by the color of the color tracing line (for example, it is possible to specify that color tracing lines of this color should be filled in).
[0071] The included filling pixel candidate selection unit 1341 is located at a position connected to the filled pixels in a 4-connected manner based on the filled pixel data, and has a color of T i1 ~T im Starting from the pixel, the pixels to be filled when performing filling by the 4-connected algorithm are added to the included filling candidate pixel DB 154.
[0072] The included filling execution unit 1342 uses the included filling candidate pixels stored in the included filling candidate pixel DB 154 as the included filling targets, and replaces the color of each pixel with the specified color C. Thereby, it is possible to fill the color trace line adjacent to the specified area. The included filling execution unit 1342 adds the data (position, color) of the pixel replaced with the specified color C to the included filled pixel DB 155 as the included filled pixel data.
[0073] The surrounding area filling extension processing unit 1343 performs processing to extend the filling to the surrounding area (an example of the proximity area) of the color trace line. As described above, when performing included filling that fills the color trace line in addition to filling the specified area, due to the role of the color trace line, it is considered that the area located on the same side as the side where the specified area is located with respect to the color trace line should also be filled in the same way. The surrounding area filling extension processing unit 1343 selects and determines such an area for filling extension. Various specific methods for area selection and determination are conceivable. For example, the surrounding area filling extension processing unit 1343 may set the area on the same side as the specified area with respect to the color trace line as the extension target and perform filling determination.
[0074] A more specific method is described below. First, the surrounding area fill extension processing unit 1343 adds pixels that are connected in a 4-way link to each pixel (each pixel of the color tracing line that has been filled) included in the filled pixel DB 155 and whose color is T (the color of the click position) to the surrounding area fill candidate pixel DB 156. Next, the surrounding area fill extension processing unit 1343 determines whether the pixels included in the surrounding area fill candidate pixel DB 156 are inside or outside, and adds the pixels determined to be inside to the fill extension target DB 153. Inside means the same side as the side where the specified area for the color tracing line is located. The information of the pixels added to the fill extension target DB 153 is sent to the input data acquisition unit 131 as a new click position, and the standard fill processing by the standard fill processing unit 132 and the fill extension processing by the fill extension processing unit 133 are repeated. In other words, the area surrounding the color tracing line that has been determined to be filled can be filled using a four-link algorithm or similar method.
[0075] The determination of whether a pixel is inside or outside will be explained with reference to Figures 12 to 16. Figure 12 shows an example of a case where the target pixel is determined to be inside. As shown in Figure 12 left, the surrounding area filling extension processing unit 1343 searches in two directions while maintaining the adjacent state for the four connected filled pixels (pixels of the color tracing line 502) to which the target pixel P10 (surrounding area filling candidate pixels) is located. Then, as shown in Figure 12 right, if the surrounding area filling extension processing unit 1343 reaches a filled pixel (pixel of area 503) without a cross-region return occurring during the search, it determines that the target pixel P10 is inside.
[0076] Figure 13 shows an example of a case where the target pixel is determined to be outside. As shown in the left of Figure 13, the surrounding area filling extension processing unit 1343 searches in two directions while maintaining the adjacent state for the four connected filled pixels (pixels of the color tracing line 502) to which the target pixel P11 (surrounding area filling candidate pixel) is located. Then, as shown in the right of Figure 13, the surrounding area filling extension processing unit 1343 determines that the target pixel P11 is outside if a cross-region return occurs during the search, or if it faces a filled pixel P16 with a filled pixel P15 in between.
[0077] Here, a cross-regional wrap-around refers to a situation where, while searching for pixels along the color tracing line 502, the search position wraps around the end of the color tracing line 502 and enters a different region. Figure 14 is a diagram illustrating a cross-regional wrap-around. The surrounding region filling extension processing unit 1343, when searching for pixels along the color tracing line 502, saves the history (position) of the locations passed and makes determinations for wrap-arounds and cross-regional wrap-arounds. Specifically, as shown in the left of Figure 14, the surrounding region filling extension processing unit 1343 searches for pixels along the color tracing line 502 and makes a determination for a wrap-around when it reaches location P22, which is opposite location P21 across the pixel of the color tracing line 502. Furthermore, when a wrap-around occurs, as shown in the right of Figure 14, the surrounding region filling extension processing unit 1343 determines that it is a cross-regional wrap-around if the opposing locations P21 and P22 are in different regions (for example, if they are beyond the main line 501).
[0078] Furthermore, "opposite" refers to the case where the distance between pixels located on a straight line with respect to a pixel of the color tracing line 502 is less than or equal to a predetermined line width Lw. Figure 15 is a diagram illustrating opposite. As shown in Figure 15, if the distance L between pixels P18 and P19 located on a straight line with respect to a pixel of the color tracing line 502 is less than or equal to the line width Lw, the surrounding area fill expansion processing unit 1343 determines that opposite has occurred.
[0079] The inside / outside determination has been explained above. Furthermore, as described above, the surrounding area filling extension processing unit 1343 may determine a target pixel to be an inside candidate if, as a result of the search, no cross-region wrapping occurs and the target pixel reaches a filled pixel. If the ratio B / A of the set of pixels A, which is the set of boundaries of the region to be filled when the 4-connected algorithm is executed starting from the target pixel that is an inside candidate, and the number of pixels B that are inside candidates in the set of pixels A, is less than or equal to the threshold c, then the target pixel may be determined to be an outside. Moreover, if, among the target pixels remaining as inside candidates, there are outside pixels in the 4-connected region of the target pixel, then the surrounding area filling extension processing unit 1343 may also determine that the corresponding target pixel is an outside. Finally, the surrounding area filling extension processing unit 1343 determines the target pixel that is the last remaining inside candidate to be an inside.
[0080] The inside / outside determination described above is just one example, and this embodiment is not limited to it. Furthermore, the determination of whether or not to fill the surrounding area according to this embodiment is not limited to the method using inside / outside determination.
[0081] (3-2-2. Operation Process) Figure 16 is a flowchart showing an example of the fill process according to the second embodiment. The processes shown in steps S103 to S121 in Figure 16 are the same as those described in the first embodiment with reference to Figure 6.
[0082] When the filling process for the specified area is completed, specifically if no candidate for the filled-in extended area is selected in step S112, or if the relationship between the specified area and the adjacent area does not satisfy predetermined conditions (step S118 / No), the information processing device 10B uses the inclusion-filled pixel candidate selection unit 1341 to select a candidate for the inclusion-filled pixel (step S203).
[0083] Next, the selected pixel-containing candidate selection unit 1341 adds the selected pixel-containing candidate DB 154 (step S206).
[0084] Next, the fill-in execution unit 1342 performs fill-in (filling in color tracing lines) by replacing the color of the pixels included in the fill-in candidate pixel DB 154 with a specified color (step S209).
[0085] Next, the impregnation and coloring execution unit 1342 adds the information (position, color) of the impregnated pixels to the impregnated pixel DB 155 (step S212).
[0086] Next, the surrounding area fill extension processing unit 1343 selects candidate pixels for filling and extending the surrounding area (of the color tracing line) (step S215).
[0087] Next, the surrounding area fill extension processing unit 1343 determines whether or not to perform surrounding area fill extension based on the selected candidate pixels (step S218). Specifically, the surrounding area fill extension processing unit 1343 determines whether or not the selected candidate pixels satisfy predetermined conditions (for example, whether or not the candidate pixels are on the same side as the specified area with respect to the color tracing line).
[0088] If the selected candidate pixels meet predetermined conditions (step S221 / Yes), the surrounding area fill extension processing unit 1343 adds the candidate pixels to the fill extension target DB 153 (step S224). Then, steps S103 onwards are repeated. That is, the information (position) of the candidate pixels added to the fill extension target DB 153 is acquired by the input data acquisition unit 131 as a new fill start position, and the standard fill process is executed.
[0089] On the other hand, if the selected candidate pixels do not meet the predetermined conditions (step S221 / No), the fill process ends. Furthermore, if no candidate pixels for expanding the fill of the surrounding area are selected in step S215, the fill process also ends.
[0090] (3-2-3. Modification) Next, we will explain a modification that further improves the convenience of the color tracing line filling (inclusion filling) process.
[0091] Figure 17 is a block diagram showing an example of the detailed functional configuration of the impregnation processing unit 134X according to a modified example of this embodiment. As shown in Figure 17, the impregnation processing unit 134X further includes an impregnation pixel candidate selection unit 1341, an impregnation execution unit 1342, and a surrounding area filling expansion processing unit 1343, as well as an impregnation expansion processing unit 1344 and an intersection detection unit 1345.
[0092] Regarding the impregnation and expansion processing, in the impregnation and expansion processing according to the second embodiment described above, the color tracing lines are filled using a 4-link algorithm, so the filling stops at the 8-link location.
[0093] Figure 18 is a diagram illustrating the filling of color tracing lines. As shown in the upper display screen 610 of Figure 18, if there is a section of the color tracing line 502 that has eight connected points, the filling of the color tracing line 502 stops at the connection point between pixels P25 and P26, which is the eight-connected point, as shown in the lower left display screen 620 of Figure 18.
[0094] Therefore, in Modification 1, the color tracing line filling is extended to ensure that the color tracing lines, which are visually and semantically identical, are completely filled in a single operation. There are various ways to determine if color tracing lines are visually and semantically identical, but for example, if the area of eight connected color tracing lines extends along the extension of the area of a filled color tracing line, or if the thickness of the lines (areas) is about the same, they can be considered a single color tracing line visually and semantically.
[0095] As a more specific determination method, for example, similar to the spread calculation by the fill expansion processing unit 133 described with reference to Figures 7 and 8, the spread of each region from the part where the inclusion filling stopped is calculated, and the inclusion filling expansion determination is performed in the same way as the processing by the fill expansion processing unit 133. In the case of the display screen 620, the inclusion filling expansion processing unit 1344 calculates the spread of the color tracing line region 502a starting from pixel P25 and the spread of the color tracing line region 502b starting from pixel P26, and determines that the color tracing line region 502b is filled and expanded (hereinafter referred to as inclusion filling expansion). Then, as shown in the display screen 630 in the lower right of Figure 18, the inclusion filling expansion processing unit 1344 performs inclusion filling expansion, making it possible to reduce the amount of work required for inclusion filling of the color tracing line 502.
[0096] The processing of the impregnation and expansion processing unit 1344 will be explained in more detail.
[0097] The inclusion-fill extension processing unit 1344 first applies to the pixel p (a pixel of a colored tracing line that has already been filled) included in the inclusion-fill candidate pixel DB 154, and sets an 8-connection and color T i1 ~T im A pixel q (candidate for inclusion of fill) of the color of the colored tracing line is selected, and the pixel pair (p, q) is added to the inclusion of fill adjacency information DB157.
[0098] Next, the inclusion-fill extension processing unit 1344, for each pair (p, q) included in the inclusion-fill adjacent information DB 157, adds the pixels that would be filled when a four-linked algorithm is executed starting from pixel q, if predetermined conditions are met, to the inclusion-fill candidate pixel DB 154.
[0099] The predetermined conditions include, for example, (1) that there are no pixels of other colors (colors other than T) that cross between pixel p and pixel q, and (2) that the extent of the region containing pixel p (the region that can be filled by the 4-connected algorithm) and the extent of the region containing pixel q (the region that can be filled by the 4-connected algorithm) are calculated, and based on these extents, it is determined that the region is subject to inclusion and filling expansion.
[0100] The method for calculating the extent of the area and the criteria for determining the extent of the area in the above condition (2) may be the same as those in the fill-in and expansion processing unit 133.
[0101] The specified conditions are just one example of the conditions for determining visually and semantically identical color tracing lines, and this variation is not limited to these conditions.
[0102] When the extended coloring processing unit 1344 has finished processing all pairs (p, q) included in the extended coloring adjacent information DB 157, it again selects an extended coloring candidate based on the pixel p included in the extended coloring candidate pixel DB 154.
[0103] Regarding the filling process at intersections, Figure 19 is a diagram illustrating the implied filling process when color tracing lines intersect. As shown in state 650 in the upper part of Figure 19, when color tracing line 502c and color tracing line 502d that form a designated area R intersect, the normal implied filling process will spread the color, ignoring the intersection W of the color tracing lines where the filling should ideally stop, as shown in state 652 in the lower left of Figure 19. Therefore, in actual work, it is necessary to deal with this by placing a temporary color at the intersection W or correcting the vertical positional relationship of the color tracing lines, which results in extra work.
[0104] Figure 20 illustrates another example of the implied fill process when color tracing lines intersect. Similarly, in the case of Figure 20, as shown in state 660 in the upper part of Figure 20, when color tracing lines 502c and 502d that form a specified area R intersect, the normal implied fill process will spread the color, ignoring the intersection W of the color tracing lines, as shown in state 662 in the lower left part of Figure 20. In the case of state 660 in the upper part of Figure 20, even if color tracing line 502d is set below color tracing line 502c, the spread of color occurs on the color tracing line 502c side.
[0105] Therefore, according to the intersection detection unit 1345 of this modified example, by detecting the intersection W of color tracing lines and preventing the paint from spreading, appropriate filling can be achieved as shown in state 654 in the lower right of Figure 19 and state 664 in the lower right of Figure 20, thereby reducing the increase in man-hours.
[0106] The processing of the intersection detection unit 1345 will be explained in more detail.
[0107] The intersection detection unit 1345 detects intersections between color tracing lines based on pixels included in the candidate pixel DB 154 (pixels of one or more color tracing lines that are candidates for inclusion), and adds information about the pixels at the intersections to the intersection pixel DB 158. In this case, the inclusion execution unit 1342 refers to the intersection pixel DB 158 and performs inclusion up to the intersections. For example, the inclusion execution unit 1342 removes the pixels included in the intersection pixel DB 158 from the set of pixels included in the candidate pixel DB 154, and among the multiple regions that remain, it selects those that are connected to pixels included in the filled pixel DB 151, and those included in the intersection pixel DB 158 where the pair color of the intersection (the combination of each color of the multiple intersecting color tracing lines) is T i1 ~T im These items will be included in the coating.
[0108] There are various methods for detecting intersections between colored tracing lines, and we do not limit ourselves to any particular method, but one example is explained below.
[0109] Figure 21 is a diagram illustrating an example of intersection detection using a modified method. First, as shown in the left of Figure 21, the intersection detection unit 1345 detects pixels P30 and P31 among the pixels of color tracing lines 502c and 502d that are in contact with different color tracing lines and whose color tracing line state is "up". Next, as shown in the center of Figure 21, the intersection detection unit 1345 calculates the direction D1 of the lower color tracing line 502c that is in contact with pixels P30 and P31. Then, as shown in the right of Figure 21, the intersection detection unit 1345 identifies pixels P30 and P31 on the upper color tracing line 502d, and pixels P32 and P33 that start from pixels P30 and P31 and proceed in the opposite direction to direction D1 (direction D2) and pass through them as intersection pixels. In this way, the intersection detection unit 1345 detects intersection pixels with respect to the upper color tracing line. Furthermore, if the intersection is cross-shaped, the intersection detection unit 1345 performs the same processing on the upper and lower color tracing lines, and after considering the relationship between position and direction, it identifies the upper pixel at the point connecting the two lines as the intersection pixel.
[0110] • Operation diagram 22 is a flowchart showing an example of the fill process flow according to this modified example. Of the steps shown in Figure 22, the processing of the same step as in Figure 16 is as described above.
[0111] In this modified example, after the inclusion candidate pixels are added to the inclusion candidate pixel DB 154 by the inclusion candidate pixel selection unit 1341 as shown in step S206, the inclusion extension processing unit 1344 performs the selection of inclusion extension candidates (step S233) and the determination of whether or not predetermined conditions are met (step S236).
[0112] If the predetermined conditions are met (step S236 / Yes), the inclusion-fill extension processing unit 1344 adds the inclusion-fill extension candidate to the inclusion-fill candidate pixel DB 154 (step S206).
[0113] If the predetermined conditions are not met (step S236 / No), or if there are no candidates for inclusion fill extension in step S233, the process proceeds to step S209, where a fill (inclusion fill) process is performed to replace the color of the pixels included in the inclusion fill candidate pixel DB154 with the specified color C.
[0114] On the other hand, after step S206, the intersection detection unit 1345 detects intersection pixels from the pixels included in the candidate pixel DB 154 (step S239), and adds the detected intersection pixels to the intersection pixel DB 158 (step S242). At this time, when the pixel filling execution unit 1342 performs pixel filling in step S206, the pixels in the intersection pixel DB 158 are referenced, and appropriate pixel filling is achieved.
[0115] Figure 23 is a flowchart showing an example of the intersection detection process according to this modified example. As shown in Figure 23, first, the intersection detection unit 1345 detects pixels among the candidate pixels to be filled that come into contact with tracing lines of a different color (step S253).
[0116] Next, the intersection detection unit 1345 determines the state of the contact point (whether it is positioned above or below) for the contact pixel (step S256).
[0117] Then, the intersection detection unit 1345 detects the intersection pixels from the upper color tracing line (step S259).
[0118] The operation process using this modified version has been explained above. Note that the content and order of the processes shown in Figures 22 and 23 are examples only, and this modified version is not limited to these examples.
[0119] <<3-3. Third Embodiment>> The following diagram illustrates an efficient method for filling in gaps created by filled areas.
[0120] Figure 24 is a diagram illustrating the correspondence around the filled-in area. Each step S1 to S4 shown in Figure 24 will be explained below.
[0121] S1: Click at any location within area R1, and specify fill with inclusion.
[0122] S2: A fill operation with implied fill is performed on region R1. In this implied fill operation, region R1 and the color tracing line 502 are filled.
[0123] S3: Next, when a normal fill operation (fill without inclusion) is performed on region R2, the gap between the main line 501 adjacent to region R2 and the filled region R11 and the main line 501 remains unfilled. In the past, in this case, a fill operation would have to be performed for each gap individually, which increased the amount of work required.
[0124] S4: In this embodiment, by using the original color tracing line information as pseudo-color tracing line 502' and performing a fill-in process around the filled area to fill in the gaps, it is possible to achieve more efficient filling without leaving any gaps unfilled.
[0125] (Configuration) Figure 25 is a block diagram showing an example of the functional configuration of the information processing device 10C according to the third embodiment for the fill process. The input data acquisition unit 131, standard fill processing unit 132, fill extension processing unit 133, and inclusion fill processing unit 134Y shown in Figure 25 are realized by the control unit 130 shown in Figure 4. The filled pixel DB 151, proximity information DB 152, fill extension target DB 153, new filled pixel DB 160, adjacent pixel DB 161, and fill candidate pixel DB 162 are included in the storage unit 150 shown in Figure 4. The input data acquisition unit 131, standard fill processing unit 132, fill extension processing unit 133, filled pixel DB 151, proximity information DB 152, and fill extension target DB 153 are the same as the functional configuration of the information processing device 10A according to the first embodiment described with reference to Figure 5, so a detailed explanation is omitted here.
[0126] The impregnation processing unit 134Y, in response to the area around the filled region filled by the impregnation-enabled fill process, uses the information of the original color tracing lines to appropriately fill the area around the original color tracing lines. A more detailed explanation of the functional configuration of the impregnation processing unit 134Y will be given with reference to Figure 26.
[0127] Figure 26 is a block diagram showing an example of the detailed functional configuration of the inclusion processing unit 134Y according to the third embodiment. The first fill processing unit 1351, adjacent pixel detection unit 1352, second fill processing unit 1353, and duplicate pixel exclusion unit 1354 shown in Figure 26 are functional configurations included in the inclusion processing unit 134Y.
[0128] The first fill processing unit 1351 takes an image I and a color T to be used for filling as input data. i The first fill processing unit 1351 obtains the color used for the color tracing lines, the specified color C, the clicked position (XY coordinates) within the image I, and the color T at the clicked position. The first fill processing unit 1351 further obtains information on filled pixels from the filled pixel DB 151 and uses the result of replacing the corresponding part of the image I with the filled pixels as input data. The first fill processing unit 1351 can perform fill processing with the inclusion of color tracing lines. With regard to the inclusion of color tracing lines, the first fill processing unit 1351 can perform this in the same way as the inclusion processing unit 134 according to the second embodiment or the inclusion processing unit 134X according to a modified version of the second embodiment (fill processing S2 shown in Figure 24). The first fill processing unit 1351 then adds the information of the filled pixels, including the inclusion of color tracing lines, to the new filled pixel DB 160.
[0129] The adjacent pixel detection unit 1352 detects adjacent pixels in four directions to pixels in the filled pixel DB 151 from among the pixels included in the new filled pixel DB 160, and adds them to the adjacent pixel DB 161. These adjacent pixels are pixels of filled color tracing lines and will be used as pseudo-color tracing line information later.
[0130] The second fill processing unit 1353 performs a fill process using pseudo-color tracing lines. The second fill processing unit 1353 can receive a fill specification using pseudo-color tracing lines from the input data acquisition unit 131. More specifically, the second fill processing unit 1353 performs a fill process starting from the position of a pixel included in the adjacent pixel DB 161, and adds the obtained pixel to the fill candidate pixel DB 162. Note that the fill process performed by the second fill processing unit 1353 is a virtual fill process using pseudo-color tracing lines, and the obtained pixel is added to the fill candidate pixel DB 162 as a fill candidate pixel, not to the filled pixel DB 151.
[0131] The duplicate pixel exclusion unit 1354 excludes pixels from the filled pixel DB 151 from the filled candidate pixel DB 162, and adds the remaining pixels (each gap and region R2 shown in Figure 24) to the fill expansion target DB 153. Thereafter, each pixel added to the fill expansion target DB 153 is sent to the input data acquisition unit 131 as a new click position (see Figure 25), and the standard fill processing by the standard fill processing unit 132 and the fill expansion processing by the fill expansion processing unit 133 are repeated.
[0132] The filling algorithm described above is just one example of a method that uses a filled-in color tracing line as a pseudo-color tracing line again to prevent unfilled areas around it, and this embodiment is not limited to this.
[0133] <4. Hardware Configuration Example> An embodiment of the present disclosure has been described above. Next, with reference to Figure 27, an example of the hardware configuration used in the information processing device 10 (10A, 10B, 10C) according to an embodiment of the present disclosure will be described.
[0134] Figure 27 is a block diagram showing an example of the hardware configuration of an information processing device 900 according to one embodiment of the present disclosure. The information processing device 900 is an example of the hardware configuration applied to the information processing devices 10 (10A, 10B) according to this embodiment. Note that the information processing device 900 does not necessarily have all of the hardware configurations shown in Figure 27.
[0135] As shown in Figure 27, the information processing device 900 includes a processing circuit 901, a ROM (Read Only Memory) 902, and a RAM (Random Access Memory) 903. The information processing device 900 may also include a host bus 907, a bridge 909, an external bus 911, an interface 913, an input device 915, an output device 917, a storage device 919, a drive 921, a connection port 923, and a communication device 925.
[0136] The processing circuit 901 functions as an arithmetic processing unit and control unit, and controls the overall operation or a part of the operation within the information processing unit 900 according to various programs recorded in the ROM 902, RAM 903, storage device 919, or removable recording medium 927. The ROM 902 stores programs and calculation parameters used by the processing circuit 901. The RAM 903 temporarily stores programs used in the execution of the processing circuit 901 and parameters that change as appropriate during its execution. The processing circuit 901, ROM 902, and RAM 903 are interconnected by a host bus 907, which is composed of an internal bus. Furthermore, the host bus 907 is connected to an external bus 911, such as a PCI (Peripheral Component Interconnect / Interface) bus, via a bridge 909.
[0137] The input device 915 is a device operated by the user, such as a button. The input device 915 may also include a mouse, keyboard, touch panel, switch, and lever. The input device 915 may also include a microphone that detects the user's voice. The input device 915 may be, for example, a remote control device that uses infrared or other radio waves, or an external connection device 929 such as a mobile phone that is compatible with the operation of the information processing device 900. The input device 915 includes an input control circuit that generates an input signal based on information input by the user and outputs it to the processing circuit 901. By operating this input device 915, the user inputs various data to the information processing device 900 or instructs it to perform processing operations.
[0138] The input device 915 may also include an imaging device and sensors. The imaging device is a device that captures real space and generates an image using various components such as an image sensor, such as a CCD (Charge Coupled Device) or CMOS (Complementary Metal Oxide Semiconductor), and a lens for controlling the imaging of a subject onto the image sensor. The imaging device may capture still images or motion images. The sensors are various types of sensors, such as distance sensors, acceleration sensors, gyro sensors, geomagnetic sensors, vibration sensors, light sensors, and sound sensors. The sensors acquire information about the state of the information processing device 900 itself, such as the orientation of the housing of the information processing device 900, and information about the surrounding environment of the information processing device 900, such as the brightness and noise around the information processing device 900. The sensors may also include a GPS sensor that receives GPS (Global Positioning System) signals and measures the latitude, longitude, and altitude of the device.
[0139] The output device 917 is comprised of a device capable of visually or audibly notifying the user of the acquired information. The output device 917 may be, for example, a display device such as an LCD (Liquid Crystal Display) or an organic EL (Electro-Luminescence) display, or an audio output device such as a speaker or headphones. The output device 917 may also include a PDP (Plasma Display Panel), a projector, a hologram, a printer, etc. The output device 917 outputs the results obtained from the processing of the information processing device 900 as images such as text or pictures, or as sound such as voice or sound. The output device 917 may also include a lighting device that brightens the surroundings.
[0140] The storage device 919 is a data storage device configured as an example of the storage unit of the information processing device 900. The storage device 919 is composed of, for example, a magnetic storage device such as an HDD (Hard Disk Drive), a semiconductor storage device, an optical storage device, or a magneto-optical storage device. This storage device 919 stores programs and various data executed by the processing circuit 901, as well as various data acquired from external sources.
[0141] The drive 921 is a reader / writer for removable recording media 927 such as magnetic disks, optical disks, magneto-optical disks, or semiconductor memory, and is either built into or external to the information processing device 900. The drive 921 reads information recorded on the installed removable recording media 927 and outputs it to the RAM 905. The drive 921 also writes data to the installed removable recording media 927.
[0142] The connection port 923 is a port for directly connecting equipment to the information processing device 900. The connection port 923 may be, for example, a USB (Universal Serial Bus) port, an IEEE 1394 port, or a SCSI (Small Computer System Interface) port. Alternatively, the connection port 923 may be an RS-232C port, an optical audio terminal, or an HDMI (High-Definition Multimedia Interface) port. By connecting an external device 929 to the connection port 923, various types of data can be exchanged between the information processing device 900 and the external device 929.
[0143] The communication device 925 is a communication interface, for example, consisting of a communication device for connecting to the network 931. The communication device 925 may be, for example, a communication card for wired or wireless LAN (Local Area Network), Bluetooth®, Wi-Fi®, or WUSB (Wireless USB). Alternatively, the communication device 925 may be a router for optical communication, an ADSL (Asymmetric Digital Subscriber Line) router, or a modem for various types of communication. The communication device 925 transmits and receives signals, for example, to the Internet or other communication devices using a predetermined protocol such as TCP / IP. The network 931 connected to the communication device 925 is a network connected by wire or wireless, for example, the Internet, a home LAN, infrared communication, radio wave communication, or satellite communication.
[0144] For example, when the information processing device 900 functions as an information processing device 10 (10A, 10B, 10C) according to the embodiment of this disclosure, the processing circuit 901 of the information processing device 900 functions as a control unit 130 by executing a program loaded on the RAM 903. The storage device 919 stores the information processing program according to this disclosure and various data stored in the storage unit 150. The processing circuit 901 reads and executes the program data from the storage device 919, but as another example, these programs may be obtained from other devices via an external network 30. In other words, the storage device 919 is not limited to being inside the information processing device 900, but may be located outside the information processing device 900. The processing circuit 901 is an example of an integrated circuit, and CPU (Central Processing Unit), MPU (Micro Processing Unit), GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), ASIC (Application Specific Integrated Circuit), and FPGA (Field Programmable Gate Array) can all be considered integrated circuits.
[0145] Furthermore, when the information processing device 900 functions as an information processing device 10 (10A, 10B, 10C) according to the embodiment of this disclosure, the input device 915 of the information processing device 900 corresponds to the operation input unit 120. The output device 917 corresponds to the display unit 140. The communication device 925 corresponds to the communication unit 110.
[0146] <5. Supplementary Information> Although preferred embodiments of the present disclosure have been described in detail above with reference to the attached drawings, the present technology is not limited to such examples. It is clear that a person with ordinary skill in the art of the present disclosure may conceive of various modifications or alterations within the scope of the technical idea described in the claims, and these will naturally be understood to fall within the technical scope of the present disclosure.
[0147] Each component of the illustrated device is a functional concept and does not necessarily have to be physically configured as shown. In other words, the specific forms of distribution and integration of each device are not limited to those shown, and all or part of them can be functionally or physically distributed and integrated in any unit according to various loads and usage conditions.
[0148] The information processing system according to this disclosure may consist of a single device, or the information processing system 10 may be composed of multiple devices. The multiple devices may be, for example, a client terminal and a server, or a mobile terminal such as a smartphone and a wearable display device (HMD, etc.). For example, if the information processing system according to this disclosure consists of a client terminal and a server, each of the functional configurations of the control unit 130 described above is provided on the server, and various fill-in processes can be processed on the cloud side. The client terminal that communicates with the server may be configured to display the fill-in process results. Alternatively, some of the functional configurations of the control unit 130 described above may be provided on the server, and some may be provided on the client terminal.
[0149] Furthermore, the embodiments, examples, and modifications of this disclosure described above can be combined as appropriate in areas where the processing content is not contradictory. Also, the order of each step shown in the sequence diagram or flowchart of this embodiment can be changed as appropriate. For example, each step may be processed chronologically, repeatedly, or partially in parallel.
[0150] Furthermore, one or more computer programs can be created for the CPU, ROM, RAM, and other hardware built into the information processing device 10 to perform its functions. A computer-readable storage medium storing one or more of these computer programs is also provided.
[0151] Furthermore, the effects described herein are merely descriptive or illustrative and not limiting. In other words, the technology relating to this disclosure may produce other effects that are obvious to those skilled in the art from the description herein, in addition to or in lieu of the effects described herein.
[0152] Furthermore, this technology can also be configured as follows: (1) An information processing method comprising: a processor obtaining a specification to fill an area enclosed by a boundary line; selecting a neighboring area adjacent to the specified area; and determining whether or not to fill the neighboring area according to the relationship between the specified area and the neighboring area. (2) The information processing method according to (1), wherein the neighboring area is a different area from the specified area, and the neighboring area and the specified area are areas in which one pixel contained in each area is connected to each other in eight connections vertically, horizontally, and diagonally. (3) The information processing method according to (1) or (2), wherein the processor uses a pixel that is the starting point for the process of filling with a specified color as the starting pixel, and processes pixels connected in four directions vertically and horizontally to fill with the specified color. (4) The information processing method according to (3), wherein the processor fills the color of the starting pixel with the specified color, searches for a pixel that is connected to the starting pixel in a 4-way link and is the same color as the starting pixel before filling, and fills that pixel with the specified color. (5) The information processing method according to any one of (1) to (4), wherein the processor determines to perform filling on the adjacent region as well if the relationship between the specified region and the adjacent region satisfies predetermined conditions. (6) The information processing method according to any one of (1) to (5), wherein the processor calculates the extent information of the adjacent region, or calculates the extent information of the adjacent region and the extent information of the specified region, and determines whether or not to perform filling based on at least one of the extent information of the adjacent region and the extent information of the specified region. (7) The information processing method according to (5) or (6), wherein the predetermined conditions are that the extent information of the adjacent region does not exceed a certain value and does not wrap around to the specified region. (8) The information processing method according to (1), wherein the boundary line includes a main line and a color tracing line that is filled with a specified color together with the specified area in accordance with the specification of filling with the specified area.(9) The information processing method according to (8), wherein the processor fills in the color tracing lines that form the designated area, and further includes color tracing lines connected to the color tracing lines as targets for filling. (10) The information processing method according to (8) or (9), wherein the processor determines that the area located on the same side as the designated area with respect to the color tracing line is the adjacent area and fills it with the designated color. (11) The information processing method according to any one of (8) to (10), wherein the processor determines whether a target pixel connected in four directions to a filled-in pixel included in the filled color tracing line is inside or outside the color tracing line, and adds the target pixel determined to be inside to the fill candidate pixel DB. (12) The information processing method according to any one of (1) to (11), wherein the processor, in response to a specification of filling with inclusion in the specified area, detects the intersection of a plurality of color tracing lines forming the specified area when filling the specified area with the specified color, and performs a process of filling up to the intersection with the specified color when filling the plurality of color tracing lines. (13) The information processing method according to any one of (1) to (12), wherein the processor, based on information of a filled pseudo-color tracing line that is in contact with a filled portion of another specified area, determines that the area located on the same side as the other specified area with respect to the pseudo-color tracing line is the adjacent area, and determines to fill it with the specified color of the other specified area. (14) A program that causes a computer to function as: an acquisition unit that acquires a fill designation for an area enclosed by a boundary line; a selection processing unit that selects adjacent areas adjacent to the designated area; and a determination processing unit that determines whether or not to perform fill on the adjacent areas according to the relationship between the designated area and the adjacent areas. (15) An information processing system having: an acquisition unit that acquires a fill designation for an area enclosed by a boundary line; a selection processing unit that selects adjacent areas adjacent to the designated area; and a determination processing unit that determines whether or not to perform fill on the adjacent areas according to the relationship between the designated area and the adjacent areas.
[0153] 10 (10A, 10B, 10C) Information Processing Device 110 Communication Unit 120 Operation Input Unit 130 Control Unit 131 Input Data Acquisition Unit 132 Standard Fill Processing Unit 133 Fill Extension Processing Unit 134, 134X, 134Y Inclusion Fill Processing Unit 1341 Inclusion Fill Pixel Candidate Selection Unit 1342 Inclusion Fill Execution Unit 1343 Surrounding Area Fill Extension Processing Unit 1344 Inclusion Fill Extension Processing Unit 1345 Intersection Detection Unit 1351 First Fill Processing Unit 1352 Adjacent Pixel Detection Unit 1353 Second Fill Processing Unit 1354 Duplicate Pixel Exclusion Unit 140 Display Unit 150 Storage Unit 151 Filled Pixel DB 152 Proximity Information DB 153 Fill Extension Target DB 154 Pixel DB for Pixels to be Filled (155) Pixel DB for Pixels that have been filled (156) Pixel DB for Pixels to be Filled in Surrounding Area (157) Adjacent Pixel Information DB for Pixels to be Filled (158) Intersecting Pixel DB (160) Newly Filled Pixel DB (161) Adjacent Pixel DB (162) Pixel DB for Pixels to be Filled
Claims
1. An information processing method comprising: a processor obtaining a specification to fill an area enclosed by a boundary line; selecting a neighboring area adjacent to the specified area; and determining whether or not to fill the neighboring area according to the relationship between the specified area and the neighboring area.
2. The information processing method according to claim 1, wherein the adjacent region is a region different from the designated region, and the adjacent region and the designated region are regions in which one pixel contained in each region is connected to each other in eight vertical, horizontal, and diagonal connections.
3. The information processing method according to claim 1, wherein the processor processes pixels connected in the four directions (vertical and horizontal) to fill with the specified color, starting from a pixel that is the starting point for the process of filling with the specified color.
4. The information processing method according to claim 3, wherein the processor fills the color of the starting pixel with the specified color, searches for pixels that are connected to the starting pixel in a four-way link and are the same color as the starting pixel before filling, and fills them with the specified color.
5. The information processing method according to claim 1, wherein the processor determines that if the relationship between the designated area and the adjacent area satisfies predetermined conditions, it will also perform filling on the adjacent area.
6. The information processing method according to claim 1, wherein the processor calculates the extent information of the adjacent area, or calculates the extent information of the adjacent area and the extent information of the designated area, and determines whether or not to perform filling based on at least one of the extent information of the adjacent area and the extent information of the designated area.
7. The information processing method according to claim 5, wherein the predetermined conditions are that the extent information of the adjacent area does not exceed a certain value and does not wrap around the designated area.
8. The information processing method according to claim 1, wherein the boundary line includes a main line and a color tracing line that is filled with a specified color together with the specified area, in accordance with the specification of filling with inclusion of the specified area.
9. The information processing method according to claim 8, wherein the processor fills in the color tracing lines that form the designated area, and further fills in color tracing lines that are connected to the color tracing lines.
10. The information processing method according to claim 8, wherein the processor determines that the region located on the same side as the specified region with respect to the color tracing line is the adjacent region and fills it with the specified color.
11. The information processing method according to claim 8, wherein the processor determines whether a target pixel connected in four directions to a filled pixel included in the filled color tracing line is inside or outside the color tracing line, and adds the target pixel determined to be inside to the fill candidate pixel DB.
12. The information processing method according to claim 1, wherein, in response to a specification of filling the specified area with a specified color, the processor detects the intersection of a plurality of color tracing lines forming the specified area, and performs a process of filling up to the intersection with the specified color when filling the plurality of color tracing lines with a specified color.
13. The information processing method according to claim 1, wherein the processor determines, based on information of a filled pseudo-color tracing line that is in contact with a filled portion of another designated area, that an area located on the same side as the other designated area with respect to the pseudo-color tracing line is the adjacent area, and that this area is filled with the designated color of the other designated area.
14. A program that causes a computer to function as: an acquisition unit that acquires a specification to fill in an area enclosed by a boundary line; a selection processing unit that selects adjacent areas adjacent to the specified area; and a determination processing unit that determines whether or not to fill in the adjacent areas according to the relationship between the specified area and the adjacent areas.
15. An information processing system comprising: an acquisition unit that acquires a specification to fill in an area enclosed by a boundary line; a selection processing unit that selects a neighboring area adjacent to the specified area; and a determination processing unit that determines whether or not to fill in the neighboring area according to the relationship between the specified area and the neighboring area.
Citation Information
Patent Citations
Picture processing method and picture processor
JP1994068270A
Method and device for image processing and recording medium with recorded image processing program
JP2001250104A
Coloring method and program for line drawing
JP2010009277A
Method and program for coloring line drawing
JP2010020458A