# Patent

## Title
Method, computer readable medium and apparatus for converting color image resolution

## Abstract

A method, computer readable medium and apparatus for converting color image resolution include inputting an image enlarging ratio, inputting target pixel data of an image in a first color space to be enlarged in a sequence, sampling reference pixels including the target pixel and pixels at least one of which links to the target pixel, and converting the reference pixel data into a second color space data. Other functions include extracting image feature quantities from the reference pixel data, selecting one of a plurality of pixel multiplying methods according to the extracted image feature quantities, multiplying the target pixel by the selected image multiplying method with an integer value based on the input image enlarging ratio, and outputting pixel data that have been generated by the target pixel multiplying step in a sequence.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to a method, computer readable medium and apparatus for converting color image resolution, and more particularly relates to a method, computer readable medium and apparatus for converting color image resolution to convert relatively low resolution color image having bi-level and multi-level pixel values into relatively high resolution color image.
2. Discussion of the Background
In general, a digital image displayed on a monitor screen, such as an image of an Internet web page, has relatively low image resolution, for example, 72 dots per inch (dpi). On the other hand, recent color image printers can print images with a relatively high image resolution such as 400 dpi, 600 dpi, 1200 dpi, etc., in comparison with such the monitor screen. In other words, a printed image can have more picture elements (pixels) than an image displayed on such the monitor screen per unit area. Therefore, when image data for displaying on a monitor screen is directly printed on a sheet of paper as a hardcopy by the color image printer, the size of the printed image becomes smaller than that on the monitor screen. To print a hardcopy with a preferable size by capitalizing on a high image resolution capability of those color image printers, a relatively low resolution image data is converted into a relatively high resolution image data.
As another example, an image taken by a digital still camera, one of scenes taken by a video camcorder, etc., may also have a low image resolution, and therefore such the images may also be converted into relatively high resolution image data. Then, an image printer can print the image substantially in a full of a paper size. A whole image on a monitor screen generally includes various categories of images, such as text and character strings, text and character strings having shadows, text and character strings processed by a so-called anti-aliening processing, photographs, illustrations, drawings, etc. Images are also categorized into bi-level data images such as ordinary text strings and multi-level data images such as continuous toned photographs.
As background art of the field, some Japanese Laid-Open Patent Publications describe methods and devices that convert a relatively low resolution image into a relatively high resolution image according to an image category, respectively. However, as appreciated by the present inventers, those Patent Publications do not disclose a method for converting an image resolution for an image structured by various types of images with reducing a jaggy image, a coloring and a blurring in a relatively short execution time of the conversion.
SUMMARY OF THE INVENTION
The present invention has been made in view of the above-discussed and other problems and to overcome the above-discussed and other problems associated with the background methods and apparatuses. Accordingly, one object of the present invention is to provide a novel method, computer readable medium and apparatus for converting color image resolution that can convert a relatively low resolution image into a relatively high resolution image with reducing a jaggy image at an image boundary including a continuous toned color image.
Another object of the present invention is to provide a novel method, computer readable medium and apparatus for converting color image resolution that can convert a relatively low resolution image into a relatively high resolution image in a relatively short time.
Still another object of the present invention is to provide a novel method, computer readable medium and apparatus for converting color image resolution that can convert a relatively low resolution image into a relatively high resolution image with reducing a coloring and a blurring at an image boundary.
To achieve these and other objects, the present invention provides a novel method, computer readable medium and apparatus for converting color image resolution include inputting an image enlarging ratio, inputting target pixel data of an image in a first color space to be enlarged in a sequence, sampling reference pixels including the target pixel and pixels at least one of which links to the target pixel, and converting the reference pixel data into a second color space data. Other functions include extracting image feature quantities from the reference pixel data, selecting one of a plurality of pixel multiplying methods according to the extracted image feature quantities, multiplying the target pixel by the selected image multiplying method with an integer value based on the input image enlarging ratio, and outputting pixel data that have been generated by the target pixel multiplying step in a sequence.



BRIEF DESCRIPTION OF THE DRAWINGS
A more complete appreciation of the present invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein:
FIG. 1 is a flowchart illustrating operational steps for practicing an exemplary color image resolution converting method according to the present invention;
FIG. 2 is a schematic illustration of an exemplary computer system for executing the color image resolution converting method of FIG. 1;
FIG. 3 is a schematic block diagram of the computer system of FIG. 2;
FIG. 4 is a graph illustrating a relationship between an input enlarging ratio ER and a multiplier MR;
FIG. 5 is a flowchart illustrating operational steps for determining the multiplier MR and a correction factor CF from the input image enlarging ratio ER;
FIG. 6 is an illustration of an exemplary distribution of input image pixels and a sampling template;
FIG. 7 is a flowchart illustrating operational steps for selecting a pixel multiplying method as an example according to the present invention;
FIG. 8 is a flowchart illustrating operational steps for selecting a pixel multiplying method as another example according to the present invention;
FIG. 9 is a flowchart illustrating operational steps for selecting a pixel multiplying method as a further example according to the present invention;
FIG. 10A and FIG. 10B are illustrations of examples of linking pixels;
FIG. 11 is a flowchart illustrating operational steps for practicing the pixel multiplying method 1 of FIG. 1 according to the present invention;
FIG. 12 is an illustration of input pixels and output pixels generated by the pixel multiplying method 1 of FIG. 11;
FIG. 13 is a flowchart illustrating operational steps for practicing the pixel multiplying method 2 of FIG. 1 according to the present invention;
FIG. 14 is an illustration of input pixels and output pixels generated by the pixel multiplying method 2 of FIG. 13;
FIG. 15A, FIG. 15B and FIG. 15C are illustrations of examples of luminance converting characteristics used in the pixel multiplying method 2 of FIG. 1;
FIG. 16 is a flowchart illustrating operational steps for converting an image luminance Y as another example practiced in the pixel multiplying method 2 of FIG. 1;
FIG. 17 is a flowchart illustrating operational steps for practicing the pixel multiplying method 3 of FIG. 1 according to the present invention;
FIG. 18A is an illustration of exemplary input reference pixel data;
FIG. 18B is an illustration of bi-level pixel data converted from the input pixel data of FIG. 18A;
FIG. 19 is an illustration of a table having pattern indexes, matching patters, embedding patterns and filling information;
FIG. 20A, FIG. 20B and FIG. 20C are illustrations for explaining embedding patterns filled with addressed pixel data;
FIG. 21A and FIG. 21B are illustrations for explaining output pixel patterns filled with data of a target pixel X;
FIG. 22 is an illustration of a divided area of a template;
FIG. 23 is an illustration of a divided area of a matching pattern;
FIG. 24 is an illustration of a table of divided area values and pattern indexes;
FIG. 25 is a flowchart illustrating operational steps for practicing another example of the pixel multiplying method 3 of FIG. 1 according to the present invention;
FIG. 26 is a flowchart illustrating operational steps for practicing still another example of the pixel multiplying method 3 of FIG. 1 according to the present invention;
FIG. 27 is a flowchart illustrating operational steps for practicing a further example of the pixel multiplying method 3 of FIG. 1 according to the present invention;
FIG. 28 is a flowchart illustrating operational steps for practicing the pixel multiplying method 4 of FIG. 1 according to the present invention;
FIG. 29A is an illustration of exemplary input pixel data;
FIG. 29B is an illustration of bi-level data converted from the input pixel data of FIG. 29A with a first threshold value TH1;
FIG. 29C is an illustration of bi-level data converted from the input pixel data of FIG. 29A with a second threshold value TH2;
FIG. 30A is an illustration of an embedding pattern determined in the pixel multiplying method 4 of FIG. 28 by using the first threshold value TH1;
FIG. 30B is an illustration of an embedding pattern determined in the pixel multiplying method 4 of FIG. 28 by using the second threshold value TH2;
FIG. 30C is an illustration of an output pixel pattern generated by merging the embedding patterns of FIG. 30A and FIG. 30B;
FIG. 31 is a flowchart illustrating operational steps of another example of the pixel multiplying method 4 of FIG. 1 according to the present invention;
FIG. 32A to FIG. 32F are illustrations for explaining an image enlarging ratio adjustment operation of FIG. 1;
FIG. 33 is a block diagram illustrating an exemplary color image resolution converting apparatus according to the present invention;
FIG. 34 is a block diagram illustrating the second enlarger of the color image resolution converting apparatus of FIG. 33;
FIG. 35 is a block diagram illustrating the third enlarger of the color image resolution converting apparatus of FIG. 33;
FIG. 36 is a block diagram illustrating another example of the third enlarger of the color image resolution converting apparatus of FIG. 33;
FIG. 37 is a block diagram illustrating the fourth enlarger of the color image resolution converting apparatus of FIG. 33;
FIG. 38 is a block diagram illustrating another exemplary color image resolution converting apparatus according to the present invention;
FIG. 39 is a block diagram illustrating the third enlarger of the color image resolution converting apparatus of FIG. 38;
FIG. 40 is a block diagram illustrating the fourth enlarger of the color image resolution converting apparatus of FIG. 38; and
FIG. 41 is a schematic view illustrating an image forming apparatus as an example configured according to the present invention.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, and more particularly to FIG. 1 thereof, is shown as an exemplary color image resolution converting method according to the present invention. The present exemplary method converts image resolution for various types of images, such as plain single color images like a background of text strings, full color images like photographs, binary text strings and drawings, anti-alias processed text strings and drawings, text strings and drawings having shadows, continuous toned text strings, continuous toned graphic images, half toned graphic images, etc.
In the present invention, a term image enlargement refers to multiplying or increasing the number of pixels in an input image, and thereby an image having a larger number of pixels is output. A term enlarging ratio or image enlarging ratio refers to a ratio of the number of pixels of an output image to the number of pixels of an input image in a horizontal direction, or a ratio of the number of pixels of the output image to the number of pixels of the input image in a vertical direction.
For example, an image on a 17-inch monitor screen having horizontally 1024 pixels and vertically 768 pixels may be printed on a letter size (11 inches by 8.5 inches) paper as a hardcopy, for example, by a 600 dpi color laser printer. In such the case, the letter size hardcopy can have horizontally 6600 pixels at most and vertically 5100 pixels at most. Therefore, a horizontal enlarging ratio ER can be 6.4453 (=6600/1024) at most and a vertical enlarging ratio ER can be 6.6406 (=5100/768) at most. In general, the horizontal enlarging ratio ER and the vertical enlarging ratio ER are desirable to be identical to avoid a distortion of the hardcopy image in many cases. Further, a white margin is often preferable at the circumference of the paper surrounding the hardcopy image. Therefore, as an example, the enlarging ratio ER 6.4 is preferred for outputting the hardcopy image.
The present image resolution converting method is also applied for converting an image resolution of a conventional monitor screen to an image resolution for a high definition monitor screen. In this case, the image enlarging ratio ER may be smaller than the above-described value for printing, such as a ratio 2.4. The present exemplary image resolution converting method includes four different types of pixel multiplying methods and an optional pixel adjustment method. The former four pixel multiplying methods multiply the number of pixels in an original image by an integer multiple number. The pixel adjustment method adjusts the pixels of multiplied image based on a fraction part of an input enlarging ratio ER. When an input enlargement ratio is defined by only an integer value, i.e., the fraction part of the input enlargement ratio is zero; the optional pixel adjustment operation is not needed.
Pixels constructing a page image data, such as a monitor screen data, a shot of a digital still camera, etc., are sequentially input by one pixel by the other pixel. Every input single pixel is categorized in one of four types of images. Then, the input pixel is adaptively multiplied by one of the four pixel multiplying methods according to the determined category. When all of the pixels of the page image data are processed by the above image categorizing step and adaptive pixel multiplying step, the image enlarging process, i.e., image resolution converting process for the page is completed.
Each of the four pixel multiplying methods is described as follows. Method 1 applies a uniform pixel multiplying method and is customized for plain single color images like a background image, graphic images except image boundaries and vicinities thereof, etc. Method 2 applies a bidirectional liner interpolation method for luminance data Y and is customized for full color images like photographs, continuous toned text strings, continuous toned graphic images, etc. Method 3 applies a patterned pixel embedding method and is customized for binary text strings and drawings, etc. Method 4 applies a multiple patterned pixel embedding method and is customized for anti-alias processed text strings and drawings, text strings and drawings having shadows, etc.
Referring to FIG. 1, initially, per step S11, an image enlarging ratio ER is input. In step S12, a multiplier MR and a correction factor CF are determined based on the input image enlarging ratio ER. The multiplier MR is an integer number, and the correction factor CF is a real number. In step S13, target pixel data of an original image, which is defined in a first color space, is input. As the first color space, for example, a red, green and blue color space may be used. The term target pixel refers to a pixel to be processed for the following image enlarging operation. In step S14, M×N reference pixels including the target pixel X are sampled. In step S15, the sampled M×N reference pixel data are converted into second color space data. As the second color space, for example, luminance data Y. color difference data I and Q may be used.
In step S16, image feature quantities or an amount of image characteristics is extracted from the sampled M×N pixel data. In step S17, one of the four pixel multiplying methods, which is described above, is selected according to the extracted image feature quantities. In step S18, the process branches to the selected pixel multiplying method, i.e., one of the method 1 to method 4.
In one of among the step S21 to step S24, the input target pixel X is multiplied by the multiplier MR squared by a respective pixel multiplying method. In step S25, the multiplied pixel data is tested whether a color conversion is needed. If YES, in step S26, the multiplied pixel data are optionally converted into another color space data. The another color space may be identical with the color space of the image data input in the step S13. In step S27, the correction factor CF, which is determined in the step S12, is tested whether of which value is zero. If NO, in step S28, an adjustment of the number of pixels based on the correction factor CF is executed. In step S29, the multiplied pixel data are output. In step S30, whether all pixels of the original image are multiplied is tested, and when NO, the process returns to step S13. This processing loop repeats times of the number of pixels contained in the original image data.
FIG. 2 is illustrated as an example of a computer system 100; and FIG. 3 is a schematic block diagram of the system 100 for executing a color image resolution converting method according to an example of the present invention. The computer system 100 implements the method of the present invention, wherein a computer housing 102 (FIG. 2) houses a motherboard 104 (FIG. 2) that contains a CPU 106, a second and a third optional CPUs 106B and 106C, a memory 108 (e.g., DRAM, ROM, EPROM, EEPROM, SRAM, SDRAM, and Flash RAM), a local bus 132 (FIG. 3). The motherboard 104 also contains a video control device 110 for controlling a monitor 120, a bus control device 130, a PCI bus 134 (FIG. 3), a SCSI control device 136, and a SCSI bus 138 (FIG. 3). The motherboard 104 further contains a serial data port 152, a parallel data port 154 and other optional purpose logic devices (e.g., ASICs) or configurable logic devices (e.g., GAL and reprogrammable FPGA).
A hard disk drive 112, which is changeable, a DVD drive 118, and a card adapter 146 are connected to the SCSI bus 138 (FIG. 3). The hard disk drive 112 and the DVD drive 118 are inserted along the arrows A1 and A2 (FIG. 2) inside the computer housing 102 in use. A mouse 164 is connected to a USB port 140, and an image scanner 166 connected to a USB port 142. A keyboard 122, a touch pad 124, a floppy disk drive 114, a LAN adapter 144, and a modem are connected to the PCI bus 134. Also connected to the SCSI bus 138, the USB ports 142 and 143, or another ports, the computer system 100 may additionally include a magneto-optical-disk drive, a tape drive, a compact disc reader/writer drive, and a printer. Further, the computer system 100 may be connected to a network system via the LAN adapter 144 or the modem 146.
As stated above, the system 100 includes at least one computer readable medium. Examples of computer readable medium are hard disks 112, DVD-ROM disks 180, DVD-RAM disks, compact disks, magneto-optical-disks, floppy disks 182, tape, PROMs (EPROM, EEPROM, Flash ROM), DRAM, SRAM, SDRAM, and etc. Stored on any one or on a combination of computer readable media, the present invention includes software for controlling both the hardware of the computer 100 and for enabling the computer 100 to interact with a human user. Such software may include, but is not limited to, device drivers, operating systems and user applications, such as development tools. Such computer readable media further includes the computer program product of the present invention for practicing the color image resolution conversion. The computer code devices of present invention can be any interpreted or executable code mechanism, including but not limited to scripts, interpreters, dynamic link libraries, Java classes, and complete executable programs.
Attention is now turned to each of the processing steps, which are described in more detail below. Referring back to FIG. 1, in step S11, the CPU 106 receives an enlarging ratio ER from, for example, the keyboard 122 of FIG. 2. In step S12, the CPU 106 determines a multiplier MR and a correction factor CF from the input enlarging ratio ER for enlarging the input original image by two steps. The CPU 106 first enlarges the input image using the multiplier MR in one among step S21 to step S24, and adjusts the firstly enlarged image according to the correction factor CF in step S28. The adjustment of an image in the step S28 is performed by an addition of a pixel to the firstly enlarged image pixels and a deletion of a pixel from the firstly enlarged image pixels.
FIG. 4 is a graph illustrating a relationship between an input enlarging ratio ER and the multiplier MR. The horizontal axis represents the input enlarging ratio ER and the vertical axis represents the multiplier MR. The enlarging ratio ER varies from a minimum ratio two to a maximum ratio ZMAX, as an example. The multiplier MR varies from two to ZM in stepwise. For example, when the input enlarging ratio ER is two or more than two and smaller than 2.5, the multiplier MR is determined as two. When the input enlarging ratio ER is 2.5 or more and smaller than 3.5, the multiplier MR is determined as three, and so on.
FIG. 5 is a flowchart illustrating operational steps for determining the multiplier MR and the correction factor CF from the input image enlarging ratio ER. In step S12-1, the CPU 106 tests whether the fraction part of the input enlarging ratio ER is equal to or larger than 0.5. If YES, the process proceeds to step S12-2; however, if NO, the process branches to step S12-3. In step S12-2, the CPU 106 calculates the integer part of the input enlarging ratio ER+1 as the multiplier MR. In the step S12-3, the CPU 106 extracts the integer part from the input enlarging ratio ER as the multiplier MR. In step S12-4, the CPU 106 calculates a quotient of the input enlarging ratio ER divided by the multiplier MR obtained in the step S12-2 or the step S12-3 as the correction factor CF.
Referring back to FIG. 1, in step S13, the CPU 106 receives target pixel data, which is defined in a first color space. In this example, a red, green and blue color space is used as the first color space. The CPU 106 sequentially receives the target pixel data from an original image data file in an internal storage device, such as the hard disk drive 112, the DVD device 118, etc., one after the other. The CPU 106 may also receive the target pixel data from an external device, such as an Internet web server via an external communication device, such as the LAN adapter 144, the modem 146, etc.
In step S14, the CPU 106 samples M×N reference pixels (horizontally M pixels and vertically N pixels) including the target pixel X. The sampled reference pixels may be temporarily stored, for example, in the memory 108, the hard disk drive 112, etc.
FIG. 6 is an illustration of an exemplary distribution of input image pixels and a sampling template. Referring to FIG. 6, the input image denoted as IMG is structured by horizontally K pixels and vertically J pixels, i.e., totally K×J pixels. Each of the pixels is denoted as P11, P12, P13, P14, to PJK, respectively. The target pixel X is denoted as X, and the sampling template is illustrated with thick lines and denoted as TEMP. In this example, the sampling template TEMP can sample 25 reference pixels, which are denoted as R11, R12, R13, to R55 including the target pixel X. The sampling template TEMP may be replaced with other types of templates, such as a template having horizontally 3 pixels and vertically 3 pixels, i.e., totally 9 reference pixels, a template having horizontally 8 pixels and vertically 6 pixels, i.e., totally 48 reference pixels, etc.
As described above, the input pixel data is defined in the first color space, i.e., the red, green and blue color space, and each of the red data, green data and blue data has 8 bits color density information, in other words, each of the red data, green data and blue data has 256 different color density value.
Referring back to FIG. 1, in step S15, the CPU 106 converts the sampled M×N reference pixel data in the first color space into a second color space data having a luminance component and color components, such as the National Television System Committee (NTSC) format data. The NTSC format includes luminance data Y and color difference data I and Q. The CPU 106 may achieve the color space conversion from the first color space into the second color space by calculating the following equations.

Y=a00×R+a01×G+a02×B 

I=a10×R+a11×G+a12×B 

Q=a20×R+a21×G+a22×B 

Where, coefficients a00, a01, a02, a10, a11, a12, a20, a21, and a22 are referred as color space conversion coefficients. As a numeric example, the following coefficients may be used.

Y=0.30R+0.59G+0.11B 

I=0.60R+0.28G+0.32B 

Q=0.21R+0.52G+0.31B 

The CPU 106 may convert the sampled M×N reference pixel data into also another type of color spaces, for example, Y, U and V data of the Phase Alternation by Line (PAL) television system, L*, a* and b* of the CIELAB color space system, L*, u* and v* of the CIELUV color space system, X, Y and Z of the XYZ color space system, HSV color model, HLS color model, etc. As an example, A. Imamiya describes a method of color conversion from the red, green and blue color space into the HSV color model, HLS color model, PAL system, YIQ system, etc., in Computer Graphics issued in Japan on Jul. 15, 1984 on pages 622-629.
In step S16, the CPU 106 extracts image feature quantities or an amount of image characteristics from the sampled M×N reference pixel data. In this example, as the image feature quantities, the CPU 106 extracts such as the number of colors in the reference pixels, the number of hues of the reference pixels, similarity of hues among the reference pixels, and linking information among the reference pixels.
In step S17, the CPU 106 selects one of the plural pixel multiplying methods, i.e., the pixel multiplying method 1 through pixel multiplying method 4, according to the extracted image feature quantities for multiplying the target pixel X. FIG. 7 is a flowchart illustrating operational steps for selecting one of the pixel multiplying methods.
With reference to FIG. 7, in step S17-1, the CPU 106 checks whether the number of colors of the reference pixels is one. If YES, the process branches to step S17-2 to select MULTIPLYING METHOD 1, and if NO, the process proceeds to step S17-3. In step S17-3, the CPU 106 checks whether the number of colors of the reference pixels is two. If YES, the process branches to step S17-4 to select MULTIPLYING METHOD 3, and if NO, the process proceeds to step S17-5. In step S17-5, the CPU 106 checks whether the number of the colors of the reference pixels is three. If YES, the process branches to step S17-6 to select MULTIPLYING METHOD 4, and if NO, the process proceeds to step S17-7. In step S17-7, the CPU 106 selects MULTIPLYING METHOD 2.
FIG. 8 is a flowchart illustrating operational steps for selecting a pixel multiplying method as another example according to the present invention. With reference to FIG. 8, in step S17-11, the CPU 106 checks whether the number of colors of the reference pixels is one. If YES, the process branches to step S17-12 to select MULTIPLYING METHOD 1, and if NO, the process proceeds to step S17-13. In step S17-13, the CPU 106 checks whether the number of colors of the reference pixels is two. If YES, the process branches to step S17-14 to select MULTIPLYING METHOD 3, and if NO, the process proceeds to step S17-15. In step S17-15, the CPU 106 checks whether the number of colors of the reference pixels is three. If YES, the process branches to step S17-16, and if NO, the process proceeds to step S17-19. In step S17-16, the CPU 106 checks whether the hues of the reference pixels are similar. If NO, the process branches to step S17-17, and if YES, the process proceeds to step S17-18. In step S17-17, the CPU 106 selects MULTIPLYING METHOD 3, and in step S17-18, the CPU 106 selects MULTIPLYING METHOD 2.
In step S17-19, the CPU 106 checks whether the number of colors of the reference pixels is four. If YES, the process branches to step S17-20, and if NO, the process proceeds to step S17-22. In step S17-20, the CPU 106 checks whether the hues of the reference pixels are similar. If NO, the process branches to step S17-21, and if YES, the process proceeds to step S17-22. In step S17-21, the CPU 106 selects MULTIPLYING METHOD 3, and in step S17-22, the CPU 106 selects MULTIPLYING METHOD 2.
FIG. 9 is a flowchart illustrating operational steps for selecting a pixel multiplying method as a further example according to the present invention. With reference to FIG. 9, in step S17-31, the CPU 106 checks whether the number of colors of the reference pixels is one. If YES, the process branches to step S17-32 to select MULTIPLYING METHOD 1, and if NO, the process proceeds to step S17-33. In step S17-33, the CPU 106 checks whether the number of colors of the reference pixels is two. If YES, the process branches to step S17-34 to select MULTIPLYING METHOD 3, and if NO, the process proceeds to step S17-35. In step S17-35, the CPU 106 checks whether the number of colors of the reference pixels is three. If YES, the process branches to step S17-36, and if NO, the process proceeds to step S17-41.
In step S17-36, the CPU 106 checks whether the hues of the reference pixels are similar. If NO, the process branches to step S17-37 to select MULTIPLYING METHOD 3, and if YES, the process proceeds to step S17-38. In step S17-38, the CPU 106 checks whether there are linked pixels. If YES, the process branches to step S17-39, and if NO, the process proceeds to step S17-40.
FIG. 10A and FIG. 10B are illustrations of examples of linking pixels. In FIG. 10A, reference pixels R15, R25, R35, R45 and R55, which are shaded, are linking pixels. In FIG. 10B, the target pixel X and reference pixels R43 and R44, which are also shaded, are linking pixels.
Referring back to FIG. 9, in step S17-39, the CPU 106 selects MULTIPLYING METHOD 4, and in step S17-40, the CPU 106 selects MULTIPLYING METHOD 2. In step S17-41, the CPU 106 checks whether the number of colors of the reference pixels is four. If YES, the process branches to step S17-42, and if NO, the process proceeds to step S17-44. In step S17-42, the CPU 106 checks whether the hues of the reference pixels are similar. If NO, the process branches to step S17-43, and if YES, the process proceeds to step S17-44. In step S17-43, the CPU 106 selects MULTIPLYING METHOD 3, and in step S17-44, the CPU 106 selects MULTIPLYING METHOD 2.
Referring back to FIG. 1, in step S18, the CPU 106 transfer the control to the selected multiplying method, i.e., one of the method 1 to method 4.
FIG. 11 is a flowchart illustrating operational steps for practicing the pixel multiplying method 1 of FIG. 1 (step S21 of FIG. 1). Referring to FIG. 11, in step S21-1, the CPU 106 multiplies the target pixel red component by the multiplier MR squared. Similarly, the CPU 106 multiplies the target pixel green component in step S21-2 and multiplies the target pixel blue component in step S21-3.
FIG. 12 is an illustration of input pixels and output pixels generated by the pixel multiplying method 1 of FIG. 11, when the multiplier MR is three. In FIG. 12, a target pixel X has red, green and blue components, each of which are denoted as XR, XG and XB. The target pixel X is multiplied by the multiplier MR times, i.e., three times, in a horizontal direction, and also multiplied by the multiplier MR times a vertical direction. Thus, the nine output pixels are obtained. In this pixel multiplying method, each of the output pixels is identical with the target pixel X, i.e., each of the output pixels has substantially the same red, green and blue components to those of the target pixel X.
FIG. 13 is a flowchart illustrating operational steps for practicing the pixel multiplying method 2 of FIG. 1 (step S22 of FIG. 1). Referring to FIG. 13, in step S22-1, the CPU 106 generates the multiplier MR squared pixels. As an example, when the multiplier MR is 4, then the CPU 106 generates 16 pixels. In step S22-2, the CPU 106 generates coefficients for a bi-directional liner interpolating operation of luminance values of the generated pixels. In step S22-3, the CPU 106 determines the luminance values of the generated pixels by the bi-directional liner interpolation method.
FIG. 14 is an illustration of the input target pixel X surrounded by the reference pixels and output pixels generated by the pixel multiplying method 2 of FIG. 13. In FIG. 13, the target pixel X is donated as X, the reference pixels are denoted as R11 to R55. The pixels R22, R23, R24, R32, R34, R42, R43 and R44, which are enclosed by a thick rectangle line, are referred to for determining luminance values of the generated pixels. As an example, when the multiplier MR is four, the CPU generates 16 pixels, which are referred as P00, P01, P02, P03, P10, P11, P12, P13, P20, P21, P22, P23, P30, P31, P32 and P33. Each of the luminance value Y of the generated pixels is determined as a sum of a plurality of products of one of the coefficients generated in step S22-2 of FIG. 13 and the luminance value Y of a neighboring reference pixel. The value of a coefficient is proportional to the proximity of a neighboring reference pixel from the output pixel, or counter proportional to the distance between the neighboring reference pixel and the output pixel.
As an example, for determining the luminance values of the output pixels P00, P01, P10 and P11, the CPU 106 refers to the luminance Y of reference pixels R22, R23 and R32, and the target pixel X. Similarly, for determining the output pixels P02, P03, P12 and P13, the CPU 106 refers to the reference pixels R23, R24 and R34, and the target pixel X, for determining the output pixels P20, P21, P30 and P31, the CPU 106 refers to the reference pixels R32, R42 and R43, and the target pixel X, for determining the output pixels P22, P23, P32 and P33, the CPU 106 refers to the reference pixels R34, R43 and R44, and the target pixel X.
For example, the CPU 106 determines the luminance Y of the output pixel P01 in step S22-3 of FIG. 13 as follows.

luminance Y of P01=C1×luminance Y of R22+C2×luminance Y of R23+C3×luminance Y of R32+C4×luminance Y of X. 

Where C1, C2, C3 and C4 are coefficients. As stated, each value of the coefficients C1, C2, C3 and C4 is counter proportional to a distance from the output pixel P11 to the reference pixel or the target pixel X to be multiplied. As stated, these coefficients and other coefficients are calculated in the step S22-2 of FIG. 13. These coefficients may be stored in, for example, the memory 108, the hard disk 112, etc., and the coefficient calculating step S22-2 for the following inputting target pixels can be skipped otherwise the multiplier MR changes.
Further, all coefficients for all values of multiplier MR may be preliminary calculated and stored in a storage device such as the hard disk 112, and therefore the coefficient calculating step S22-2 is omitted.
Thus the luminance value Y of each of the generated pixels is determined. As a method for determining the luminance Y of the generated pixels, a so-called bi-cubic interpolation method may also be used. Generally, the bi-cubic method achieves quality image as well as the bi-directional liner interpolation method, however the bi-cubic method may load the CPU 106 with a relatively heavy computing operation.
Referring back to FIG. 13, in step S22-4, the CPU 106 determines color differences I and Q of the generated pixels by duplicating the color differences I and Q of the target pixel X.
As stated above, luminance values of the generated pixels are determined by the bidirectional liner interpolation method, and color differences I and Q of the generated pixels are simply duplicated. Therefore, the enlarged image may seem good enough because human eyes have high sensitivity for luminance Y and low sensitivity for color, and the operation time is saved.
Referring back to FIG. 13, in steps S22-6 through S22-18, the CPU 106 performs an adaptive luminance conversion for the luminance Y obtained in the above described bi-directional liner interpolation process according to image feature quantities. As the image feature quantities, the CPU 106 uses a luminance range YR, which is defined as a difference between the maximum luminance value YMAX and the minimum luminance value YMIN among the generated pixels.
In step S22-6, the CPU 106 calculates the luminance range YR such that the maximum luminance value YMAX minus the minimum luminance value YMIN among the generated pixels. In STEP S22-7, the CPU 106 calculates a normalized luminance value YP1 for all the generated pixels P00 to P33 such that the normalized luminance value YP1=(YP−YMIN)/YR
Where, YP1 is a normalized luminance value of a pixel to be calculated, YP is the luminance value of the pixel, YMIN is the minimum luminance value among the generated pixels, and YR is the luminance range obtained by the above step. Therefore, the normalized luminance value ranges from value zero to value one.
In STEP S22-8, the CPU 106 tests whether the luminance range YR is smaller than a first threshold value TH1. The first threshold value TH1 may be predetermined based on an experiment. If YES, the process branches to step S22-9, and if NO, the process proceeds to step S22-10. In step S22-9, the CPU 106 determines a second luminance value YP2 as the same value as the normalized luminance YP1.
In STEP S22-10, the CPU 106 tests whether the luminance range YR is larger than a second threshold value TH2. The second threshold value TH2 may also be predetermined based on an experiment. If YES, the process branches to step S22-11, and if NO, the process proceeds to step S22-14. In STEP S22-11, the CPU 106 tests whether the normalized luminance value YP1 is smaller than 0.5. If YES, the process branches to step S22-12, and if NO, the process branches to step S22-13. In the step S22-12, the CPU 106 assigns a value zero to the second luminance value YP2, and in the step S22-13, the CPU 106 assigns a value one to the second luminance value YP2.
In step S22-14 the CPU 106 tests whether the normalized luminance value YP1 is smaller than 0.5. If YES, the process proceeds to step S22-15, and if NO, the process branches to step S22-16. In the step S22-15, the CPU 106 assigns a value (−0.6YR+1)×YP1 to the second luminance value YP2, and in the step S22-16, the CPU 106 assigns a value (−0.6YR+1)×YP1+0.6YR1 to the second luminance value YP2.
In the step S22-17, the CPU 106 calculates an output luminance value YPOUT by an inverse normalizing operation such that YPOUT=YP2×YR+YMIN. In the step S22-18, the CPU 106 tests whether all the luminance data Y of the generated pixels are converted into the output luminance value YPOUT. If No, the process returns to the step S22-8, and if YES, the adaptive luminance converting process is completed.
FIG. 15A, FIG. 15B and FIG. 15C are illustrations of examples of image luminance converting characteristics used in the pixel multiplying method 2 of FIG. 1. Referring to FIG. 15A, when the luminance range YR is relatively small, i.e., YR is smaller than the first threshold value TH1 as tested in the step S22-8, the second luminance YP2 is equal to the normalized pixel luminance YP1. Referring to FIG. 15B, when the luminance range YR is medium, i.e., YR is larger than the first threshold value TH1 and smaller than the second threshold value YH2, an second luminance YP2 is converted from a normalized luminance YP1 such that of which contrast is intensified in comparison with the input normalized luminance YP1. Referring to FIG. 15C, when the luminance range YR is relatively large, i.e., YR is equal to or larger than the second threshold value TH2, the second luminance YP2 is converted from the normalized luminance YP1 such that of which contrast is further intensified, even may converted into a bi-level value as illustrated.
The above described pixel multiplying and adaptive luminance converting method can generate a smooth tone of a final image. The method decrease jaggy outlines and false outlines in the resolution converted or enlarged images as well. In addition, the above-described adaptive luminance converting method can decrease blurred image and thereby increase sharpness of the resolution converted images. Further, all of the generated pixels have an identical color difference I and Q, therefore a coloring phenomena is also decreased.
The above stated luminance converting method uses three types luminance converting characteristics, however types of luminance converting characteristics may be increased according to the luminance range YR. FIG. 16 is a flowchart illustrating operational steps for converting an image luminance as another example practiced in the pixel multiplying method 2 of FIG. 1. With referring to FIG. 16, the steps S22-6, S22-7, S22-17 and S22-18 are the same as the steps denoted as the same reference numerals in FIG. 13. In this method, a plurality of luminance conversion tables, denoted as TABLE 1 to TABLE N, are stored in a storage device such as the hard disk 112 in the computer system of FIG. 2. Each of the plurality of luminance conversion tables includes plural sets of a normalized luminance YP1 and a second luminance YP2. These types of tables are sometimes referred as lookup tables.
In step S22-43, the CPU 106 selects a luminance conversion table from the plurality of luminance conversion tables TABLE 1 to TABLE N according to the obtained luminance range YR. In step S22-44, the CPU 106 converts a normalized luminance YP1 into a second luminance YP2 using the selected conversion table. The steps S22-17 and S22-18 function as the same as the step denoted as the same reference numeral in FIG. 13.
Further, the CPU 106 may calculate the output luminance YPOUT using a mathematical function, such as a polynomial, of the normalized luminance YP1 instead of the conversion tables. In this case, such the mathematical function may be defined as a program code and stored in the hard disk drive 112, the memory 108, etc., of the computer system 100 of FIG. 2 and FIG. 3.
FIG. 17 is a flowchart illustrating operational steps for practicing the pixel multiplying method 3 of FIG. 1 (step S23 of FIG. 1). In step S23-1, the CPU 106 determines a threshold value TH as

TH=(YMAX+YMIN)/2

Where YMAX is the maximum luminance value and YMIN is the minimum luminance value of the reference pixels in the sampling template TEMP illustrated in FIG. 6. FIG. 18A is an illustration of exemplary input reference pixel data. In FIG. 18A, numeral values in the cells represent luminance data Y of the pixels in the sampling template TEMP. In this case, the maximum luminance value is 240 and the minimum luminance value is 10, and therefore the threshold value TH is determined as 125.
Referring back to FIG. 17, in step S23-2, the CPU 106 converts the luminance data Y of the reference pixels in the template TEMP into bi-level data with the threshold value TH. When the luminance data Y is larger than the threshold value TH, the CPU 106 converts the luminance data Y into a bi-level image density value zero, otherwise converts into a bi-level image density value one. FIG. 18B is an illustration of bi-level data converted from the input reference pixel data of FIG. 18A. In FIG. 18B, dark pixels having bi-level image density value one are shaded for an easy understanding.
FIG. 19 is an illustration of a table having pattern indexes, matching patterns, embedding patterns and filling information. A pattern index, a matching patter, an embedding pattern and filling information in a row of the table form a group. The table contains a plurality of such the groups, for example, 60 groups, 128 groups, and so on. In the matching pattern column, a symbol 1 denotes a dark pixel, a symbol 0 denotes a light pixel, and a symbol “-” denotes a don't care pixel, i.e., the pixel may be either one or zero. The dark pixel is darker or less illuminant in comparison with the light pixel.
In the embedding pattern column, each of the embedding patterns has the multiplier MR squared pixels and each of the pixels is illustrated by white or shaded. The shaded pixel represents a dark pixel and is darker or less illuminant in comparison with a light pixel being illustrated in white. Each of the embedding patterns is optimized to suppress a jaggy image in the enlarged image corresponding to the matching pattern in the same row. Such the optimized embedding patterns may be obtained based on an experiment or a computer simulation.
Symbol in the light pixel column of the filling information field, such as R32, addresses a reference pixel in the template for filling light pixels in an embedding pattern with the addressed reference pixel data. Symbols in the dark pixel column of the filling information field, such as R33 (=X), addresses a reference pixel in the template for filling dark pixels in an embedding pattern with the addressed reference pixel data.
In this example, in the embedding pattern column and in a row, only a single embedding pattern for the multiplier MR value eight is included, as an example. However, a plurality of embedding patterns may be included corresponding to a plurality of required multipliers MR. For example, when the multipliers MR varies from a minimum multiplier ZMIN to a maximum multiplier ZMAX, the embedding pattern column in a row may includes (ZMAX−ZMIN−1) number of embedding patterns.
Referring back to FIG. 17, in step S23-3, the CPU 106 picks out a matching pattern in the plurality of matching patterns in the table of FIG. 19. The matching patterns are allocated in a descending order of a priority of the following comparing operation from the top row to downward. Therefore, the CPU 106 firstly picks out the matching pattern in the row being indexed pattern 0. In step S23-4, the CPU 106 compares the bi-level data distribution obtained in the step S23-2 with the matching pattern. In step S23-5, if the bi-level data distribution coincides with the matching pattern, the process branches to step S23-10. However, if the bi-level data distribution is not coincident with the matching pattern, the process proceeds to step S23-6.
In step S23-6, the CPU 106 checks whether another matching pattern is left in the table, and if YES, the process returns to the step S23-3. If NO, the process proceeds to step S23-7. In step S23-7, the CPU 106 multiplies the target pixel X by the multiplier MR squared. Thereby, the generated pixels have the same red, green and blue data as those of the target pixel X.
In step S23-10, the CPU 106 selects an embedding pattern and filling information, which are in the same row of the table of FIG. 19 in which the coincided matching pattern is included. For example, when the bi-level reference pixels coincides with the matching pattern being indexed pattern 5, the process branches to step S23-10, and where the CPU 106 selects the embedding pattern and the filling information in the same row. The filling information includes light pixel information and dark pixel information. In step S23-11, the CPU 106 fills the light pixels of the embedding pattern with red, green and blue data of a pixel addressed by the light pixel information. Similarly, the CPU 106 fills dark pixels of the embedding pattern with red, green and blue data of a pixel addressed by the dark pixel information.
FIG. 20A, FIG. 20B and FIG. 20C are illustrations for explaining embedding patterns filled with addressed pixel data. For example, when the reference pixels including the target pixel X coincides the matching pattern being indexed pattern 5, the CPU 106 selects the embedding pattern and filling information in the same row. The filling light pixel is denoted as R32, and filling dark pixel is denoted as R33 (=X), which is identical to the target pixel X. Therefore, as illustrated in FIG. 20A, the red data of light pixels (illustrated in white) in the embedding pattern are filled with the red data of the reference pixel R32, and red data of the dark pixels (illustrated in shaded) in the embedding pattern are filled with the red data of the reference pixel R33. Similarly, referring to FIG. 20B, green data of the light pixels in the embedding pattern are filled with the green data of the reference pixel R32, and green data of the dark pixels in the embedding pattern are filled with the green data of the reference pixel R33. Further, referring to FIG. 20C, blue data of the light pixels in the embedding pattern are filled with the blue data of the reference pixel R32, and blue data of the dark pixels in the embedding pattern are filled with the blue data of the reference pixel R33.
AS another example, when the reference pixels illustrated in FIG. 18B are input, the input pattern coincides the matching pattern being indexed pattern 9, the CPU 106 outputs the embedding pattern in the same row after filling light pixels with red, green and blue data of the pixel R33 (i.e., the target pixel X), dark pixels filling with red, green and blue data of the pixel R34.
FIG. 21A and FIG. 21B are illustrations for explaining output pixel patterns filled with data of the target pixel X, which is performed in step S23-7. As described above, when the input reference pixel pattern does not coincide any of the matching patterns in the table of FIG. 19, the CPU 106 outputs the multiplied pixels having the same red, green and blue data of those of the target pixel X. In other words, when the target pixel X is relatively dark as illustrated in FIG. 21A, the whole the output pixels also become relatively dark, and when the target pixel X is relatively light as illustrated in FIG. 21B, the whole the output pixels also become relatively light.
As described above, the output pixels are determined according to the reference pixels including the target pixel X, thereby outlines of the enlarged image becomes smooth. In addition, each of the contour lines of the red, green and blue image, i.e., a boundary between a relatively light zone and a relatively dark zone in each of the red, green and blue data changes at identical pixel locations. Thus, a coloring or a blurring at a vicinity of an outline of an image is avoided. Further, the resolution converting operation is swiftly executed.
FIG. 22 is an illustration of a divided area of a template TEMP. Nine pixels denoted b0 to b8 inside an area circumscribed by the thick line are divided from the template TEMP. When each of the location of the reference pixels is assigned for a binary place as illustrated from bit 0 denoted as b0 to bit 8 denoted as b8, a pixel data distribution gives a numeric value. In other words, a specific pixel distribution inside the divided area corresponds to a unique binary value.
Likewise, when a matching pattern is divided into areas and each of pixels inside the area is assigned for the same binary place, a specific pixel pattern inside the divided area corresponds to the same unique binary value.
FIG. 23 is an example of a divided area of a matching pattern. The bit eight b8 is a don't care reference pixel, (i.e., b8 may be either one or zero), so that the divided area has a numeric value 001001111 in binary (79 in decimal) or a value 101001111 in binary (335 in decimal).
FIG. 24 is an illustration of a table of divided area values and pattern indexes. The table contains plural pairs of a divided area value in decimal expression and pattern indexes. For a divided area having nine pixels, the table may contain at most 512 pairs of value and pattern index. However, the number of the matching patterns is fewer than that in this example, therefore the table contains smaller quantity of pairs than 512. Plural matching patterns may have an identical divided area value, for example, both the divided area of the matching pattern 9 and the divided area of the matching pattern 24 have a common value 79 in decimal. Thus, in the row of divided area value 79, the pattern index column contains both pattern 9 and pattern 24.
FIG. 25 is a flowchart illustrating operational steps for practicing another example of the pixel multiplying method 3 of FIG. 1 according to the present invention. Referring to FIG. 25, in step S23-21, the CPU 106 determines a threshold value TH as TH=(YMAX+YMIN)/2. In step S23-22, the CPU 106 converts the luminance data Y of the pixels in the template TEMP into bi-level data with the threshold value TH. In step S22-23, the CPU 106 converts a pixel bit data inside the divided area of the template, as illustrated in FIG. 22, into a numeric value. In step S22-24, the CPU 106 searches the numeric value in the table of FIG. 24. In step S23-25, the CPU 106 checks whether the numeric value was found in the table. If YES, the process proceeds to step S23-27, and if NO, the process branches to step S23-26. In the step S23-26, the CPU 106 multiplies the target pixel X by the multiplier MR squared.
In step S23-27, the CPU 106 checks whether the table contains only one matching pattern index in the same row of the coincided divided area value exists. If YES, the process branches to step S23-31, and if NO, the process proceeds to step S23-28. In step S23-28, the CPU 106 compares the pixel bi-level luminance data distribution outside the divided area with outside the divided area of the indexed matching pattern. In step S23-29, the CPU 106 examines the result of the comparison, and when coincided, i.e., YES, the process branches to the step S23-31, otherwise, the process proceeds to step S23-30. In step S23-30, the CPU 106 picks out another indexed matching pattern in the same row of the table of FIG. 24, and returns to the step S23-28.
In the step S23-31, the CPU 106 selects an embedding pattern and filling information in the same row of the table of FIG. 19 where the coincided matching pattern exists. In step S23-32, the CPU 106 fills light pixels and dark pixels of the embedding pattern with red, green and blue data of pixels being addressed by the light pixel and the dark pixel information.
In this method, the pattern matching process may be executed faster than the method of FIG. 17; therefore the image resolution converting time may be further shortened.
FIG. 26 is a flowchart illustrating operational steps for practicing still another pixel multiplying method 3 of FIG. 1 according to the present invention. In steps S23-40 to S23-42, the CPU 106 creates embedding patterns corresponding to an input multiplier MR based on basic embedding patterns. The basic embedding patterns are patterns for a specific multiplier MR, for example, for the multiplier MR eight is preliminarily installed in the computer system 100 as a part of program code a part of constant data. When a multiplier MR other than the installed basic embedding patterns input, the CPU creates embedding patterns corresponding to the input multiplier MR.
In step S23-40, the CPU 106 converts binary data of the basic embedding patterns into 8-bit data. In step S23-41, the CPU 106 creates primary 8-bit embedding patterns corresponding to the multiplier MR. The number of the creating embedding patterns are the same to that of the basic embedding patterns, which is also same to that of the matching patterns. For creating the primary 8-bit embedding patterns, the CPU 106 may use such as a bi-directional liner interpolation method. In step S23-41, the CPU 106 converts 8-bit data of the primary embedding patterns into binary data as final embedding pattern. The created embedding patterns may be stored in the memory 108, the hard disk drive 112, or other storage devices provided to the computer system 100.
In the following operational steps S23-1 to S23-11, the CPU 106 operates substantially the same manner as the steps denoted as the same reference numerals in FIG. 17, therefore a description of the same steps is simplified here to avoid redundancy. In step S23-1, the CPU 106 determines a threshold value TH. In step S23-2, the CPU 106 converts the luminance data Y of the pixels in the template TEMP into bi-level data with the threshold value TH. In step S23-3, the CPU 106 picks out a matching pattern in the plurality of matching patterns in the table of FIG. 19. In step S23-4, the CPU 106 compares the bi-level data distribution with the matching pattern. In step S23-5, if the bi-level data coincides with the matching pattern, the process branches to step S23-10, otherwise, the process proceeds to step S23-6.
In step S23-6, the CPU 106 checks whether another matching pattern is left in the table, and if YES, the process returns to the step S23-3. If NO, the process proceeds to step S23-7, where the CPU 106 multiplies the target pixel X by the multiplier MR squared. In step S23-10, the CPU 106 selects an embedding pattern and filling information, which are in the same row of the table of FIG. 19 in which the coincided matching pattern is included. In step S23-11, the CPU 106 fills light and dark pixels of the embedding pattern with red, green and blue data of pixels addressed by the light and dark pixel information, respectively.
As described above, in this example, embedding patterns for all multipliers are not permanently stationed in the computer system 100, therefore a capacity of a computer readable storage device is reduced. Further, installation time of the program is also reduced.
FIG. 27 is a flowchart illustrating operational steps for practicing a further pixel multiplying method 3 of FIG. 1 according to the present invention. In the previously described examples, multiplied pixels as components of an enlarged image have red, green and blue data, however in this example, multiplied pixels have luminance information and color difference information. Referring to FIG. 27, in the following operational steps S23-1 to S23-6, the CPU 106 operates substantially the same as the steps denoted as the same reference numerals of FIG. 17. In step S23-1, the CPU 106 determines a threshold value TH. In step S23-2, the CPU 106 converts the luminance data Y of the pixels in the template TEMP into bi-level data with the threshold value TH. In step S23-3, the CPU 106 picks out a matching pattern in the plurality of matching patterns in the table of FIG. 19. In step S23-4, the CPU 106 compares the bi-level data distribution obtained in the step S23-2 with the matching pattern.
In step S23-5, when the bi-level data distribution coincides with the matching pattern, the process branches to step S23-60. However, when the bi-level data distribution is not coincident with the matching pattern, the process proceeds to step S23-6. In step S23-6, the CPU 106 checks whether another matching pattern is left in the table, and if YES, the process returns to the step S23-3. If NO, the process proceeds to step S23-61. In step S23-61, the CPU 106 generates the multiplier MR squared pixels. The generated pixels have the same luminance value Y as that of the target pixel X. In step S23-60, the CPU 106 selects an embedding pattern, which is in the same row of the table of FIG. 19 in which the coincided matching pattern exits. In step S23-62, the CPU 106 fills the embedding pixels with the same color difference values I and Q as those of the target pixel X.
FIG. 28 is a flowchart illustrating operational steps for practicing the pixel multiplying method 4 of FIG. 1 (step S24 of FIG. 1) according to the present invention. The pixel multiplying method 4 is selected for enlarging typically, for example, text strings having shadows. Referring to FIG. 28, in step S24-1, the CPU 106 determines a first threshold value TH1 and a second threshold value TH2 as

TH1=(2×YMAX+YMIN)/3

TH2=(YMAX+2×YMIN)/3

Where YMAX is the maximum luminance value, and YMIN is the minimum luminance value among the reference pixels in the template TEMP illustrated in FIG. 6.
FIG. 29A is an illustration of exemplary input reference pixel luminance values in the template TEMP. In the reference pixels, the maximum luminance value is 240 and the minimum luminance value is 60, therefore after the operation of the step S24-1, the first and second threshold values TH1 and TH2 are determined as 180 and 120, respectively.
Referring back to FIG. 28, in step S24-2, the CPU 106 assigns the first threshold value TH1 for the following pixel multiplying operation. In step S24-3, the CPU 106 converts the luminance data Y of the reference pixels into bi-level data with the assigned threshold value. When luminance data Y is larger than the assigned threshold value, the CPU 106 converts the luminance data Y into a bi-level image density value zero, otherwise converts into a bi-level image density value one.
FIG. 29B is an illustration of bi-level data converted from the input reference pixel data of FIG. 29A with the first threshold value TH1, i.e., the value 180. In FIG. 29B, dark pixels having bi-level image density value one are shaded. FIG. 29C is an illustration of bi-level data converted from the input reference pixel data of FIG. 29A with the second threshold value TH2, i.e., the value 120. Dark pixels having bi-level image density value one are also shaded.
Referring back to FIG. 28, in step S24-4, the CPU 106 picks out a matching pattern in the plurality of matching patterns in the table of FIG. 19. When the CPU 106 executes the step S24-4 first time, the CPU 106 picks out the matching pattern in the row being indexed pattern 0 in the table of FIG. 19. Every time the CPU 106 passes through the step S24-4, the CPU 106 picks out the downwardly following matching pattern in the table of FIG. 19. In step S24-5, the CPU 106 compares the bi-level data distribution obtained in step S24-3 with the matching pattern. In step S24-6, when the bi-level data distribution coincides with the matching pattern, i.e., YES, the process branches to step S24-10. However, if the bi-level data distribution is not coincident with the matching pattern, i.e., NO, the process proceeds to step S24-7.
In step S24-7, the CPU 106 checks whether another matching pattern is left in the table, and if YES, the process returns to the step S24-4. If NO, the process proceeds to step S24-12. In step S24-10, the CPU 106 selects an embedding pattern and filling information both are in the same row of the table of FIG. 19 in which the coincided matching pattern exists. FIG. 30A is an illustration of an exemplary embedding pattern for the multiplier MR value eight searched by using the first threshold value TH1. FIG. 30B is an illustration of an exemplary embedding pattern searched by using the second threshold value TH2.
In step S24-11, the CPU 106 fills light pixels of the embedding pattern based on the red, green and blue data of a pixel addressed by the light pixel information. Similarly, the CPU 106 fills dark pixels of the embedding pattern based on the red, green and blue data of a pixel addressed by the dark pixel information. When the embedding pattern is obtained by using the first threshold value TH1, the CPU 106 fills light pixels of the embedding pattern with 1⁄3 density of the red, green and blue data of a pixel addressed by the light pixel information. Similarly, the CPU 106 fills dark pixels with 1⁄3 density of the red, green and blue data of a pixel addressed by the dark pixel information.
When the embedding pattern is obtained by using the second threshold value TH2, the CPU 106 fills light pixels of the embedding pattern with 2⁄3 density of the red, green and blue data of a pixel addressed by the light pixel information. Similarly, the CPU 106 fills dark pixels with 2⁄3 density of the red, green and blue data of a pixel addressed by the dark pixel information.
In step S24-12, the CPU 106 multiplies the target pixel X by the multiplier MR squared. When the process is executed for the first threshold value TH1, the CPU 106 fills all the multiplied pixels with 1⁄3 density of the red, green and blue data of the target pixel X. When the process is executed for the second threshold value TH2, the CPU 106 fills all the multiplied pixels with 2⁄3 density of the red, green and blue data of the target pixel X.
In step S24-13, the CPU 106 checks whether comparing operation of the second bi-level data distribution with the matching patterns is completed, and if NO, the process branches to step S24-14. If YES, the process proceeds to step S24-15. In the step S24-14, the CPU 106 assigns the second threshold value TH2 for the following operation. In step S24-15, the CPU 106 overlays the two embedding patterns to output.
FIG. 30C is an illustration of an output pixel pattern generated by merging operation of step S24-15 using with the embedding patterns of FIG. 30A and FIG. 30B. As illustrated in FIG. 30C, the densities of red, green and blue change at the same location. Thus, the enlarged image is obtained with reduced jaggy images and colorings at boundaries where image density changes.
In the above-descried example, two sorts of threshold values are used, however more numbers of threshold values may also be used, for example, three, four, five threshold values, etc.
FIG. 31 is a flowchart illustrating operational steps for practicing another pixel multiplying method 4 of FIG. 1. Referring to FIG. 31, in step S24-1, the CPU 106 determines a first threshold value TH1 and a second threshold value TH2. In step S24-2, the CPU 106 assigns the first threshold value TH1 for the following operation. In step S24-3, the CPU 106 converts the luminance data Y of the pixels in the template TEMP into bi-level data using assigned threshold value. In step S24-4, the CPU 106 picks out a matching pattern in the plurality of matching patterns in the table of FIG. 19. In step S24-5, the CPU 106 compares the bi-level data distribution with the matching pattern picked out in the step S24-4. In step S24-6, when the bi-level data distribution coincides with the matching pattern, the process branches to step S24-10, otherwise proceeds to step S24-7. In step S24-7, the CPU 106 checks whether another matching pattern is left in the table, and if YES, the process returns to the step S24-4. If NO, the process proceeds to step S24-20.
In step S24-10, the CPU 106 selects an embedding pattern and filling information in the same row of the table of FIG. 19 in which the coincided matching pattern exists. In step S24-20, the CPU 106 multiplies the target pixel X by the multiplier MR squared. In step S24-21, the CPU 106 checks whether a second matching operation with the second threshold value TH2 is completed, and if NO, the process branches to step S24-22. If YES, the process proceeds to step S24-23. In the step S24-22, the CPU 106 assigns the second threshold value TH2 for the following operation.
In step S24-23, the CPU 106 overlays 2⁄3 image density of the second embedding pattern obtained with the second threshold value TH2 over 1⁄3 image density of the first embedding pattern obtained with the first threshold value TH1. Thus, the overlaid embedding pattern, such as the embedding pattern of FIG. 30C is obtained.
In step S24-24, the CPU 106 adds color difference data I and Q to each of the overplayed pixels. The adding color difference data I and Q are generated by duplicating the color difference data of the target pixel X.
Referring back to FIG. 1, in step S25, the CPU 106 determines whether a color conversion is needed. For example, when the enlarged image is sent to an image printer provided with the same color signal interface as the color generated by either the image enlarging method 1 to method 4, the color conversion here is not needed. However, when the enlarged image data is sent to an image printer provided with a different color system, such as red, green and blue signal interface, for example, the enlarged image data is converted to the red, green and blue data. In such the case, in step S26, the CPU 106 converts the enlarged image data in the present color space into another color space data. The color conversion may be achieved in a similar manner of the step S15.
In step S27, the CPU 106 examines whether the correction factor CF is zero. When the correction factor CF is zero, the process skips step S28 and proceeds to step S29, and if the correction factor CF is not zero, the process proceeds to step S26. In step S26, the CPU 106 adjust the number of pixels of the enlarged image according to the correction factor CF. When the correction factor CF is smaller than one, some of the multiplied pixels are deleted, and when the correction factor CF is larger than one, some pixels are added to the multiplied pixels.
FIG. 32A to FIG. 32F are illustrations for explaining an image enlarging ratio adjustment operation. In the FIG. 32A to FIG. 32F, doted lines illustrate deleting pixels, and thick lines illustrate adding pixels. FIG. 32A illustrates a pixel deleting operation in a horizontal direction for every three pixels. FIG. 32B illustrates a pixel adding operation in the horizontal direction for every three pixels. FIG. 32C illustrates a pixel deleting operation in a vertical direction for every three pixels. FIG. 32D illustrates a pixel adding operation in the vertical direction for every three pixels. FIG. 32E illustrates a pixel deleting operation in the horizontal and vertical directions for every three pixels. FIG. 32F illustrates a pixel adding operation in the horizontal and vertical directions for every three pixels.
As an example, when the correction factor CF is 0.666, a pixel in every 3 pixels, as illustrated in FIG. 32E, is deleted, and when the correction factor CF is 1.333, a pixel is added for every 3 pixels, as illustrated in FIG. 32F. As another example, when the correction factor CF is 1.025, the CPU 106 inserts a pixel for every 50 pixels and a pixel for every 200 pixels, and as a result, an output image is enlarged at a ratio 1025 pixels/1000 pixels, i.e., 1.025. The inserting pixel may be identical with the previous next pixel to the inserting pixel. The above-described image enlarging method is referred as a nearest neighbor interpolation method. Thus an enlarged image having substantially the sane as the input enlarging ratio ER is obtained.
In step S29, the CPU 106 outputs enlarged pixel data to, for example, a data storage device such as the hard disk drive 112, an external image printer through a port such as the parallel data port 154, etc. In step S30, the CPU 106 checks whether all pixels of the original color image are multiplied, and if NO, the process returns to the step S13 to multiply the following pixel in the original image. When all pixels are multiplied, whole the process is completed.
FIG. 33 is a block diagram illustrating an exemplary color image resolution converting apparatus 300 according to the present invention. The color image resolution converting apparatus 300 includes a RGB M×N template 301, a RGB/YIQ converter 302, a YIQ M×N template 303, a feature quantity extractor 309, a switch device 307, an enlargement divider 310, a YIQ/RGB converter 311, a correction enlarger 312, a first enlarger 313, a second enlarger 314, a third enlarger 315, and a fourth enlarger 316. In FIG. 33, the term RGB stands for red, green and blue, and the term YIQ stands for luminance Y, and color differences I and Q.
In this example, the first enlarger 313 applies a uniform pixel multiplying method and is customized for plain single color images like a background image, etc. The second enlarger 314 applies a bi-directional liner interpolation method for luminance data Y and is customized for full color images like photographs, continuous toned text strings, continuous toned graphic images, etc. The third enlarger 315 applies a patterned pixel embedding method and is customized for binary text strings and drawings, etc. The fourth enlarger 316 applies a multiple patterned pixel embedding method and is customized for anti-alias processed text strings and drawings, text strings and drawings having shadows, etc.
The RGB M×N template 301 and the RGB/YIQ converter 302 function as color image data input devices for inputting image data of a target pixel X in a first color space. The RGB M×N template 301 receives pixel data (denoted as RGB) of a color image, one by one. The RGB M×N template 301 may be structured by a N line first-in first-out memory, for example. The RGB data includes red, green and blue data of a pixel. Each of the red, green and blue data are structured by, for example, 8 bit data. The RGB M×N template 301 samples horizontally M and vertically N reference pixels including the target pixel X, and sends the sampled M×N pixel red, green and blue data, which are denoted as 301B, to the feature quantity extractor 309, the first enlarger 313, the third enlarger 315 and the fourth enlarger 316. As an example, when both numerals M and N are five, the RGB M×N template 301 stores red, green and blue of data 5×5 pixels, i.e., 25 pixels such as the template TEMP of FIG. 6.
The RGB/YIQ converter 302 also receives the RGB pixel data as a first color space data. The RGB/YIQ converter 302 converts the received RGB pixel data into luminance data Y, color difference data I and Q, as a second color space data, and sends the converted data to the YIQ M×N template 303. Each of the luminance data Y, color difference data I and Q is structured by, for example, 8 bit data.
The YIQ M×N template 303 also samples horizontally M and vertically N reference pixels including the target pixel X. Therefore, the YIQ M×N template 303 may also be structured a N line first-in first-out memory. After the sampling, the YIQ M×N template 303 sends the sampled M×N pixel luminance data Y to the feature quantity extractor 309, the second enlarger 314, the third enlarger 315 and the fourth enlarger 316. Further, the YIQ M×N template 303 sends the sampled M×N pixel color difference data I and Q to the second enlarger 314. As an example, when both numerals M and N are five, the YIQ M×N template 303 also samples 25 pixels as well as the RGB pixel template 301, as referred as the template TEMP illustrated in FIG. 6.
The enlargement divider 310 receives an image enlarging ratio ER and determines a multiplier MR and a correction factor CF based on the input enlarging ratio ER. When the fraction part of the input enlarging ratio ER is smaller than 0.5, the enlargement divider 310 determines the multiplier MR as identical with the integer part of the enlarging ratio ER. When the fraction part of the input enlarging ratio ER has larger value than 0.5, the enlargement divider 310 determines the multiplier MR as the integer part of the input enlarging ratio ER plus one. The enlargement divider 310 determines the correction factor CF as the quotient of the input enlarging ratio ER divided by the determined multiplier MR.
The enlargement divider 310 sends the calculated multiplier MR to the first enlarger 313, the second enlarger 314, the third enlarger 315, and the fourth enlarger 316. The enlargement divider 310 sends the correction factor CF to the correction enlarger 312. The product of the multiplier MR and the correction factor CF is substantially equal to the input enlarging ratio ER. As an example, when the enlargement divider 310 receives a value 8.2 as the enlarging ratio ER, the enlargement divider 310 generates a value 8 as the multiplier MR and a value 1.025 as the correction factor CF. When the enlargement divider 310 receives a value 8.5 as the enlarging ratio ER, the enlargement divider 310 generates a value 9 as the multiplier MR and a value 0.944 as the correction factor CF.
Each of the first enlarger 313, the second enlarger 314, the third enlarger 315, and the fourth enlarger 316 generates MR×MR pixels for the single target pixel X. For example, when the multiplier MR is 8, each of the enlargers generates 64 pixels, and when the multiplier MR is 9, each of the enlargers generates 81 pixels, for the input target pixel X.
On the other hand, the correction enlarger 312 increases or decreases a single pixel or multiple pixels for every multiple pixels that have been generated by either one the first, second, third and fourth enlarger 313, 314, 315 and 316. As an example, when the correction enlarger 312 receives the correction factor CF 1.025, the correction enlarger 312 may insert 25 pixels for every 1000 pixels. However, for obtaining a better image quality, the correction enlarger 312 may insert a pixel for every 50 pixels and a pixel for every 200 pixels, and as a result, an output image is enlarged at a ratio 1025 pixels/1000 pixels, i.e., 1.025. The inserting pixel may be identical with the previous next pixel to the inserting pixel. The above-described image enlarging method is referred as a nearest neighbor interpolation method.
In a sense of proportion of increased pixels, an image enlarging operation is mainly performed by either one the first, second, third and fourth enlarger 313, 314, 315 and 316 in comparison with the correction enlarger 312. In other words, an inserting frequency of a pixel by the nearest neighboring method is low in comparison with pixels inserted by the first, second, third and fourth enlarger 313, 314, 315 and 316, and therefore enlarged image quality as a whole is kept well.
The switch device 307 includes switches 307A, 307B, 307C and 307D. Each of the switches 307A, 307B, 307C and 307D transmits each signal output from the first, second, third and fourth enlarger 313, 314, 315 and 316 to the correction enlarger 313 or to the YIQ/RGB converter 311, respectively.
The feature quantity extractor 309 includes a density range detector 309DR, a color and hue detector 309CH and a linked pixel detector 309LP. The feature quantity extractor 309 generates a switching signal 309SW to close one of the switches 307A, 307B, 307C and 307D. The feature quantity extractor 309 also generates an adaptive density control signal 309DC to control an image density of each of the pixels generated in the second enlarger 314. Switching operation for the switches 307A, 307B, 307C and 307D is performed per an every single target pixel X in synchronization with the target pixel X inputs.
The YIQ/RGB converter 311 converts a luminance signal Y and color deference data I and Q that have been output from the second enlarger 314 into red, green and blue data.
The first enlarger 313 multiplies the input target pixel X by the multiplier MR squared. FIG. 12 illustrates an image enlarging operation executed by the first enlarger 313 when the multiplier MR is three as an example. With reference to FIG. 12, when the first enlarger 313 receives a target pixel X having red, green and blue components, each denoted as XR, XG and XB from the RGB M×N template 301 and the multiplier MR 3 from the enlargement divider 310, the first enlarger 313 multiplies the target pixel X by 3 in a horizontal direction, and also by 3 in a vertical direction.
FIG. 34 is a block diagram illustrating the second enlarger 314 of the color image resolution converting apparatus 300 of FIG. 33. With reference to FIG. 34, the second enlarger 314 includes a bi-directional liner pixel interpolator 314-1, a weighting coefficient generator 314-2, a uniform pixel interpolator 314-3, an adaptive image density converter 314-4, a mixer 314-5, and a gradation character generator 314-6.
The weighting coefficient generator 314-2 receives the luminance data Y and the multiplier MR, and generates weighting coefficients for supplying the coefficients to the bi-directional liner pixel interpolator 314-1 according to the input data. The bi-directional liner pixel interpolator 314-1 receives the luminance data Y, the multiplier MR and the weighting coefficients, and generates the multiplier MR squared pixels. The bi-directional liner pixel interpolator 314-1 calculates luminance values for the generating pixels by a bi-directional liner interpolation method using- the weighting coefficients and the luminance data Y of neighboring pixels in the sampled pixels.
The gradation character generator 314-6 receives feature quantity 309DC from the feature quantity extractor 309 of FIG. 33. The gradation character generator 314-6 generates a gradation converting characteristic, such as such as graphs illustrated in FIG. 15A, FIG. 15B and FIG. 15C or an appropriate conversion table. The adaptive image density converter 314-4 receives the luminance data Y of the generated multiple pixels and the gradation converting characteristic. The adaptive image density converter 314-4 first converts each of the luminance data Y into moralized luminance data Y1. Then the adaptive image density converter 314-4 converts moralized luminance data Y1 into second luminance data Y2 according to the image feature quantity 309DC, such as graphs illustrated in FIG. 15A, FIG. 15B and FIG. 15C. Lastly, The adaptive image density converter 314-4 converts second luminance data Y2 into output luminance data YPOUT.
The uniform pixel interpolator 314-3 generates MR by MR sets color difference data I and Q, by duplicating of the color difference data of the target pixel X. The mixer mixes the adaptively density converted luminance data YPOUT and the duplicated color difference data I and Q for each of the generated pixels. The mixed data is output to the switch 307B of FIG. 33.
FIG. 35 is a block diagram illustrating the third enlarger 315 of the color image resolution converting apparatus 300 of FIG. 33. The third enlarger 315 includes a data buffer 315-10, a pattern matching device 315-2, a matching pattern memory 315-3, a uniform interpolator 315-4, a patterned interpolator 315-5, a switch 315-7, an embedding pattern memory 315-9, and a basic pattern memory 315-11, an embedding pattern generator 315-12.
The data buffer 316-10 receives and temporally stores the red, green and blue data of the sampled reference pixels. The basic pattern memory 315-11 stores a set of basic embedding patterns for a specific single multiplier MR, such as the embedding patterns for the multiplier MR 8 in the table illustrated in FIG. 19.
The embedding pattern generator 315-12 receives a value of the multiplier MR. When the received multiplier MR is identical with the multiplier MR specified for the above-described basic patterns, the embedding pattern generator 315-12 duplicates the basic embedding patterns and transfers the duplicated embedding patterns to the embedding pattern memory 315-9. When the received multiplier MR is different from the multiplier MR specified for the basic embedding patterns, the embedding pattern generator 315-12 generates a set of embedding patterns corresponding to the received multiplier MR based on the set of basic pixel patterns stored in the basic pattern memory 315-11.
When the enlarging ratio ER for the horizontal direction and the enlarging ratio ER for the vertical direction have an identical value, each of the generated embedding patterns has MR pixels in both horizontal and vertical directions. When the enlarging ratios for both directions are different, the multipliers may also be different each other. However, in both cases, the embedding pattern generator 315-12 can generate the set of embedding patterns, for example, utilizing a liner interpolation method.
The pattern matching memory 315-3 stores a plurality of matching patterns, such as the matching patterns illustrated in the table illustrated in FIG. 19, and supplies the matching patterns to the pattern matching device 315-2. The pattern matching device 315-2 compares the bi-level reference pixel luminance data distribution received from the YIQ M×N template 303 of FIG. 33 with the supplied matching patterns in a sequence. When the bi-level reference pixel luminance data distribution coincides one of the matching patterns, the pattern matching device 315-2 outputs a coincidence signal to the embedding pattern memory 315-9 and to the switch 315-7 so as to close the path connecting the patterned interpolator 315-5 and the output terminal toward the switch 307C of FIG. 33. Further, the pattern matching device 315-2 sends a dark filling address and a light filling address to the data buffer 315-10.
When the embedding pattern memory 315-9 receives the coincidence signal, the embedding pattern memory 315-9 sends an embedding pattern that corresponds to the coincided matching pattern to the patterned interpolator 315-5. When the data buffer 315-10 received the dark and light filling address, the data buffer 315-10 sends red, green and blue data of the addressed pixels to the patterned interpolator 315-5. Then, the patterned interpolator 315-5 fills dark pixels in the embedding pattern with the received red, green and blue data. Similarly, the patterned interpolator 315-5 fills light pixels in the embedding pattern with the received red, green and blue data. Thus, the filled embedding pattern is output to the next stage through the switch 315-7.
The uniform interpolator 315-4 unconditionally generates MR×MR pixels having the same red, green and blue data to those of the target pixel X. When the input pattern does not coincide any of the matching patterns, the pattern matching device 315-2 outputs a mismatch signal to the switch 315-7 so as to close the path connecting the uniform interpolator 315-4 to the output terminal. Thus, the uniformly filled embedding pattern is output to the next stage through the switch 315-7.
FIG. 36 is a block diagram illustrating another example of the third enlarger 315A of the color image resolution converting apparatus 300 of FIG. 33. In FIG. 36, the elements that are substantially the same as those in FIG. 35 are denoted by the same reference numerals. A description of the same elements in FIG. 36 as in FIG. 35 is not provided here to avoid redundancy. The third enlarger 315 includes a data buffer 315-10, a pattern matching device 315-2, a matching pattern memory 315-3, a uniform interpolator 315-4, a patterned interpolator 315-5, a switch 315-7, and an embedding pattern memory 315-9A.
The embedding pattern memory 315-9A stores plural sets of embedding patterns. Each of the plural sets is denoted as MR2, MR3, MR4, and MZ each corresponding to a minimum multiplier MR 2 to a maximum Mz. The number of sets is equal to the number of input multiplier MR. For instance, when the input multiplier MR varies from 2 to 30, the embedding pattern memory 315-9 stores 29 sets of embedding patterns. In a set of embedding patterns, every embedding pattern has the same number of pixels, and the number is equal to the multiplier MR squared.
When the embedding pattern memory 315-9A receives the coincidence signal from the pattern matching device 315-2, the embedding pattern memory 315-9A sends an embedding pattern that corresponds to the coincided matching pattern and the multiplier MR to the patterned interpolator 315-5.
Thus, the third enlarger 315A performs the pixel multiplying operation without the embedding pattern generating process of the third enlarger 315 of FIG. 35.
FIG. 37 is a block diagram illustrating the fourth enlarger 316 of the color image resolution converting apparatus 300 of FIG. 33. The fourth enlarger includes a bi-level data converter 316-1, a data buffer 316-10, a pattern matching device 316-2, a matching pattern memory 316-3, a uniform interpolator 316-4, a patterned interpolator 316-5, a merger 316-6, a switch 316-7, an embedding pattern memory 316-9, a basic pattern memory 316-11, and an embedding pattern generator 316-12.
In this example, for a single target pixel X, two embedding patterns are sequentially generated, and then the merger 316-6 merges the two embedding patterns and outputs the merged embedding pattern to the next stage. As a first step, the bi-level data converter 316-1 receives the luminance data Y of the reference pixels inside the YIQ M×N template 303 of FIG. 33. Then, the bi-level data converter 316-1 generates plural threshold value. In this example, the bi-level data converter 316-1 generates two threshold values TH1 and TH2. Further, the bi-level data converter 316-1 converts the luminance data Y of the reference pixels into bi-level data using the first threshold value TH1. The bi-level data converter 316-1 then sends the converted data to the pattern matching device 316-2.
Meanwhile, the data buffer 316-10 receives the red, green and blue data of the sampled pixels and temporally stores the red, green and blue data therein. The basic pattern memory 316-11 stores a set of embedding patterns for a specific multiplier MR, such as the embedding patterns for the multiplier MR 8, as illustrated in the table of FIG. 19.
The embedding pattern generator 316-12 receives the multiplier MR. When the received multiplier MR is identical with the multiplier MR specifying for the above-described basic patterns, the embedding pattern generator 316-12 duplicates the basic patterns in the basic pattern memory 316-11 and sends the duplicated embedding patterns to the embedding pattern memory 316-9. When the received multiplier MR is different from the multiplier MR specifying for the basic patterns, the embedding pattern generator 316-12 generates a set of embedding patterns corresponding to the received multiplier MR based on the set of basic patterns in the basic pattern memory 316-11.
The pattern matching memory 316-3 stores a plurality of matching patterns, such as the matching patterns in the table illustrated in FIG. 19. The pattern matching device 316-2 compares the bi-level reference pixel luminance data distribution with the matching patterns, which are received from the pattern matching memory 316-3, in a sequence. When the bi-level reference pixel luminance data distribution coincides one of the matching patterns, the pattern matching device 316-2 outputs a coincidence signal to the embedding pattern memory 316-9 and to the switch 316-7 so as to close the path connecting the patterned interpolator 316-5 and the merger 136-6. Further, the pattern matching device 316-2 sends a dark filling address and a light filling address to the data buffer 316-10.
The data buffer 316-10 output red, green and blue data of pixels in the data buffer 316-1 addressed by the dark filling address and the light filling address to the patterned interpolator 316-5. When the embedding pattern memory 316-9 receives the coincidence signal, the embedding pattern memory 316-9 sends an embedding pattern, which corresponds to the coincided matching pattern, to the patterned interpolator 316-5. When the patterned interpolator 316-5 receives the embedding pattern, the patterned interpolator 316-5 fills dark pixels of the embedding pattern with, for example, 1⁄3 density of the received red, green and blue data of the pixel addressed by the dark filling address. The patterned interpolator 316-5 also fills light pixels of the embedding pattern with, for example, 1⁄3 density of the received red, green and blue data of the pixel addressed by the light filling address.
The uniform interpolator 316-4 first generates MR×MR pixels having, for example, 1⁄3 density of the red, green and blue data of the target pixel X. When the input pattern does not coincide any of the matching patterns, the pattern matching device 316-2 outputs a mismatch signal to the switch 316-7 so as to close the path connecting the uniform interpolator 316-4. Thus, the uniformly filled embedding pattern is sent to the merger 136-6. The merger 136-6 temporally stores the received first embedding pattern output from either the patterned interpolator 316-5 or the uniform interpolator 316-4.
As a second step, the bi-level data converter 316-1 converts the luminance data Y of the reference pixels into bi-level data using the second threshold value TH2. The bi-level data converter 316-1 then sends the converted data to the pattern matching device 316-2. The pattern matching device 316-2 compares the bi-level reference pixel luminance data distribution with the matching patterns as well as the first step. When the two inputs coincide, an embedding pattern is output to the merger 136-6 in a similar manner to the first step. However, the patterned interpolator 316-5 fills dark pixels of the embedding pattern with, for example, 2⁄3 density of red, green and blue data of a pixel addressed by the dark filling address, and fills light pixels with, also for example, 2⁄3 density of red, green and blue data of a pixel addressed by the light filling address. Both the dark pixels and light pixels have darker density in comparison with those of the first output embedding pattern, such as twice as the above-described example. When the two input does not coincide, the uniform interpolator 316-4 outputs MR×MR pixels having 2⁄3 density of red, green and blue data of the target pixel X.
The merger 316-6 merges the firstly received embedding pattern and the secondly received embedding pattern such that the secondly received embedding pattern is overlaid on the firstly received interpolation. Accordingly, lighter a pixel covered by a darker pixel becomes non-visible.
FIG. 38 is a block diagram illustrating another exemplary color image resolution converting apparatus 400 according to the present invention. In FIG. 38, the components that are substantially the same as those in FIG. 33 are denoted by the same reference numerals. With reference to FIG. 38, the color image resolution converting apparatus 400 includes a fifth enlarger 415 and a sixth enlarger 416 instead of the third enlarger 315 and the fourth enlarger 316 in FIG. 33. The fifth enlarger 415 and the sixth enlarger 416 receive the color difference data I and Q from the YIQ M×N template 303, however do not receive the red, green and blue data. The fifth enlarger 415 and the sixth enlarger 416 output multiplied pixel data to the YIQ/RGB converter 311 via the switch device 307.
In this example, the fifth enlarger 415 applies a patterned pixel embedding method and is customized for binary text strings and drawings, etc. The sixth enlarger 416 applies a multiple patterned pixel embedding method and is customized for anti-alias processed text strings and drawings, text strings and drawings having shadows, etc.
FIG. 39 is a block diagram illustrating the fifth enlarger 415 of the color image resolution converting apparatus 400 of FIG. 38. Referring to FIG. 39, the fifth enlarger 415 includes a bi-level data converter 415-1, a pattern matching device 415-2, a matching pattern memory 415-3, a uniform interpolator 415-4, a patterned interpolator 415-5, a switch 415-7, an embedding pattern memory 415-9, a color component enlarger 415-11, and a mixer 415-20.
The bi-level data converter 415-1 receives luminance data Y of reference pixels including the target pixel X inside the YIQ M×N template 303 of FIG. 38, and converts the received data into bi-level data using a threshold value TH. The bi-level data converter 415-1 then sends the converted bi-level data to the uniform interpolator 415-4 and the pattern matching device 415-2. The embedding pattern memory 415-9 stores plural sets of embedding patterns. Each of the plural sets is denoted as MR2, MR3, MR4, and MZ each corresponding to a minimum multiplier MR 2 to a maximum MZ. The number of sets is equal to the number of input multiplier MR. In a set of embedding patterns, every embedding pattern has the same number of pixels, and the number is equal to the multiplier MR squared.
When the enlarging ratio ER for a horizontal direction and the enlarging ratio ER for a vertical direction are different, the number of sets of embedding patterns is increased.
The matching pattern memory 415-3 stores a plurality of matching patterns, such as the matching patterns in the table illustrated in FIG. 19. The matching pattern memory 415-3 supplies the plurality of matching patterns one by one according to a predetermined priority. The pattern matching device 415-2 compares the bi-level reference pixel luminance data distribution, which is received from the bi-level converter 415-1 with the matching patterns received from the pattern matching memory 415-3. When the bi-level reference pixel luminance data distribution coincides one of the matching patterns, the pattern matching device 415-2 outputs a coincidence signal to the embedding pattern memory 415-9. The pattern matching device 415-2 also outputs the coincidence signal to the switch 415-7 to close the path connecting the patterned interpolator 415-5 and the mixer 415-20.
Received the coincidence signal, the embedding pattern memory 415-9 sends an embedding pattern, which corresponds to the coincided matching pattern, to the patterned interpolator 415-5. Then, the patterned interpolator 316-5 outputs the embedding pattern to the mixer 415-20 via the closed switch 415-7.
When the bi-level reference pixel luminance data distribution does not coincide any of the matching patterns, the pattern matching device 415-2 outputs a mismatch signal to the switch 415-7 to close the path connecting the uniform interpolator 415-4 and the mixer 415-20. the uniform interpolator 415-4 unconditionally generates MR×MR pixels having the same luminance data Y of the target pixel X. Thus, the uniformly filled embedding pattern is output to the mixer 415-20.
The color component enlarger 415-11 generates MR×MR sets of color difference components I and Q by duplicating those of the target pixel X, and sends the generated color difference components I and Q to the mixer 415-20. The mixer 415-20 mixes the luminance data Y with the same color difference data I and Q, and outputs to the switch 307C of FIG. 33.
FIG. 40 is a block diagram illustrating the sixth enlarger 416 of the color image resolution converting apparatus 400 of FIG. 38. Referring to FIG. 40, the sixth enlarger 416 includes a bi-level data converter 416-1, a pattern matching device 416-2, a matching pattern memory 416-3, a uniform interpolator 416-4, a patterned interpolator 416-5, a switch 416-7, an embedding pattern memory 416-9, a color component enlarger 416-11, a merger 416-12, and a mixer 416-20.
In this example, for a single target pixel X, two embedding patterns are sequentially generated, and then the generated two patterns are merged. Further, the merged embedding pattern is mixed with color difference component, then the merged and mixed embedding pattern is output to the switch 307D of FIG. 38. As a first step, the bi-level data converter 416-1 receives luminance data Y of the reference pixels including the target pixel X in the YIQ M×N template 303 of FIG. 38. Then, the bi-level data converter 416-1 generates a plurality of threshold values. In this example, the bi-level data converter 416-1 generates two threshold values TH1 and TH2. Further, the bi-level data converter 416-1 converts the luminance data Y into bi-level data using a first threshold value TH1. The bi-level data converter 416-1 then sends the converted data to the uniform interpolator 416-4 and the pattern matching device 416-2.
The pattern matching device 416-2 compares the bi-level reference pixel luminance data distribution with one of the matching patterns one by one. When the input bi-level data distribution coincides one of the matching patterns, the pattern matching device 416-2 outputs a coincidence signal to the embedding pattern memory 416-9 and to the switch 416-7 to close the path connecting the patterned interpolator 416-5 and the merger 416-12.
When the embedding pattern memory 416-9 receives the coincidence signal, the embedding pattern memory 416-9 sends an embedding pattern with 1⁄3 luminance Y of the original embedding pattern that corresponds to the coincided matching pattern to the patterned interpolator 416-5. Then, the patterned interpolator 416-5 outputs the received embedding pattern to the merger 416-12 through the switch 416-7.
The uniform interpolator 416-4 unconditionally generates MR×MR pixels having 1⁄3 luminance value of the target pixel X for each input target pixel X for the first step. When the bi-level reference pixel luminance data distribution does not coincide any of the matching patterns, the pattern matching device 416-2 outputs a mismatch signal to the switch 416-7 to close the path connecting the uniform interpolator 416-4 and the merger 416-12. Thus, the uniformly filled embedding pattern is output to the merger 416-12 through the switch 416-7. The merger 416-12 temporally stores the firstly received embedding pattern.
As a second step, the bi-level data converter 416-1 converts luminance data Y of the same reference pixels including the target pixel X into bi-level data using a second threshold value TH2, then sends the converted data to the uniform interpolator 416-4 and the pattern matching device 416-2.
The pattern matching device 416-2 compares the bi-level reference pixel luminance data distribution with the matching patterns received from the pattern matching memory 416-3. When the bi-level reference pixel luminance data distribution coincides one of the matching patterns, the pattern matching device 416-2 outputs a coincidence signal to the embedding pattern memory 416-9 and to the switch 416-7 to close the path connecting the patterned interpolator 416-5 and the merger 416-12.
When the embedding pattern memory 416-9 receives the coincidence signal, the embedding pattern memory 416-9 sends an embedding pattern with 2⁄3 luminance Y of the original embedding pattern that corresponds to the coincided matching pattern to the patterned interpolator 416-5. Then, the patterned interpolator 416-5 outputs the second embedding pattern to the merger 416-12 through the switch 416-7.
When the bi-level reference pixel luminance data distribution does not coincide any of the matching patterns, the pattern matching device 416-2 outputs an mismatch signal to the switch 416-7 to output MR×MR pixels having 2⁄3 luminance data Y of the second bi-level target pixel X. Thus, the uniformly filled embedding pattern is output to the merger 416-12. The merger 416-12 merges the firstly received embedding pattern and the secondly received embedding pattern such that the secondly received embedding pattern is overlaid on the firstly received embedding pattern. Therefore, a lighter pixel covered by a darker pixel becomes non-visible. The merger 416-12 then outputs the merged embedding pattern to the mixer 416-20.
The color component enlarger 416-11 generates and sends color difference data I and Q by duplicating those of the target pixel to the mixer 416-20. The mixer 416-20 mixes the received luminance data Y and the color difference data I and Q for all the generated pixels. Then, the mixed luminance Y and color difference data I and Q are output to the switch 307D of FIG. 38. Then a next target pixel data is input to be processed.
FIG. 41 is a schematic view of a structure of a color image forming apparatus 800 as an example configured according to the present invention. The image forming apparatus 800 includes, a control module 803, an operation panel 807, a photoconductor drum 810, a charging device 811, a revolver color developing device 812, an image transfer device 813, a sheet-separating device 814, a cleaning device 815, a sheet drum 816, a laser scanning device 830, a sheet tray 850, a sheet feed roller 851, a register roller pair 852, and a fixing roller pair 853.
The control module 803 includes an address and data bus 803B, a network adaptor 803N, a central processing unit (CPU) 803C, an image resolution converting device 803 RC, a print engine interface 803P, a random accesses memory (RAM) 803R, a flash memory 803F, and an input device 803I. The flash memory 803F stores instruction codes executed by the CPU 803C. The flash memory 803F may be replaced with another types of data storing devices, such as a read-only memory, a hard disk, a CD-ROM, a DVD-ROM, etc. The RAM 803R may have a backup battery 803V.
The revolver color developing device 812 includes a cyan developing module denoted as C, a magenta developing module denoted as M, a yellow developing module denoted as Y, and a black developing module denoted as K. The revolver color developing device 812 rotates clockwise so that each of the color developing modules C, M, Y and K can face to the photoconductive drum 810 to develop a latent image on the drum 800 with the respective color developer.
An image forming operation is performed as the followings. The control module 803 receives a print command accompanying color print data from an external apparatus, such as a personal computer, via a network and the network adaptor 803N. When the received print command includes an image resolution converting instruction, the CPU 803C sends the received color print data and image resolution converting instruction to the image resolution converting device 803RC. The image resolution converting device 803RC includes substantially the same function of the image resolution converting apparatus 300 of FIG. 33 or image resolution converting apparatus 400 of FIG. 38. therefore, the image resolution converting device 803RC converts the input print data having a relatively low image resolution, such as 72 dots per inch, into print data having the same image resolution of the color image forming apparatus 800, such as 600 dots per inch.
Then, the control module 803 activates a motor. The motor rotates the photoconductive drum 810 counterclockwise. The electrical charging device 811 then charges the surface of the photoconductive drum 810 at a substantially uniform voltage. Then the CPU 803C sends first color pixel data, such as cyan pixel data, of the resolution converted print data to the laser scanning device 830 via the bus 803B and the print engine interface 803P from the image resolution converting device 803RC. The charged photoconductive drum 810 is then exposed by a laser scanning beam denoted as L by the laser scanning device 830 according to the received color pixel data. Thus, an electrostatic latent image having relatively high image resolution is formed on the photoconductive drum 810.
After that, the developing device 812 develops the electrostatic latent image with the first color developer, and thus a toner image, such as a cyan image is formed on the photoconductive drum 810.
Meanwhile the sheet feed roller 851 and the register roll pair 852 convey a sheet of paper P from the sheet tray 850 toward the sheet drum 816, and the sheet drum 816 bears the sheet P on the circumference thereof. When the toner image on the photoconductive drum 810 arrives a position where the sheet P being carried by the sheet drum 816 and the image transfer device 813 oppose. While the sheet P is conveyed at a substantially same speed of the circumferential speed of the photoconductive drum 810, a power supply supplies image transfer device 813 with an appropriate voltage with the polarity of the voltage is counter to a polarity of the electrically charged toner particles. Thereby, the first toner image on the photoconductive drum 810 is attracted toward the sheet P and transferred to the sheet P.
The toner particles remained on the photoconductive drum 810, i.e., toner particles which have not been transferred to the sheet P, are removed by the drum-cleaning device 815.
After the cleaning operation, the electrical charging device 811 again charges the surface of the photoconductive drum 810 at a substantially uniform voltage for beginning a second color image forming. The color image forming processes for remaining color are repeated in substantially the same manner as the first color image forming operation, and thus a four color toner image is formed on the sheet P carried on the sheet drum 816.
The power supply supplies the sheet-separating device 814 with an appropriate voltage, such as a DC biased AC voltage. Thereby, the sheet-separating device 814 separates the sheet P from the sheet drum 816. The sheet P having the transferred four color toner image is conveyed to the fixing roll pair 853 where the toner image is fixed on the sheet P, and then the sheet P having relatively high resolution toner image is discharged outside the color image forming apparatus 800 as a printed sheet.
As described above, the novel method, computer readable medium and apparatus for converting color image resolution that can convert a relatively low resolution image into a relatively high resolution image with reducing a jaggy image at an image boundary including a continuous toned color image.
Further, the novel method, computer readable medium and apparatus for converting color image resolution that can convert a relatively low resolution image into a relatively high resolution image in a relatively short time.
Furthermore, the novel method, computer readable medium and apparatus for converting color image resolution that can convert a relatively low resolution image into a relatively high resolution image with reducing a coloring and a blurring at an image boundary.
Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. For example, features described for certain embodiments may be combined with other embodiments described herein. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.
This document is based on Japanese patent application No. 11-126021 filed in the Japanese Patent Office on May 6, 1999, Japanese patent application No. 11-276996 filed in the Japanese Patent Office on Sep. 29, 1999, and Japanese patent application No. 11-295819 filed in the Japanese Patent Office on Oct. 18, 1999, the entire contents of which are incorporated herein by reference.

## Claims

1. A method for converting color image resolution with an image resolution converting device, comprising:
inputting an image enlarging ratio;
inputting target pixel data of an image in a first color space to be enlarged in a sequence;
sampling, by the device, reference pixels including the target pixel and pixels at least one of which links to the target pixel;
converting, by the device, the sampled reference pixel data in the first color space into reference pixel data in a second color space data;
comparing, by the device, a pixel data distribution of the sampled reference pixels with a plurality of matching patterns in the second color space;
outputting one of a plurality of pixel embedding patterns according to a coincided matching pattern and the image enlarging ratio;
generating filling color information for filing the pixels of the embedding pattern with colors according to a result of the comparing step; and
filling the pixels of the embedding pattern with colors of the reference pixels in the first color space according to the generated filling color information.

2. The method according to claim 1,
wherein the first color space comprises red, green, and blue colors, and the second color space comprises luminance information, hue information, and saturation information, and
wherein the comparing step compares the pixel data distribution of the sampled reference pixels with the plurality of matching patterns in one of the luminance information, the hue information, and the saturation information.

3. The method according to claim 1,
wherein the first color space comprises red, green, and blue colors, and the second color space comprises luminance information, first color difference information, and second color difference information, and
wherein the comparing step compares the pixel data distribution of the sampled reference pixels with the plurality of matching patterns in one of the luminance information, the first color difference information, and the second color difference information.

4. A method for converting color image resolution with an image resolution converting device, comprising:
inputting an image enlarging ratio;
inputting target pixel data of an image in a first color space to be enlarged in a sequence;
sampling, by the device, reference pixels including the target pixel and pixels at least one of which links to the target pixel;
converting, by the device, the reference pixel data into a predetermined number of bi-level reference pixel data with a predetermined number of threshold values respectively;
comparing, by the device, each pixel data distribution of the predetermined number of the bi-level reference pixel data with a plurality of matching patterns;
generating a predetermined number of embedding patterns according to coincided matching patterns and the image enlarging ratio;
generating an output pixel pattern by merging the predetermined number of generated embedding patterns; and
outputting the generated pixel pattern.

5. The method according to claim 4, further comprising:
generating a plurality of the embedding patterns based on a plurality of basic embedding patterns according to the input image enlarging ratio.

6. The method according to claim 4, further comprising:
converting the sampled reference pixel data in the first color space into reference pixel data in a second color space data,
wherein, the comparing step compares each of the pixel data distributions of the predetermined number of the bi-level reference pixel data with the plurality of matching patterns in the second color space, and the method further comprises:
generating filling color information for filing the pixels of the embedding patterns with colors in the first color space according to a result of the comparing step; and
filling the pixels of the predetermined number of generated embedding patterns with the colors of the reference pixels in the first color space according to the generated filling color information.

7. The method according to claim 4,
wherein the first color space comprises red, green, and blue colors, and the second color space comprises luminance information, hue information, and saturation information, and
wherein the comparing step compares each of the pixel data distributions of the predetermined numbed of the bi-level reference pixel data with the plurality of matching patterns in one of the luminance information, the hue information, and the saturation information.

8. The method according to claim 4,
wherein the first color space comprises red, green and blue colors, and the second color space comprises luminance information, first color difference information, and second color difference information, and
wherein the comparing step compares each of the pixel data distributions of the predetermined number of the bi-level reference pixel data with the plurality of matching patterns in one of the luminance information, the first color difference information, and the second color difference information.

9. The method according to claim 4, further comprising:
dividing an area of the sampled reference pixels into plural areas,
wherein the comparing step compares the divided pixel data distribution of the sampled reference pixels with the plurality of matching patterns.

10. The method according to claim 4, further comprising:
converting the target pixel data in the first color space into pixel data in a second color space comprising luminance data and color data,
wherein the comparing step compares each of the pixel data distributions of the predetermined number of the bi-level reference pixel data in the second color space with the plurality of matching patterns, and the method further comprises:
converting the generated output pixel pattern in the second color space into an output pixel pattern in the first color space.

11. The method according to claim 10, wherein the comparing step compares each luminance data distribution of the predetermined number of bi-level reference pixel data with the plurality of matching patterns.

12. The method according to claim 4, wherein the predetermined number of threshold values for converting the reference pixel data are generated based on the reference pixel data.

13. The method according to claim 12, wherein the predetermined number of threshold values for converting the reference pixel data are generated based on a maximum value and a minimum value among the reference pixel data.

14. The method according to claim 4, wherein the merging the embedding patterns during the generating step is performed such that a relatively darker pixel pattern is overlaid over a relatively lighter pixel pattern.

15. A computer-readable medium carrying one or more sequences of one or more instructions for converting color image resolution, the one or more sequences of one or more instructions including instructions which, when executed by one or more processors, causes the one or more processors to perform the steps of:
inputting an image enlarging ratio;
inputting target pixel data of an image in a first color space to be enlarged in a sequence;
sampling reference pixels including the target pixel and pixels at least one of which links to the target pixel;
converting the reference pixel data into a predetermined number of bi-level reference pixel data with a predetermined number of threshold values respectively;
comparing each pixel data distribution of the predetermined number of the bi-level reference pixel data with a plurality of matching patterns;
generating a predetermined number of embedding patterns according to coincided matching patterns and the image enlarging ratio;
generating an output pixel pattern by merging the predetermined number of generated embedding patterns; and
outputting the generated output pixel pattern.

16. A color image resolution converting apparatus, comprising:
an enlarging ratio input device configured to input an image enlarging ratio;
an image data input device configured to input target pixel data of an image in a first color space to be enlarged in a sequence;
a pixel sampling device configured to sample reference pixels including the target pixel and pixels at least one of which links to the target pixel;
a color space converting device configured to convert the sampled reference pixel data in the first color space into reference pixel data in a second color space data;
a pattern comparing device configured to compare a pixel data distribution of the sampled reference pixels with a plurality of matching patterns in the second color space;
an image data output device configured to output generated and selected pixel data;
a filling color generating device configured to generate filling color information for filing the pixels of the embedding pattern with colors according to an output of the pattern comparing device; and
a filling device configured to fill the pixels of the embedding pattern with colors of the reference pixels in the first color space according to the generated filling color information.

17. The apparatus according to claim 16,
wherein the first color space comprises red, green and blue colors, and the second color space comprises luminance information, hue information, and saturation information, and
wherein the comparing device compares the pixel data distribution of the sampled reference pixels with the plurality of matching patterns in one of the luminance information, the hue information, and the saturation information.

18. The apparatus according to claim 16,
wherein the first color space comprises red, green, and blue colors, and the second color space comprises luminance information, first color difference information, and second color difference information, and
wherein the comparing device compares the pixel data distribution of the sampled reference pixels with the plurality of matching patterns in one of the luminance information, the first color difference information and the second color difference information.

19. A color image resolution converting apparatus, comprising:
an enlarging ratio input device configured to input an image enlarging ratio;
a pixel data input device configured to input target pixel data of an image in a first color space to be enlarged in a sequence;
a pixel sampling device configured to sample reference pixels including the target pixel and pixels at least one of which links to the target pixel;
a bi-level data converter configured to convert the reference pixel data into a predetermined number of bi-level reference pixel data with a predetermined number of threshold values respectively;
a comparing device configured to compare each pixel data distribution of the predetermined number of the bi-level reference pixel data with a plurality of matching patterns;
a pixel pattern generating device configured to generate a predetermined number of embedding patterns according to coincided matching patterns and the image enlarging ratio;
a pixel pattern merging device configured to generate an output pixel pattern by merging the predetermined number of generated embedding patterns; and
an image data output device configured to output the generated pixel pattern.

20. The apparatus according to claim 19, further comprising:
an embedding pattern generating device configured to generate a plurality of the embedding patterns based on a plurality of basic embedding patterns according to the input image enlarging ratio.

21. The apparatus according to claim 19, further comprising:
a color space converting device configured to convert the sampled reference pixel data in the first color space into reference pixel data in a second color space data,
wherein the comparing device compares each of the pixel data distributions of the predetermined number of the bi-level reference pixel data with the plurality of matching patterns in the second color space, and the apparatus further comprises:
a filling color generating device configured to generate filling color information for filing the pixels of the embedding patterns with colors in the first color space according to an output of the comparing device; and
a color filling device configured to fill the pixels of the predetermined number of generated embedding patterns with the colors of the reference pixels in the first color space according to the generated filling color information.

22. The apparatus according to claim 19,
wherein the first color space comprises red, green, and blue colors, and the second color space comprises luminance information, hue information, and saturation information, and
wherein the comparing device compares each of the pixel data distributions of the predetermined number of the bi-level reference pixel data with the plurality of matching patterns in one of the luminance information, the hue information, and the saturation information.

23. The apparatus according to claim 19,
wherein the first color space comprises red, green, and blue colors, and the second color space comprises luminance information, first color difference information, and second color difference information, and
wherein the comparing device compares each of the pixel data distributions of the predetermined number of the bi-level reference pixel data with the plurality of matching patterns in one of the luminance information, the first color difference information, and the second color difference information.

24. The apparatus according to claim 19, further comprising:
an area dividing device configured to divide an area of the sampled reference pixels into plural areas,
wherein the pattern comparing device compares the divided pixel data distribution of the sampled reference pixels with the plurality of matching patterns.

25. The apparatus according to claim 19, further comprising:
a color space converting device configured to convert the target pixel data in the first color space into pixel data in a second color space comprising luminance data and color data,
wherein the pattern comparing device compares each of the pixel data distributions of the predetermined number of the bi-level reference pixel data in the second color space with the plurality of matching patterns, and the apparatus further comprises:
a second color space converting device configured to convert the generated output pixel pattern in the second color space into an output pixel pattern in the first color space.

26. The apparatus according to claim 25, wherein the pattern comparing device compares each luminance data distribution of the predetermined number of bi-level reference pixel data with the plurality of matching patterns.

27. The apparatus according to claim 19, wherein the predetermined number of threshold values for converting the reference pixel data are generated based on the reference pixel data.

28. The apparatus according to claim 27, wherein the predetermined number of threshold values for converting the reference pixel data are generated based on a maximum value and a minimum value in the reference pixel data.

29. The apparatus according to claim 19, wherein the merging the embedding patterns to generate the output pixel pattern is performed such that a relatively darker pixel pattern is overlaid over a relatively lighter pixel pattern.

30. A color image resolution converting apparatus, comprising:
means for inputting an image enlarging ratio;
means for inputting target pixel data of an image in a first color space to be enlarged in a sequence;
means for sampling reference pixels including the target pixel and pixels at least one of which links to the target pixel;
means converting the reference pixel data into a predetermined number of bi-level reference pixel data with a predetermined number of threshold values respectively;
means for comparing each pixel data distribution of the predetermined number of the bi-level reference pixel data with a plurality of matching patterns;
means for generating a predetermined number of embedding patterns according to coincided matching patterns and the image enlarging ratio;
generating an output pixel pattern by merging the predetermined number of generated embedding patterns; and
means for outputting the generated output pixel pattern.