Abstract:
In an original image, an area whose brightness is smaller than a predetermined value is detected as an ink line area, and a neighboring area of the ink line area, which surrounds the ink line area, is detected as a neighboring area. Furthermore, with respect to an area other than the ink line area and the neighboring area in the original image, an outline portion of an image is detected as an outline area. A color is applied to the ink line area and the outline area, and a different color is applied to an area other than the above two types of area.

Description:
BACKGROUND OF THE INVENTION  
         [0001]    1. Field of the Invention  
           [0002]    The present invention relates to a line drawing image generating device, a storage medium, and a line drawing image generating method. More particularly, the present invention relates to a line drawing image generating device, a storage medium, and a line drawing image generating method for generating line drawing data based on original image data.  
           [0003]    2. Description of the Background Art  
           [0004]    Conventionally, there is a technique for extracting outlines of an original image by performing a predetermined process for original image data (for example, see Japanese Patent Gazette No. 2627744). In a typical outline extracting process, a brightness or color difference between a pixel to be processed and a pixel in a neighboring area (for example, 3×3 pixels) of the pixel to be processed is estimated, and the pixel to be processed is extracted as an outline if the brightness or color difference exceeds a predetermined value. The neighboring area of the pixel to be processed is extended (for example, 5×5 pixels), thereby thickening a width of an outline to be extracted and improving the continuity of the outline.  
           [0005]    By the above outline extracting process, line drawing data is generated from arbitrary image data, and a line drawing is displayed on a TV monitor based on the line drawing data. A user may paint the line drawing using a paint program.  
           [0006]    Now, in an image used in animation (referred to as an animation cel), an outline of a character is typically black (this black outline is referred to as an ink line), and patterns of the character&#39;s clothes and grasses in a background are not especially outlined in black (see FIG. 13). If a conventional outline extracting process is applied to the above image in which the outlines are partially thickened, outlines in a resultant line drawing vary widely in line width. However, a neighboring area of a pixel to be processed, which is referred to when a brightness or color difference is estimated, is extended in order to improve the continuity of the outline of the grasses in the background of the image shown in FIG. 13, for example, the outline of the character is unnecessarily thickened in a resultant line drawing as shown in FIG. 14. As a result, the image becomes artificial, which is a problem.  
         SUMMARY OF THE INVENTION  
         [0007]    Therefore, an object of the present invention is to provide a line drawing image generating device, a program, and a method which generate a natural line drawing from an image such as an image used in animation, for example, in which outlines are partially thickened, by performing an outline extracting process.  
           [0008]    The present invention has the following features to attain the object mentioned above (notes in parentheses indicate exemplary elements which can be found in the embodiments to follow, though such notes are not intended to limit the scope of the invention).  
           [0009]    The present invention is directed to a line drawing image generating device for generating line drawing data based on original image data (FIG. 13), comprising: ink line area detecting means (a CPU  36  executing step S 22 ); neighboring area detecting means (the CPU  36  executing step S 34 ); outline area detecting means (the CPU  36  executing step S 35 ); line drawing data storing means for storing the line drawing data ( 84 ); and color data writing means (the CPU  36  executing steps S 31  and S 37 ). The ink line area detecting means detects an area (a pixel for which determination (YES) is made at step S 22 ) whose brightness is smaller than a predetermined value (L) in an original image as an ink line area. The neighboring area detecting means detects a neighboring area (a pixel for which determination (YES) is made at step S 34 ) of the ink line area, which surrounds the ink line area. The outline area detecting means detects an outline portion (a pixel for which determination (YES) is made at step S 36 ) of an image as an outline area, with respect to an area (a pixel for which determination (NO) is made at step S 34 ) other than the ink line area and the neighboring area in the original image. The color data writing means writes color data (black) to a storage area (a pixel for which determination (YES) is made at step S 32  and a pixel for which determination (YES) is made at step S 36 ) of the line drawing data storing means, which corresponds to the ink line area and the outline area, and writes different color data (white) to a storage area of the line drawing data storing means, which corresponds to an area other than the ink line area and the outline area.  
           [0010]    In the case where the original image contains a plurality of pixels (640×480 pixels), the ink line area is included in a predetermined area (3×3 pixels) surrounding a pixel to be processed in the original image, and if the pixel to be processed is not included in the ink line area, the neighboring area detecting means may detect the pixel to be processed as the neighboring area.  
           [0011]    Also, the ink line area detecting means may detect, as the ink line area, a portion of an area where brightness is smaller than a predetermined value (L), such that the portion lies near the outline of the area.  
           [0012]    Furthermore, in the case where the original image contains a plurality of pixels (640×480 pixels), and an area other than the ink line area is included in a predetermined area (3×3 pixels) surrounding a pixel to be processed included in an area whose brightness is smaller than a predetermined value (L), the ink line area detecting means may detect the pixel to be processed as the ink line area.  
           [0013]    Still further, the line drawing image generating device may further comprise still image data extracting means (the CPU  36  executing step S 11 ) for extracting arbitrary still image data from moving image data, and use the still image data, which is extracted by the still image data extracting means, as the original image data (FIG. 13) for generating the line drawing data.  
           [0014]    A storage medium of the present invention is directed to a computer readable storage medium ( 18 ) storing a line drawing image generating program for generating line drawing data based on original image data (FIG. 13). The line drawing image generating program causes a computer ( 36 ) to execute: an ink line area detecting step (S 22 ); a neighboring area detecting step (S 34 ); an outline area detecting step (S 35 ); and a color data writing step (S 31 , S 37 ). The ink line area detecting step detects an area (a pixel for which determination (YES) is made at step S 22 ) whose brightness is smaller than a predetermined value (L) in an original image as an ink line area. The neighboring area detecting step detects a neighboring area (a pixel for which determination (YES) is made at step S 34 ) of the ink line area, which surrounds the ink line area. The outline area detecting step detects an outline portion (a pixel for which determination (YES) is made at step S 36 ) of an image as an outline area with respect to an area (a pixel for which determination (NO) is made at step S 34 ) other than the ink line area and the neighboring area in the original image. The color data writing step writes color data (black) to a storage area (a pixel for which determination (YES) is made at step S 32  and a pixel for which determination (YES) is made at step S 36 ) of line drawing data storing means ( 84 ) for storing the line drawing data, which corresponds to the ink line area and the outline area, and writes different color data (white) to a storage area of the line drawing data storing means ( 84 ), which corresponds to an area other than the ink line area and the outline area.  
           [0015]    A line drawing image generating method of the present invention generates line drawing data based on original image data (FIG. 13), comprising: an ink line area detecting step (S 22 ); a neighboring area detecting step (S 34 ); an outline area detecting step (S 35 ); and a color data writing step (S 31 , S 37 ). The ink line area detecting step detects an area (a pixel for which determination (YES) is made at step S 22 ) whose brightness is smaller than a predetermined value (L) in an original image as an ink line area. The neighboring area detecting step detects a neighboring area (a pixel for which determination (YES) is made at step S 34 ) of the ink line area, which surrounds the ink line area. The outline area detecting step detects an outline portion (a pixel for which determination (YES) is made at step S 36 ) of an image as an outline area with respect to an area (a pixel for which determination (NO) is made at step S 34 ) other than the ink line area and the neighboring area in the original image. The color data writing step writes colordata (black) to a storage area (a pixel for which determination (YES) is made at step S 32  and a pixel for which determination (YES) is made at step S 36 ) of line drawing data storing means ( 84 ) for storing the line drawing data, which corresponds to the ink line area and the outline area, and writes different color data (white) to a storage area of the line drawing data storing means ( 84 ), which corresponds to an area other than the ink line area and the outline area.  
           [0016]    As such, the present invention enables a natural line drawing to be generated from an image such as an image used in animation, for example, in which outlines are partially thickened, by performing an outline extracting process.  
           [0017]    These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings. 
       
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0018]    [0018]FIG. 1 is an external view of a game system according to an embodiment of the present invention;  
         [0019]    [0019]FIG. 2 is a block diagram showing the structure of a main unit;  
         [0020]    [0020]FIG. 3 is an illustration showing a memory map of a main memory;  
         [0021]    [0021]FIG. 4 is a flowchart showing an operation of a CPU  36 ;  
         [0022]    [0022]FIG. 5 is a portion of a flowchart showing a line drawing generating process;  
         [0023]    [0023]FIG. 6 is a portion of a flowchart showing a line drawing generating process;  
         [0024]    [0024]FIG. 7 is an illustration showing exemplary image data to be finally stored in an ink line storing buffer;  
         [0025]    [0025]FIG. 8 is an illustration for describing an outline extracting algorithm;  
         [0026]    [0026]FIG. 9 is an illustration showing exemplary line drawing data to be finally stored in a line drawing storing buffer;  
         [0027]    [0027]FIG. 10 is a flowchart showing a process of a variant of the embodiment of the present invention;  
         [0028]    [0028]FIG. 11 is an illustration showing exemplary image data to be finally stored in an additional buffer;  
         [0029]    [0029]FIG. 12 is an illustration showing exemplary line drawing data to be finally stored in the line drawing storing buffer in the variant of the embodiment;  
         [0030]    [0030]FIG. 13 is an illustration showing an exemplary original image; and  
         [0031]    [0031]FIG. 14 is an illustration showing a line drawing generated by a conventional outline extracting process. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0032]    Hereinafter, a game system according to an embodiment of the present invention will be described.  
         [0033]    [0033]FIG. 1 is an external view of a game system according to the embodiment of the present invention, and FIG. 2 is a block diagram of the above game system. As shown in FIGS. 1 and 2, a game system  10  includes a main body  12 , a DVD-ROM  18 , an external memory card  30 , a controller  22 , a loudspeaker  34   a , and a TV monitor  34 . The DVD-ROM  18  and the external memory card  30  are removably mounted on and inserted into the main body  12 , respectively. The controller  22  is connected to any one of a plurality of controller port connectors (in FIG. 1, four controller port connectors) of the main body  12 , via a communication cable. The TV monitor  34  and the loudspeaker  34   a  are connected to the main body  12  by an AV cable, etc. Note that the main body  12  may perform radio communications with the controller  22 . Hereinafter, each component of the game system  10  will be described in details.  
         [0034]    The DVD-ROM  18 , which fixedly stores a game program and moving image data, etc., is mounted on the main body  12  when a player plays a game. Note that an arbitrary computer readable storage medium such as a CD-ROM, a MO, a memory card, and a ROM cartridge, etc., may be used in place of the DVD-ROM  18  in order to store the game program, etc.  
         [0035]    The external memory card  30  is a rewritable storage medium such as a flash memory, for example, and stores data such as saving data in the game.  
         [0036]    The main body  12  reads the game program and the moving image data stored in the DVD-ROM  18 , and performs a game process.  
         [0037]    The controller  22  is an input device by which the player performs an input about a game operation, and includes a plurality of operation switches. The controller  22  outputs operation data to the main body  12  when the player presses the operation switches, for example.  
         [0038]    The TV monitor  34  displays the image data output from the main body  12  on a screen. Note that the loudspeaker  34   a , which is typically built in the TV monitor  34 , outputs a sound of the game output from the main body  12 .  
         [0039]    Next, the structure of the main body  12  will be described. In FIG. 2, the main body  12  includes a CPU  36  and a memory controller  38 , which is connected to the CPU  36 . Furthermore, in the main body  12 , the memory controller  38  is connected to a graphics processing unit (GPU)  42 , a main memory  40 , a DSP  44 , and various interfaces (I/F)  48  to  56 . The memory controller  38  controls data transfer between the above components.  
         [0040]    When the game is started, a disk drive  16  drives the DVD-ROM  18  mounted on the main body  12 . The game program stored in the DVD-ROM  18  is read by the main memory  40  via the disk I/F  56  and the memory controller  38 . The CPU  36  executes the program in the main memory  40 , and starts the game. After the game is started, the player uses the operation switches for inputting game operations, etc., to the controller  22 . In accordance with the input from the player, the controller  22  outputs operation data to the main body  12 . The operation data output from the controller  22  is input to the CPU  36  via the controller I/F  48  and the memory controller  38 . The CPU  36  performs a game process in accordance with the input operation data. The GPU  42  and the DSP  44  are used for generating image data, etc., in the game process. An ARAM (Audio-grade DRAM)  46  is used when the DSP  44  performs a predetermined process.  
         [0041]    The GPU  42  generates image data to be displayed on the TV monitor  34 , and outputs the image data to the TV monitor  34  via the memory controller  38  and the video I/F  50 . Note that sound data generated by the CPU  36  when the game program is executed is output from the memory controller  38  to the loudspeaker  34   a  via the audio I/F  54 .  
         [0042]    In FIG. 3, an illustration showing a memory map of the main memory  40  is shown. The main memory  40  includes a program storage area  58  for storing a program, and a data storage area  76  for storing data.  
         [0043]    The program storage area  58  stores a game main processing program  60 , a moving image reproducing program  62 , a still image capturing program  64 , a line drawing generating program  66 , and a paint program  74 , etc. These programs are read by the DVD-ROM  18 , if necessary, and stored in the main memory  40 . The line drawing generating program  66  includes an ink line detecting program  68 , an ink line neighboring area detecting program  70 , and an outline extracting program  72 .  
         [0044]    The data storage area  76  includes a moving image data storage area  78 , a display buffer  80 , an ink line image buffer  82 , and a line drawing storing buffer  84 , and further stores a paint program image data  86 , etc. The moving image data storage area  78  temporarily stores the moving image data read from a DVD-ROM. The paint program image data  86  is read from the DVD-ROM  18 , if necessary, and stored in the main memory  40 .  
         [0045]    Hereinafter, an operation of the game system  10  will be described.  
         [0046]    In the present embodiment, the player selects a moving image when the game is started, and a reproducing process is performed for the selected moving image. The player is allowed to extract a currently displayed image as a still image by operating the controller  22  at any given time during reproduction of the moving images. The still image is extracted, and a line drawing is generated from the extracted still image. Then, the player enjoys freely painting the generated line drawing on the TV monitor  34 .  
         [0047]    With reference to flowcharts shown in FIGS.  4  to  6 , a process performed by the CPU  36  of the present embodiment will be described.  
         [0048]    In FIG. 4, when the game process is started, the CPU  36  performs a moving image reproducing process based on the moving image reproducing program  62 . Specifically, the CPU  36  transfers image data of a predetermined frame, which is included in the moving image data stored in the DVD-ROM  18  (or temporarily stored in the moving image data storage area  78  after being read from the DVD-ROM  18 ) to the display buffer  80  (S 11 ), and outputs a video signal based on the image data, which is transferred to the display buffer  80 , to the TV monitor  34  (S 13 ). Then, the CPU  36  determines whether or not the moving image reproducing process is ended (S 14 ), and performs the same process for image data of a next frame if the moving image reproducing process is not ended. By repeating the process performed at step S 11  and step S 13 , moving images are reproduced on the screen of the TV monitor  34 . If the determination is made at step S 13  that the moving image reproducing process is ended, the game process is ended.  
         [0049]    Note that, during the moving image reproducing process, the CPU  36  monitors the input from the controller  22 , based on the still image capturing program  64  (S 12 ), and stops the moving image reproducing process if there is an input from the controller  22 . Then, the CPU  36  uses the still image data currently stored in the display buffer  80  as original image data, and starts a line drawing generating process based on the line drawing generating program  66  (S 15 ). The details of the line drawing generating process will be described below.  
         [0050]    As a result of the line drawing generating process, line drawing data is stored in the line drawing storing buffer  84 . The CPU  36  transfers the line drawing data to the display buffer  80  (S 16 ), and outputs a video signal based on the line drawing data, which is transferred to the display buffer  80 , to the TV monitor  34  (S 17 ). The CPU  36  executes a line drawing painting process by the paint program utilizing the line drawing data (S 18 ), and ends the game.  
         [0051]    Next, with reference to FIGS. 5 and 6, the details of the line drawing generating process at step S 15  will be described.  
         [0052]    In FIG. 5, when the line drawing generating process is started, a process for detecting an ink line area (an area with a low brightness, such as an ink line of an animation cel) in an original image is performed first based on the ink line detecting program  68 . Specifically, the CPU  36  clears the ink line image buffer  82  (writes white to all pixels), and sets  1  to X and Y (coordinates f or specifying a pixel to be processed), respectively, as an initial value, and sets  10  as a threshold value of a brightness used for determination of an ink line area (S 21 ). Note that, in this embodiment, it is assumed that a brightness of each pixel of image data is defined within a range from 0 to 255. The threshold value L, which is not limited to 10, is set to an optimum value.  
         [0053]    The CPU  36  determines whether or not a brightness of the pixel (X, Y) to be processed in the original image is equal to or smaller than L, based on the original image data stored in the display buffer  80  (S 22 ). If the determination is made that the brightness is equal to or smaller than L, the CPU  36  writes black to a storage area corresponding to a pixel (X, Y) of the ink line image buffer  82  (S 23 ), and proceeds to step S 24 . On the other hand, if the brightness is greater than L, the CPU  36  directly proceeds to step S 24 .  
         [0054]    The CPU  36  increments X at step S 24 , and determines at step S 25  whether or not X is smaller than  640 . Note that, in this embodiment, it is assumed that the size of image data to be processed is 640×480 pixels. If the determination is made that X is equal to or smaller than  640 , the CPU  36  goes back to step S 22 . If the determination is made that X is greater than  640 , the CPU  36  proceeds to step S 26 . At step S 26 , the CPU  36  determines whether or not Y is  480 . If the determination is made that Y is not  480 , the CPU  36  increments Y at step S 27 , sets  1  to X, and goes back to step S 22 . On the other hand, if Y is  480 , the CPU  36  proceeds to step S 31  of FIG. 6. By the process performed at steps S 24  to S 27 , the pixel to be processed is sequentially shifted, which is just like scanning a scanning line, and all pixels are finally processed.  
         [0055]    As a result of the above process from steps S 21  to S 27 , in the ink line image buffer  82 , black is written to the pixels corresponding to the ink line area (area with a low brightness) of the original image, and white is written to the remaining pixels, as shown in FIG. 7.  
         [0056]    In FIG. 6, the CPU  36  first clears the line drawing storing buffer  84  (writes white to all pixels), and sets  1  to X and Y (coordinates for specifying a pixel to be processed), respectively, as an initial value (S 31 ). Then, the CPU  36  determines whether or not the pixel (X, Y) to be processed is black in the ink line image buffer  82  (that is, whether or not the pixel to be processed is included in the ink line area) (S 32 ). If the determination is made that the pixel to be processed is black, the CPU  36  writes black to a pixel (X, Y) of the line drawing storing buffer  84  at step S 37 , and proceeds to step S 38 . On the other hand, if the pixel to be processed is not black, the CPU  36  proceeds to step S 33 .  
         [0057]    The CPU  36  determines at step S 33  whether or not X is between or equal to  2  and  639 , and Y is between or equal to  2  and  479 . If the determination is made that X is between or equal to  2  and  639 , and Y is between or equal to  2  and  479 , the CPU  36  proceeds to step S 34 . On the other hand, if the determination is made that X is not between or equal to  2  and  639 , and Y is not between or equal to  2  and  479 , the CPU  36  proceeds to step S 38 . As a result, if the pixel to be processed is included in the pixels on the edge (upper or bottom edge, right or left edge) of the image data, a process to be performed in the following steps S 34  to S 36  is omitted.  
         [0058]    As step S 34 , the CPU  36  determines whether or not any of neighboring pixels of the pixel (X, Y) to be processed is black in the ink line image buffer  82  (that is, whether or not the pixel to be processed is in a vicinity of the ink line area), based on the ink line neighboring area detecting program  70 . Note that the neighboring pixels of the pixel (X, Y) to be processed are included in a predetermined area (in this embodiment, 3×3 pixels) surrounding the pixel to be processed. More specifically, the neighboring pixels of the pixel (X, Y) to be processed are the following eight pixels:(X−1, Y−1), (X, Y−1), (X+1, Y−1), (X−1, Y), (X+1, Y), (X−1, Y+1), (X, Y+1), (X+1, Y+1). If the determination is made that any of neighboring pixels of the pixel (X, Y) to be processed is black, the CPU  36  proceeds to step S 38 . On the other hand, if no neighboring pixels of the pixel (X, Y) to be processed are black, the CPU  36  proceeds to step S 35 . That is, an outline extracting process of step S 35 , which will be described below, is applied only to a pixel (X, Y) which is not included in the ink line area and its neighboring area.  
         [0059]    At step S 35 , the CPU  36  performs the outline extracting process for the pixel (X, Y) to be processed, which is a pixel of the display buffer  80 , based on the outline extracting program  72 . As the above outline extracting process, it is possible to use an arbitrary well-known outline extracting algorithm. In this embodiment, an outline extracting process using a Sobel operator, which is a type of differential operator, is performed as an example.  
         [0060]    As shown in FIG. 8 ( a ), the pixels in a predetermined area (3×3 pixels) surrounding the pixel to be processed are referred to as pixels A to I, respectively. Brightness values of the pixels A to I are referred to as L (A) to L (I), respectively. In the outline extracting process using the Sobel operator, these brightness values of the nine pixels are weighted by differential operators as shown in FIG. 8( b   1 ) and FIG. 8 ( b   2 ), and the weighted sum is obtained. Thus, a brightness value variation in a horizontal direction and a brightness value variation in a vertical direction are obtained as shown in FIGS.  8 ( c   1 ) and  8 ( c   2 ), respectively. A brightness variation vector is determined based on the above brightness value variations. That is, a horizontal component of the brightness variation vector corresponds to the brightness value variation in a horizontal direction, and a vertical component of the brightness variation vector corresponds to the brightness value variation in a vertical direction. An outline is a portion in which a brightness value fluctuates widely, whereby it is possible to extract the outline by extracting a portion whose magnitude of a brightness variation vector is greater than a predetermined threshold value. Note that it is possible to differently change the results of the outline extracting process, for example, by extending the range of applicability of the differential operator, or adjusting a threshold value used for estimating a magnitude of a brightness variation vector. For example, it is possible to improve the continuity of an outline to be extracted by reducing the threshold value used for estimating a magnitude of a brightness variation vector. However, if the threshold value used for estimating a magnitude of a brightness variation vector is reduced in a conventional outline extracting process, ink line portions are unnecessarily thickened as shown in FIG. 14.  
         [0061]    At step S 36 , the CPU  36  determines whether or not the pixel (X, Y) to be processed is included in the outline portion, based on the processing results at step S 35 . If the determination is made that the pixel (X, Y) to be processed is included in the outline portion, the CPU  36  writes black to a pixel (X, Y) of the line drawing storing buffer  84  at step S 37 , and proceeds to step S 38 . On the other hand, if the pixel (X, Y) to be processed is not included in the outline portion, the CPU  36  directly proceeds to step S 38 .  
         [0062]    The process performed at steps S 38  to S 41  is similar to the process performed at steps S 24  to S 27  shown in FIG. 5. The above process is performed for sequentially shifting the pixel to be processed. After the process performed at steps S 38  to S 41 , all pixels are processed, and the line drawing generating process is ended.  
         [0063]    As a result of the above line drawing generating process, in the line drawing storing buffer  84 , black is written to the pixels corresponding to the ink line area of the original image, and the pixels corresponding to the outline portion in an area other than the above ink line area and its neighboring area, and white is written to the remaining pixels as shown in FIG. 9. The line drawing data stored in the line drawing storing buffer  84  is used for a line drawing to which the player applies his/her desired colors. As such, according to the present embodiment, the outline extracting process is not performed for the pixels in the vicinity of the ink line area, thereby preventing the ink line portion in the line drawing from being thickened compared to the original image. Thus, in the case where the results of the outline extracting process at step S 35  are changed in order to improve the continuity of the outlines of the grasses in the background and the outlines of the patterns of the character&#39;s clothes, the ink line portion is not thickened accordingly. As a result, as shown in FIG. 9, it is possible to obtain a natural line drawing whose outline continues smoothly.  
         [0064]    Note that, the line drawing shown in FIG. 9 includes black areas other than the outline, for example, the character&#39;s pupils and shadows on the forehead, and the player may desire to freely paint these areas. Thus, hereinafter, a method for generating a line drawing which enables the player to freely paint these areas will be described.  
         [0065]    In this case, a new buffer (hereinafter, referred to as an additional buffer) is added to the data storage area  76  of the main memory  40 , and a process shown in FIG. 10 is added between step S 26  shown in FIG. 5 and step S 31  shown in FIG. 6. That is, the CPU  36  first copies the data of the ink line image buffer  82  to the additional buffer, and sets  1  to X and Y (coordinates for specifying a pixel to be processed), respectively, as an initial value (S 51 ). Then, the CPU  36  determines whether or not all pixels in a neighboring area (in this case, an area of 5×5 pixels surrounding the pixel (X, Y) to be processed) are black in the ink line image buffer  82  (S 52 ). If the determination is made that all pixels in the neighboring area are black, the CPU  36  writes white to a pixel (X, Y) of the additional buffer at step S 53 , and proceeds to step S 54 . On the other hand, if all pixels in the neighboring area are not black, the CPU  36  directly proceeds to step S 54 . As a result, white is written to a pixel in the ink line area, such that the pixel lies away from the outline.  
         [0066]    The process from steps S 54  to S 57  is similar to the process from steps S 24  to S 27  of FIG. 5. The above process is performed for sequentially shifting the pixel to be processed. When all pixels are processed, the CPU  36  proceeds to step S 31  of FIG. 6. In the additional buffer, image data shown in FIG. 11 is stored. In the process after step S 31 , the additional buffer is referred to in place of the ink line image buffer  82 . As a result of the above line drawing generating process, line drawing data shown in FIG. 12 is stored in the line drawing storing buffer  84 . The player can enjoy freely painting the character&#39;s pupils and shadows on the forehead, for example, based on the line drawing data.  
         [0067]    Note that, in the present embodiment, a brightness value of the pixel to be processed is used for determining whether or not the pixel to be processed is in the ink line area, but the present inventions in not limited thereto. For example, values of R, G, and B of the pixel to be processed may be used for performing the above determination.  
         [0068]    Also, in the present embodiment, a predetermined process is performed by referring to an area of 3×3 pixels surrounding the pixel to be processed at steps S 34  and S 35 , but the present invention is not limited thereto. For example, an area of 5×5 pixels may be referred to. Also at step S 52 , a neighboring area is not limited to an area of 5×5 pixels.  
         [0069]    Furthermore, in the present embodiment, it is assumed that either white or black is written to each pixel of the line drawing storing buffer, but the present invention is not limited thereto. For example, red, blue, or brown may be written to each pixel of the line drawing storing buffer.  
         [0070]    While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention.