1. Field of the Invention
The present invention relates to an image processing apparatus and an image processing method. More particularly, the present invention relates to a digital image filtering apparatus and a digital image filtering method. Further, the present invention relates to a recording medium, such as a computer readable medium, having recorded thereon a processing program for permitting a computer to perform image processing routines.
The present application is based on Japanese Patent Application No: Hei. 11-280907, which is incorporated herein by reference.
2. Description of the Related Art
Conventionally, using filters to change the image quality of digital image data that are output is a well known process. In this explanation, unless otherwise specified, filtering represents a concept that includes spatial filtering, tone correction and gray level correction processes. Enhancement filtering, for example, which is a kind of spatial filtering, is a process for emphasizing the contrast between adjacent pixels to enhance detailing, such as at edges, around corners and along lines.
Generally, when an image processing application performs multiple kinds of filtering, these processes are performed in the order corresponding to that stipulated by an operator for the parameters established to perform the filtering, until finally, the results are output to a display. Thus, when for such an application an operator sets in a specific order parameters for spatial filtering and for gray level correction, for example, the processing is performed in that order. In addition, an operator may, while confirming the quality of an image output to a display, change the parameters for the performance of filtering by determining which parameters to use to obtain a desired image quality for the output of an image to a printer.
When the filtering of image data is performed, generally, as a result of the processing involved, color information and spatial information are reduced. For example, when the number of gray levels is reduced or increased to alter the brightness of an HSB (Hue, Saturation, and Brightness) model, two pixels that before the processing had different brightness levels may both have the same level after the processing has been completed. Also, a reduction in the total amount of color information, which is accomplished by employing a number of different processes for filtering, varies in consonance with the order in which the processes are performed. Therefore, the quality of the image data that is output fluctuates, depending in large part on the order in which filtering parameters are designated by a user.
To resolve this problem, it is an object of the present invention to provide an image processing apparatus and an image processing method whereby the data that are output consistently ensure that a high quality image will be obtained, regardless of the order in which the parameters for the filtering are set.
According to the present invention, an image processing apparatus includes:
a storage device which stores input image data in a first area;
a refuging device which stores, in a second area of the storage device, sample image data produced from the input image data that has been stored in the first area; and
a pseudo display device which outputs, to a display, pseudo image data obtained by performing a number of different processes for filtering the sample image data stored in the second area. Therefore, when a process for performing the filtering has been determined, the results obtained by the filtering can be displayed on a screen without the input image data having to be processed. The sample image data, for which the input image data were employed as source data, can be, for example, data duplicating the input image data, data obtained by reducing the input data, or thumbnail image data produced using the input data.
A parameter registration device stores, in a third area of the storage device, parameters that are to be referred to for each kind of process that is performed for filtering the sample image data in the second area. While referring to the parameters in the third area, a filtering device performs, in a predetermined order, a number of different processes for filtering the input image data in the first area to obtain image data for output. Therefore, regardless of the order in which an operator designates the parameters for the filtering, different kinds of processes can be performed in the order that best provides an improved quality image. In other words, high quality image data can be consistently output.
The parameters used for the process for filtering the input image data need not be the same as those used for the process for filtering the sample image data. For example, for the processes used for filtering input image data and simulated image data, by referring to the parameters stored in the third area, new parameters may be obtained in accordance with the print size or the display size of an output image, and these new parameters may be used to perform the process for filtering the input image data or the sample image data. Here, the storage device is a conceptual representation that includes a main storage device and an auxiliary storage device.
According to the present invention, the filtering device sequentially performs, in accordance with an order established to minimize color information and spatial information reductions, a number of different processes for filtering the input image data. As a result, the output image quality is improved.
According to the present invention, for the input image data stored in the first area, the filtering device performs, in the named order, a tone curve correction process for an RGB model, a saturation correction process for an HSB model, and a spatial filtering correction process. Therefore, color information and spatial information reductions due to filtering can be minimized.
According to the present invention, the pseudo display device performs the number of different processes, in the same order as having been employed for the processes performed in the first area for the input image data, to filter the sample image data in the second area. As a result, a displayed image, which was obtained by performing the processes for filtering the sample image data, can approximate the output results obtained with the image data.
According to the present invention, the refuging device generates the sample image data by reducing a size of the input image data stored in the first area, and stores the sample image data in the second area of the storage device. Since the size of the sample image data is smaller than is that of the input image data, less time is required to display the results obtained by the filtering, which is performed in accordance with the parameters.
Further, according to the present invention, an image processing method or a computer readable medium having recorded thereon a processing program for permitting performance of a computer, is provided. The image processing method, or the processing program, includes the steps of:
storing, in a second area on a storage device, sample image data produced from input image data that has been stored in a first area of the storage device; and
outputting, to a display, pseudo image data obtained by performing a variety of processes to filter the sample image data stored in the second area. Therefore, since a variety of processes are performed when the sample image data are filtered, the obtained results can be reflected in the processing performed for the input image data. Further, parameters that are referred to for each process, when the filtering of the sample image data in the second area is performed, are stored in a third area of the storage device. By referring to these parameters, the various filtering processes can be performed in a predetermined order for filtering the input image data in the first area, and output image data can be obtained. Therefore, regardless of the order in which the parameters for filtering are designated by an operator, the order in which the various processes are performed is the one that can best improve the output image quality. In other words, high quality image data can be consistently output.
According to the present invention, the order in which a variety of processes, for filtering the input image data in the first area, are sequentially performed to minimize the reduction in color information and in spacial information, and thereby improves the quality of the image that is output.
According to the present invention, corrective filtering for the input image data in the first area is performed in order in consonance with the sequential arrangement of tone curve correction for an RGB model, saturation correction for an HSB model in the input image data, and spatial information correction. As a result, a reduction in color information and in spatial information due to filtering can be minimized.
According to the present invention, the number of different processes are performed for filtering the sample image data in the second area in the same order as that used for the processes performed for filtering the input image data in the first area. Thus, a displayed image obtained by performing the filtering for the sample image data can approximate the results provided for the output image data.
According to the present invention, the sample image data is generated by reducing a size of the input image data in the first area and storing the resultant data in the second area of the storage device. Since the size of the sample image data is smaller than that of the input image data, the time required to display the results obtained by the filtering performed in accordance with the parameters can be reduced.
A preferred embodiment of the present invention now will be described with reference to
A CPU (Central Processing Unit) 2 and a RAM (Random Access Memory) 3, which is a storage device, are interconnected by a memory bus via a PCI memory control chip set (not shown). The memory bus is connected to a high-speed bus, which in turn is connected to peripheral devices, such as a graphics controller 4 and a hard disk 5, for which high speed processing is required. The high-speed bus itself is connected to a low-speed bus via a bridge circuit (not shown). And connected to the low-speed bus is an input unit 6, such as a mouse or a keyboard, and an interface 7.
Under the control of an operating system (hereinafter referred to as an OS), the image processing apparatus 1 executes an image processing application 9, which is loaded into the RAM 3, and outputs image data to the graphics controller 4 and to the printer 8. The image processing application 9 will now be described while referring to
The image processing application 9 comprises a graphical user interface module (hereinafter referred to as a GUI module) 9a, a parameter calculation module 9e, a filtering module 9f, a printer driver interface module (hereinafter referred to as a PDI module) 9g, a reduction module 9c, a simulated parameter calculation module 9b and a simulated filtering module 9d. Further, the image processing application 9 acquires, in the RAM 3, an input value storage area 9p, used to store a value entered by an operator when the application 9 is executed; an input image data storage area 9q, used to store input image data that are retrieved from the hard disk 5; an output image data storage area 9s, used to store output image data; a reduced image data storage area 9r, used to store reduced image data that serve as sample data; a preview image data storage area 9t, used to store preview image data that serve as pseudo image data; and a thumbnail data storage area 9u, used to store thumbnail data for the input image data. Values that are entered by an operator and are stored in the input value storage area include: a tone curve setting reference sign, a saturation setting reference sign, a sharpness effect setting reference sign, a special effect setting reference sign and a texture setting reference sign, all of which are referred to by the parameter calculation module 9e and the simulated parameter calculation module 9b, and a print setting reference sign, which is referred to by the parameter calculation module 9e and the PDI module 9g.
The GUI module 9a, which is executed by the CPU 2 and serves as a parameter registration device, is a processing program for outputting to the display device 10 the operating screens shown in
The parameter calculation module 9e is a processing program for calculating parameters that are used, in the processing for the filtering of input image data, by referring to the tone curve setting reference sign, the saturation setting reference sign, the sharpness effect setting reference sign, the special effect setting reference sign, the texture setting reference sign and the print setting reference sign, which are stored in the input value storage area 9p by the GUI module 9a, and for transmitting these parameters to the filtering module 9f.
The filtering module 9f, which is executed by the CPU 2 and serves as a filtering device, is a processing program for sequentially performing, based on the parameters received from the parameter calculation module 9e, the following filtering processes for the input image data.
(1) First process for using filtering to change the tone curve of an RGB (Red, Green and Blue) model for image data.
(2) Second process for using filtering to change the saturation of an HSB (Hue, Saturation, and Brightness) model for image data.
(3) Third process for performing spatial filtering to enhance or provide shading for the outline of an image.
(4) Fourth process for performing calculations to generate a regularly textured image.
The individual processes will now be explained.
For the first process, the parameter obtained by using the tone curve setting reference sign is employed for the filtering performed to change the tone curve of image data (RGB model) and to correct the intensity levels of the RGB colors.
For the second process for performing filtering, the resultant image data (RGB model) provided by using the first process are converted into an HSB model, and the parameter obtained by using the saturation setting reference sign is employed for the filtering performed to correct the saturation level of the image data of the HSB model.
For the third process for performing filtering, the resultant image data (HSB model) provided by using the second process are converted into an RGB model, and the parameter obtained by using the sharpness effect setting reference sign is employed for the filtering performed to extract a correction target pixel in accordance with a threshold value designated by an operator. The radial correction range for a target pixel is determined in accordance with the width of the outline designated by the operator. Then, the contrast is enhanced in accordance with a distance for the range designated by the operator.
For the fourth process for performing filtering, the intensity levels of the RGB colors in the image data (RGB model) provided by the third process are corrected at regular intervals in raster space, so that the pattern of the texture that is determined in accordance with the texture setting reference sign can be represented on the output image.
This completes the explanation of the filtering processes.
The PDI module 9g is a processing program for transmitting to a printer driver, via the graphics, interface of the OS, the output image data obtained by the filtering module 9f, and a drawing command for the output image data.
The reduction module 9c, which when executed by the CPU 2 serves as a refuging device, is a processing program for reducing the size of the input image data to obtain sample image data for 400×400 pixels, and for storing the sample image data in the reduced image data storage area. When, for example, the input image data is 1600×1200 pixels, the reduction module 9c performs a 1/16 input image data pixel reduction to obtain a pixel count of 400×300, and stores the obtained image data in the reduced image data storage area 9r.
The simulated parameter calculation module 9b is a processing program for calculating a parameter that is used for the filtering of the reduced image data, while referring to the filtering setting reference sign that is stored in the input value storage area 9p, and for transmitting the parameter to the simulated filtering module 9d. The parameter is so obtained by the simulated parameter calculation module 9b that visually the resultant data acquired through the filtering of the input image data are substantially the same as the reduced data obtained through the filtering of the image data.
The simulated filtering module 9d, which when executed by the CPU 2 serves as a simulation display device, is a processing program for performing the first to the fourth processes for the filtering of the reduced image data based on the parameter received from the simulated parameter calculation module 9b. The code that is loaded into the CPU 2 when the simulated filtering module 9d performs the first to the fourth processes is substantially the same as the code that is loaded when the filtering module 9f performs the first to the fourth processes.
An explanation will now be given for the operation of the image processing apparatus 1 when performing the process for the filtering of the input image data in accordance with the procedures in
STEP 10
When the image processing application 9 is loaded into the RAM 3, the GUI module 9a stores a default value in the input value storage area 9p, loads into the thumbnail storage area 9u the thumbnail data for image data that are stored in an auxiliary storage device, such as the hard disk 5, issues a drawing command to the graphics interface of the OS, transmits the thumbnail data to a video memory 41, and displays a screen shown in
The thumbnail data that are loaded into the thumbnail storage area 9 from the hard disk 5 are output to the screen in
STEP 20
When a filtering setting switch 101 is selected, the GUI module 9a loads, into the input image data storage area 9q, image data stored at an address in the input value storage area 9p. The reduction module 9c generates reduced image data by reducing the input image data, and stores the thus obtained image data in the reduced image data storage area 9r. The GUI module 9a then issues a drawing command to the graphics interface of the OS, and displays the screen shown in
The screen in
Before a selected process for filtering is performed, the same contents are shown in the left display area of the screen by selecting either a filter tab 105 or an original tab 106. When either tab is selected, the reduced image 118 is displayed in a reduced image display area 119 of 400×400 pixels. Thus, when the GUI module 9a transmits the reduced image data from the reduced image data storage area 9r to the video memory 41, the reduced image 118 is displayed.
In the right display area of the screen, the switches 107 to 111 and 114 to 117 are displayed to enable the selection of one of the effects provided by the first to the fourth processes that is to be reflected by the output image. When one of the switches is selected, the contents in the right display area are changed as is shown in
STEP 30
(1) Setting of the First Filtering Process
To designate the first process for the filtering of an input image, on the screen displayed by selecting the brightness switch 107, the contrast switch 108 or the color balance switch 109 in
When the contrast switch 108 is selected, the screen in
When the operator manipulates the preset switch 121, 122 or 123, or the slide switch 126, 127 or 128, one of the following simulated filtering process is performed for the reduced image data.
(i) In accordance with the manipulation performed by the operator, the GUI module 9a changes a part of the tone curve setting signs stored in the input value storage area 9p. Further, before the operator manipulates the preset switch 121, 122 or 123, or the slide switch 126, 127 or 128, the GUI module 9a moves the tone curve setting reference sign from the input value storage area 9p to another area, so that the tone curve setting reference sign is returned to the previous state.
(ii) The simulated parameter calculation module 9b refers to the tone curve setting reference sign, the saturation setting reference sign, the sharpness setting reference sign and the texture setting reference sign for generating parameters used for the first to the fourth processes, and transmits the obtained parameters to the simulated filtering module 9d. By using these parameters, the simulated filtering module 9d sequentially performs the first, the second, the third and the fourth processes for the filtering of the reduced image data to generate the preview image data, and stores the previous image data in the preview image data storage area 9t.
The processing for the display of an image in the left display area of the screen will now be explained.
When the original tab 106 is selected, the GUI module 9a issues a drawing command to the graphics interface of the OS, transmits the reduced image data to the video memory 41, and displays, in the reduced image display area 119, the reduced image 118 that has not yet been subjected to filtering.
When the filter tab 105 is selected, the GUI module 9a issues a drawing command to the graphics interface of the OS, transmits the preview image data to the video memory 41, and displays, in the reduced image display area 119, the reduced image 118 that has been subjected to filtering.
When an OK switch 125 is selected, the GUI module 9a changes the right display area of the screen of the display device 10 to the screen shown in
When the cancel switch 124 is selected, the GUI module 9a returns to the input value storage area 9p the filtering setting reference sign that has been stored in the GUI module 9a, and displays the screen in
When the original tab 106 on the screen in
When the filter tab 105 is selected on the screen in
(2) Setting the Second Process
To designate the second process for the filtering of an input image, on a screen in
A slide switch 137 is used to change the saturation setting reference sign that is to be referred to in the second process, so that the saturation levels of all the pixels are changed. Preset switches 131 to 138 are used to move the slide switch 137 to a predetermined position to set the saturation setting reference sign that is determined in advance.
When the operator manipulates one of the preset switches 131 to 135 or the slide switch 137, the following simulated process is performed to filter the reduced image data.
(i) In accordance with a manipulation performed by an operator, the GUI module 9a changes a part of the saturation setting reference sign in the input value storage area 9p. Further, before the operator manipulates one of the preset switches 131 to 135 or the slide switch 137, the GUI module 9a moves the saturation setting reference sign from the input value storage area 9p to another area, so that the saturation setting reference sign can be returned to its previous state.
(ii) The simulated parameter calculation module 9b refers to the tone curve setting reference sign, the saturation setting reference sign, the sharpness setting reference sign and the texture setting reference sign to generate parameters used for the first to the fourth filtering processes, and transmits the obtained parameters to the simulated filtering module 9d. By using these parameters, the simulated filtering module 9d sequentially performs the first, the second, the third and the fourth filtering processes for the reduced image data, and generates the preview image data and stores the previous image data in the preview image data storage area 9t.
The procedure for displaying an image in the left display area of the screen is performed in the same manner as is the procedure for setting the first process for performing filtering.
(3) Setting of the Third Process for Performing Filtering
To designate, on a screen in
A slide switch 175 is used to change the sharpness setting reference sign that is to be referred to in the third process, so that the contrast enhancement level is changed. A slide switch 177 is used to change the sharpness setting reference sign that is to be referred to in the third process, so that, when a target pixel for changing the contrast with an adjacent pixel is extracted, the threshold value for the contrast between the target pixel and its adjacent pixel is changed. Preset switches 171, 172 and 173 are used to move the slide switch 175 to a predetermined position to set for the sharpness setting reference sign setting a level that has been determined in advance.
When an operator manipulates the preset switch 171, 172 or 173 or the slide switch 175, the following simulated process is performed to filter the reduced image data.
(i) In accordance with the manipulation performed by the operator, the GUI module 9a changes a part of the sharpness setting reference sign in the input value storage area 9p. Further, before the operator manipulates one of the preset switches 171 to 173 or the slide switch 175, the GUI module 9a moves the sharpness setting reference sign from the input value storage area 9p to another area, so that the sharpness setting reference sign can be returned to its previous state.
(ii) The simulated parameter calculation module 9b refers to the tone curve setting reference sign, the saturation setting reference sign, the sharpness setting reference sign and the texture setting reference sign to generate parameters for use for the first to the fourth processes for performing filtering, and transmits the obtained parameters to the simulated filtering module 9d. By using these parameters, the simulated filtering module 9d sequentially performs the first, the second, the third and the fourth processes to filter the reduced image data and to generate the preview image data, and stores the previous image data in the preview image data storage area 9t.
The procedure performed for displaying an image in the left display area of the screen is performed in the same manner as is the procedure for setting the first process for performing filtering.
(4) Setting of the Fourth Process for Performing Filtering
To designate the fourth process for filtering an input image, on a screen in
Texture switches 141, 142 and 143 are used to change the texture setting reference sign and to determine the size of a regular pattern, for which the brightness levels are uneven, that is generated for an output image. When an operator manipulates the texture switch 141, 142 or 143, the following simulated process is performed to filter reduced image data.
(i) In accordance with the manipulation performed by the operator, the GUI module 9a changes a part of the texture setting reference sign in the input value storage area 9p. Further, before the operator manipulates one of the preset switches 141 to 143, the GUI module 9a moves the texture setting reference sign from the input value storage area 9p to another area, so that the texture setting reference sign can be returned to its previous state.
(ii) To generate parameters to be used for the first to the fourth processes performed for filtering, the simulated parameter calculation module 9b refers to the tone curve setting reference sign, the saturation setting reference sign, the sharpness setting reference sign and the texture setting reference sign, and thereafter transmits the obtained parameters to the simulated filtering module 9d. By using these parameters, the simulated filtering module 9d sequentially performs the first, the second, the third and the fourth processes for filtering the reduced image data and generating the preview image data, and stores the previous image data in the preview image data storage area 9t.
The procedure employed for displaying an image in the left display area of the screen is performed in the same manner as is the procedure used to set the first filtering process.
When the above processing is completed and the OK switch 112 on the screen in
When the cancel switch 113 on the screen in
STEP 40
When the print setting switch 102 on the screen in
On this screen, the print paper size and the layout of an image designated by an operator can be set.
When a postcard tab 161, a photocard tab 160 or an A4 tab 159 is selected, a paper size corresponding to the selected tab is set, and icons 151, 152, 153, 157 and 158 are displayed to represent the available layouts for the pertinent paper sizes, and a check mark 156 is displayed to indicate an icon that was selected by an operator. When in this case the tab is selected, the GUI module 9a changes the print setting reference sign that corresponds to the parameter used to determine the paper size; and when an icon is selected, the GUI module 9a changes the print setting reference sign that corresponds to the parameter used to determine the layout.
STEP 50
When an OK switch 154 is selected on the screen in
To generate parameters used for the first to the fourth filtering processes, the parameter calculation module 9e refers to the tone curve setting reference sign, the saturation setting reference sign, the sharpness setting reference sign and the texture setting reference sign, and thereafter transmits the obtained parameters to the filtering module 9f. Using these parameters, the filtering module 9f sequentially performs the first to the fourth processes for filtering the input image data and generating the output image data, and stores the output image data in the output image data storage area 9s.
STEP 60
The PDI module 9g issues to a printer driver, via the graphic interface, a drawing command for the output image data. At this time, the PDI module 9g refers to the print setting reference sign to reflect to the drawing command the print paper size and the layout, and the printer driver issues a print command to the printer 8, which in turn initiates the printing.
The operation of the image processing apparatus 1 has been explained for the performance of the processing for filtering image data and for outputting the image data to the printer 8 in consonance with the procedures in
According to the image processing apparatus of this embodiment, to set up the process for performing filtering, the results obtained by the simulated process are displayed on the screen in real time in accordance with the manipulations of the switches performed by an operator. Therefore, the operator can specify the performance of filtering while confirming the results of the simulated process.
Further, regardless of the order in which the operator sets the filtering processes at STEPs 20 and 30, a variety of filtering processes are performed in a predetermined order by referring to the tone curve setting reference sign, the saturation reference setting sign, the sharpness setting reference sign, the texture reference setting sign and the print setting reference sign, all of which are stored in the input value storage area 9p. Thus, various kinds of filtering processes can be performed in the order that can best improve the quality of output images. In other words, high quality images can consistently be output.
In addition, since the tone curve correction (first process for performing filtering) for an RGB model, the saturation correction (second process) for an HSB model and the spacial filtering process (third process) are performed in the named order, the reduction of color information and the spacial information can be minimized. Furthermore, a special process (a fourth process) that does not depend on the original image can be performed after the processes (the first to the third processes) that depend on the original image, while the operator can obtain a desired output image quality based on the image of a pickup object that he or she observes.
Moreover, since the order for performing the filtering processes for the input image data matches the order for performing the filtering processes for the reduced image data, the filtering effects appearing on an image in a display can approximate the filtering effects appearing on an image output to the printer 8.
Also, since the image data obtained by reducing the input data are employed for the simulated process, and since the size of the reduced image data is smaller than the size of the input image data, the results obtained by the simulated processing can be quickly displayed on the screen for setting up the filtering.
In this embodiment, the image data are finally transmitted to the printer 8. However, instead of transmitting the image data to the printer 8, the image data may be stored on an auxiliary storage device, such as the hard disk 5. The storage locations of the data entered upon the execution of each module, the data finally output and the data output during the process are not limited to the RAM 3. A part of these data may be stored in the register, of the CPU 2, instead of the RAM 3. Further, the preview image data storage area 9t may not be acquired in the RAM 3, and preview image data may be output directly to the video memory 41.
A computer readable medium, such as a compact disk or a floppy disk, may be employed to distribute the image processing application 9. Further, such a processing program may be recorded at a terminal computer when a server machine transmits a carrier to a communication line by Internet.
Number | Date | Country | Kind |
---|---|---|---|
11-280907 | Oct 1999 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4833625 | Fisher et al. | May 1989 | A |
5111286 | MacDonald et al. | May 1992 | A |
5283671 | Stewart et al. | Feb 1994 | A |
5657477 | Nonoshita et al. | Aug 1997 | A |
5907667 | Shiraishi | May 1999 | A |
6522418 | Yokomizo et al. | Feb 2003 | B2 |
6667815 | Nagao | Dec 2003 | B1 |
6868189 | Hoshino | Mar 2005 | B1 |
7356202 | Hoshino | Apr 2008 | B2 |
Number | Date | Country |
---|---|---|
0 443 851 | Aug 1991 | EP |
0 559 376 | Sep 1993 | EP |
0 786 896 | Jul 1997 | EP |
6-333006 | Feb 1994 | JP |
8-101908 | Apr 1996 | JP |
10-313399 | Nov 1998 | JP |
11-185034 | Jul 1999 | JP |
9220184 | Nov 1992 | WO |
Number | Date | Country | |
---|---|---|---|
20090285501 A1 | Nov 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12033563 | Feb 2008 | US |
Child | 12508203 | US | |
Parent | 10963623 | Oct 2004 | US |
Child | 12033563 | US | |
Parent | 09676490 | Oct 2000 | US |
Child | 10963623 | US |