Image processing apparatus

Abstract: There is provided an image processing apparatus for executing a process to an input image in accordance with the characteristics thereof, comprising: an input device to input iamge data; a detector to detect the characteristics of the input image; and a processor to execute first and second processes such as brightness correcting processes or color balance correcting processes for the input image data on the basis of weights corresponding to the characteristics of the input image. When the weight of the first process is large, the weight of the second process is set to a small value. As the characteristics of the input image are deviated from a predetermined condition, the processor sets the weight of the first process to a small value and sets the weight of the second process to a large value. With the appa­ ratus, the brightness and the color balance of the input image are preferably corrected and a natural image can be output irrespective of the characteristics of the image reading apparatus.

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to an image processing method and apparatus for executing a correction process according to characteristics of an input image. Related Background Art A color image signal from an image reading apparatus having an image pickup device, for instance, from an SV (still video) apparatus is digitized and subjected to signal processes such as a masking process and the like and, thereafter, it is color printed. Or, before the color image signal is digitized, the level for digitization is adjusted by an automatic gain controller (AGC) or a white balance controller. However, for the color image signal from the foregoing image reading apparatus, a method of setting a color balance and a recording level (brightness) differ depending on the manufacturing maker of such an apparatus or the type of apparatus. Therefore, if a color image signal is simply stored into a memory and displayed by a color monitor or is processed and color printed, there are problems such that the color balance is lost and the resultant color image is slightly blue or slightly red or is dark. The present invention is concerned with alleviating this problem. European Patent Specification EP-A-0,258,740 discloses a method of processing colour image data in which R, G and B data can be independently converted by means of appropriate look up tables for each colour but does not provide a totally adequate solution. Thus the present invention provides a method of processing image data as set out in claim 1, and an image processing apparatus as set out in claim 9. In order that the present invention may be more readily understood, embodiments thereof will now be described by way of example and with reference to the accompanying drawings, in which:- Fig. 1 is a block diagram showing a circuit construction of the first embodiment of the present invention Figs. 2 and 3 are diagrams showing contents of correction tables which are previously written into an ROM 13; Figs. 4A and 4B are flowcharts for the first embodiment of the invention; Fig. 5 is a block diagram showing a circuit construction of the second embodiment of the invention; Fig. 6 is a circuit block diagram of the third embodiment of the invention; Figs. 7 and 8 are diagrams showing contents of correction tables written in an ROM 43; Figs. 9A to 9C are flowcharts for the third embodiment of the invention; Fig. 10 is a schematic diagram showing processes in the third embodiment of the invention; Figs. 11A to 11D are diagrams showing contents of correction tables based on other membership functions in the third embodiment of the invention; and Fig. 12 is a circuit block diagram of the fourth embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS [First embodiment] According to the embodiment, the minimum value of each component signal of a given color image signal is obtained every pixel and the color image signal is corrected on the basis of a ratio of the component signals of the pixels in which the minimum value satisfies a predetermined condition. According to the embodiment, there is disclosed an apparatus using a method whereby an average value and the maximum RGB values which are considered to be a white level are obtained from RGB image signals which were fetched into a memory from an SV camera or an SV floppy and image data is corrected by using the average value and the maximum RGB values. However, the invention is not limited to such an embodiment but can be also applied to other various methods. Fig. 1 is a circuit block diagram showing a construction of the first embodiment of the invention. Image signals from an SV floppy or an SV camera which are input by, for instance, a Y signal and a C signal (color difference signal) are input to an analog decoder 1. In the analog decoder 1, the conversion into analog RGB signals and the correction of the levels of the analog signals by an AGC are executed. Then, the analog signals are digitized by an A/D converter 2. The digital signals are stored into a memory 3 or 8 each having a memory capacity of one picture plane. A CPU 7 extracts N points (1 ≦ N ≦ the number of all of the pixels) from the image data in the memory and processes the data. The CPU 7 selects or makes the optimum correction table from an ROM 13 and sets into a correction table 4 or 9. In the case of selecting and setting the optimum correction table, the CPU 7 selects one of curves 1 ○ to 6 ○ in Fig. 3 and sets into the correction table 4. The CPU 7 selects one of the curves 1 ○ to 6 ○ in Fig. 2 and sets into the correction table 9. A method of selecting the correction table by using the image data in the memory will now be described. Figs. 4A and 4B are flowcharts showing procedures for such processes. First, the CPU 7 sequentially reads out N image data from the memory (step 1 in Fig. 4A). Then, the CPU 7 extracts the pixel data whose signal values are not saturated (for instance, in the case of 8 bits, the signal value is not 255) from among signal values R i , G i , and B i (ith pixel data; 1 ≦ i ≦ N) of RGB. The CPU 7 then sets the pixel whose min(R i , G i , B i ) (that is, the minimum value among R i , G i , and B i ) is the largest among the pixel data into R max , G max , and B max of the maximum RGB values and sets such that IDMAX = 1. On the other hand, when all of the signal values have been saturated, it is set such that IDMAX = 0 (step 3 in Fig. 4A). In the case of the pixel which is slightly red, min(R i , G i , B i ) = R i . In the case of the pixel which is slightly green, min(R i , G i , B i ) = G i . In the case of the pixel which is slightly blue, min(R i , G i , B i ) = B i . The maximum values R max , G max , and B max obtained are considered to be the pixel data of the portion indicative of white in one picture plane which was stored in the memory 3 or 8. Therefore, assuming that the difference between the maximum value and the minimum value of R max , G max , and B max is set to DSA, if DSA = 0, this means that the color balance (white balance) is obtained. However, when DSA ≠ 0, it is necessary to correct so as to obtain DSA = 0. For R max , G max , and B max , the min(R i , G i , B i ) is not necessarily set to the maximum pixel but may be set to, for instance, the second or third pixel from the maximum pixel. On the other hand, for example, it is also possible to calculate the average value of at most ten pixels. In step 7 in Fig. 4A, the CPU 7 calculates average values AVER, AVEG, and AVEB of N image data, that is, all of the pixel data of one picture plane and calculates the difference between the maximum average value and the minimum average value and sets the difference into SA. If SA = 0, the average density in one picture plane corresponds to achromatic color and this means that the color balance of the original image is obtained to a certain degree. This corresponds to the case where the theorem of Evans which is used when silver salt printing a transmission film is applied to the image signal from the SV. When SA ≠ 0, this means that the color balance is deviated, so that it is necessary to correct so as to obtain SA = 0. A condition section to select the correction table will now be described by using processing steps 14 to 19 in Fig. 4B. In Fig. 4B, G 1 , G 2 , G 3 , G 4 , and G 5 are preset constants. For instance, G 1 = 55, G 2 = 127, G 3 = 30, G 4 = 50, and G 5 = 50. Even if the above values are slightly deviated, the picture quality of the output image does not largely deteriorate and those values can be also set by shifting by about ±20. It is the fundamental idea that an SV image in which the difference SA of the average values and the difference DSA between the maximum and minimum values of the maximum RGB values are respectively smaller than certain values G 1 and G 4 is used as an object for the color balance correction, while an image in which the maximum value AVEMAX of the average values is darker than a certain value G 2 and is brighter than a certain value G 5 is also subjected to the correction so as to brighten such an image. Further, the brightness is corrected by the average value and the color balance is corrected by more significantly considering the maximum RGB values rather than the average value. In step 14 in Fig. 4B, an image in which the maximum value AVEMAX of the average value is larger and brighter than G 2 in the case where the deviations of the balances of both of SA and DSA lie within a range of certain values G 1 and G 3 and in which the maximum RGB values are not saturated is used for the color balance correction. The CPU 7 corrects the color balance of such an image by using the maximum RGB values. That is, γ R = DMAX/R max γ G = DMAX/G max γ B = DMAX/B max where, γ R , γ G , and γ B denote gamma values and indicate inclinations in Fig. 2. In step 15 in Fig. 4B, the condition of the maximum value AVEMAX of the average value differs from that in step 14 in Fig. 4B. Step 15 relates to the case where the AVEMAX is smaller than G 2 and larger than G 5 , that is, the case where the image is dark to a certain degree. In this case, the CPU 7 uses the average value as a correction to brighten and corrects the color balance in a manner similar to the process in step 14 in Fig. 4B. That is, γ R = (G 2 /AVEMAX)(DMAX/R max ) γ G = (G 2 /AVEMAX)(DMAX/G max ) γ B = (G 2 /AVEMAX)(DMAX/B max ) Steps 16 and 17 in Fig. 4B relate to the processing steps to discriminate the case where the difference DSA of the maximum RGB values is slightly large. Since there is a possibility such that a pixel in which the maximum RGB values are slightly deviated from the white portion in one picture plane was picked up, the CPU 7 corrects the color balance by using both of the maximum RGB values and the average value. When the maximum value AVEMAX of the average value is larger than G 2 and the image is bright, in step 16 in Fig. 4B, the following processes are executed. γ R = (AVEMAX/AVER + 3DMAX/R max )/4 γ G = (AVEMAX/AVEG + 3DMAX/G max )/4 γ B = (AVEMAX/AVEB + 3DMAX/B max )/4 On the other hand, when the maximum value AVEMAX of the average value is smaller than G 2 and larger than G 5 , that is, when the image is dark to a certain degree, in step 17 in Fig. 4B, the following processes are executed. γ R = (G 2 /AVEMAX) (AVEMAX/AVER + 3DMAX/R max )/4 γ G = (G 2 /AVEMAX) (AVEMAX/AVEG + 3DMAX/G max )/4 γ B = (G 2 /AVEMAX) (AVEMAX/AVEB + 3DMAX/B max )/4 Steps 18 and 19 in Fig. 4B relate to the case where the value of the difference DSA of the maximum RGB values is further large. In this case, further, under the condition such that the difference SA of the average value is small and the maximum RGB values are saturated, the color balance is corrected by using the average value. In the case where the AVEMAX is larger than G 2 and the image is bright, the following processes are exectued. γ R = AVEMAX/AVER γ G = AVEMAX/AVEG γ B = AVEMAX/AVEB On the other hand, in the case where the AVEMAX is smaller than G 2 and the image is dark, the following processes are executed. γ R = G 2 /AVER γ G = G 2 /AVEG γ B = G 2 /AVEB In the case of the image which does not satisfy the conditions in steps 14 to 19, the CPU 7 sets γ R = γ G = γ B = 1 so as not to correct anything. As mentioned above, γ R , γ G , and γ B denote the inclinations in Fig. 2. The CPU 7 selects the inclinations near the γ obtained among 1 ○ to 6 ○ in Fig. 2 for RGB, respectively, and sets into the correction table 9. On the other hand, in correspondence to either one of the gamma correction curves 1 ○ to 6 ○, the CPU 7 also selects the table in Fig. 3 and sets into the correction table 4. As mentioned above, the correction tables 4 and 9 are set. The processes after the correction tables were set will now be described. When the correction table 4 is set, the SV image in the memory 3 is subjected to the degamma process (the given image signal is raised to 2.2nd power) and the density converting (logarithmic conversion) process by the correction table 4 together with the corrections of the color balance and brightness. That is, the correction table 4 converts each of the RGB signals of the SV image which was read out of the memory 3 in accordance with the tables which were independently set and outputs as Y, H, and C signals. In the next masking porcess, the YHC signals are subjected to the processes such as elimination of impurity of the color, undercolor removal, and the like, so that the signals of Y, M, C, Bk (yellow, magenta, cyan, black) are obtained and output to a printer 6. As a printer 6, any one of the electrophotographic type, ink jet type, and thermal copy transfer type can be used. When the correction table 9 is set, the color balance and brightness of the image data of the memory 8 are corrected by the correction table 9. The corrected image data is converted into the analog signals by a D/A converter 10 and converted into the luminance (Y) signal and color difference signal for monitor by an analog encoder 11 and displayed by a color monitor 12. In the above description, one of the gamma correction curves to be written into the tables 4 and 9 has been selected from among the correction tables 1 ○ to 6 ○ in Figs. 2 and 3. However, such a gamma correction curve may be also formed from the values of γ R , γ G , and γ B by the CPU 7. On the other hand, the number of tables to be selected can be also increased or decreased as necessary. On the other hand, although the brightness has been corrected by using the average value of the whole picture plane, it is also considered to use the maximum RGB values or to combine both of the average value and the maximum RGB values. In addition, although the maximum RGB values have preferentially been used to correct the color balance, it is also possible to change the order of priorities. Further, although the embodiment has been described with respect to the case of processing by the RGB, it is also possible to input yellow, magenta, and cyan signals and to process. [Second embodiment] On the other hand, as shown in Fig. 5, a correction table 20 can be also provided before the memory 3. That is, the correction table 20 is once set such that γ R = γ G = γ B = 1, the image signals are stored into the memory 3, and the color balance and brightness are reset into the correction table 20 from the values of γ R , γ G , and γ B which were examined and obtained by the processes of Fig. 4. Furthermore, the image is again stored into the memory 3 or 8 from the SV camera or SV floppy and the image whose color balance and brightness were corrected by the correction table 20 is written into the memory. In this case, in the correction table 4, the degamma process and the density conversion are executed. In the correction table 9, the conversion is not performed. It is also possible to construct in a manner such that the degamma process is executed in the correction table 20, the density conversion is performed in the correction table 4, and the gamma process is performed in the correction table 9. On the other hand, in the embodiment, although the process to make the image bright is executed for only the dark image, it is also possible to add a method of correction such as to return the image which is too bright to the image of the normal brightness. As described above, according to the embodiment, by sampling the image signal and by selecting or making a correction table so as to correct the color balance and brightness, the deviation of the color balance or the difference of the recording level (brightness) which is caused due to the difference of the makers of the still video camera or due to the difference of the apparatuses can be corrected and there is an effect such that a natural preferable image is obtained. Although the explanation has been made with respect to the example in which the image which was photographed by the still video camera is corrected, the invention is not limited to such an example but can be also applied to other image signal such as a color image signal which was obtained by photoelectrically converting an image of a film by a film scanner. As mentioned above, according to the embodiment, the color balance can be also preferably corrected. [Third embodiemnt] According to the third embodiment, the white level and the average level of the input color image signals are calcualted, further, the dependencies on the white level and average level of the color balance correction and brightness correction are calculated, and thereby executing the correction based on the dependencies calculated and thereby executing the optimum correction to the color image signals on the basis of the white level and average level. Fig. 6 is a circuit block diagram of the embodiment. First, the operation of Fig. 6 will be described. The image signal is extracted from the SV (still video) camera of from the SV floppy in which the image which was photographed by the SV camera was stored. The extracted image signal is input to an analog decoder 31. The conversion from the R (red), G (green), and B (blue) digital signals into the analog signals is executed and the levels of the analog signals are corrected by the AGC (automatic gain controller). The input signals are not limited to the RGB signals but a Y (luminance) signal and a C (chrominance) signal can be also used as shown in Fig. 1. The level correction of the analog signals is executed as a pre-processing for making it easy to execute the correction of the digital signals which is executed subsequently. The analog signals are then converted into the digital signals by an A/D (analog/digital) converter 32 and the digital siganls are stored into a memory 33 or 38. A CPU 37 extracts N points (1 ≦ N ≦ the number of all of the pixels) from the image data in the memory and processes the data. Then, the CPU 37 selects the optimum correction table from a plurality of tables which have previously been registered in an ROM 43 and sets into a correction table 34 or 39. One of correction curves 1 ○ to 6 ○ in Fig. 8 is selected and set into the correction table 34. One of correction curves 1 ○ to 6 ○ in Fig. 7 is selected and set into the correction table 39. The selection of the correction table will now be described. Fig. 10 is a diagram to obtain the inclination of Fig. 7 of the correction table. Figs. 9A to 9C are flowcharts to obtain the inclination of the correction table. First, the CPU 37 sequentially reads out N images data from the memory 33 (step S31) and extracts the pixel data in which the signal value is not saturated (for instance, when the image data is constructed by eight bits, assuming that pure white is set to 255, the case where the signal value is not saturated corresponds to a value other than 255) among signal values R i , G i , and B i (ith pixel data; 1 ≦ i ≦ N) of R, G, and B. This is because if even one of R i , G i , and B i is saturated, the data is deviated from the original image, so that the color balance of the original image cannot be accurately judged. The CPU 37 obtains the pixel in which the minimum value among the extracted signal values R i , G i , and B i is the largest among the N pixels. Then, the CPU 37 sets the R, G, and B components of such a pixel into RMAX, GMAX, and BMAX (step S32). The minimum value among R i , G i , and B i shows the feature of the pixel data. That is, in the case of a pixel which is slightly red, the minimum value of R i , G i , and B i is set to R i . The pixel in which the minimum value among R i , G i , and B i is largest denotes the pixel in which the components indicative of the feature of the pixel data are smallest. Therefore, RMAX, GMAX, and BMAX are considered to be the R i , G i , and B i components of the pixel indicative of the white portion in the SV image. The CPU 37 sets the maximum value among RMAX, GMAX, and BMAX into DMAX and also sets the difference between the maximum value and the minimum value into DSA (step S33). DMAX corresponds to the smallest one of the R, G, and B components of the pixel which is considered to be white. When DSA = 0, this means that the color balance (white balance) of the pixel which is considered to be white is obtained. However, when DSA ≠ 0, it is necessary to correct such as to obtain DSA = 0. Then, the CPU 37 obtains the average values AVER, AVEG, and AVEB of the N image data R i , G i , and B i . The maximum value among AVER, AVEG, and AVEB is set into AVEMAX and the difference between the maximum value and the minimum value is set into AVESA (step S34). AVEMAX corresponds to the smallest one of the R, G, and B components of the average pixel data. If AVESA = 0, the average density of the SV image denotes an achromatic color and shows that the color balance of the SV image is obtained to a certain degree. Such a case corresponds to that the theorem of Evans which is used when a transmission film is silver salt printed is applied to the SV image. If AVESA ≠ 0, this means that the color balance is deviated. Therefore, it is necessary to correct such as to obtain AVESA = 0. In Fig. 10, reference numerals 1-a, 1-b, 1-c, and 1-d denote membership functions with respect to the maximum value DMAX among the components of the white level, the maximum value AVEMAX among the average values of R i , G i , and B i of all of the image data, a chromatic color chromaticity DSA of the white level, and the chromatic color chromaticity AVESA of the average value of all of the image data. The membership functions 1-a, 1-b, 1-c, and 1-d have previously been registered as tables in the ROM 43, respectively. The CPU 37 obtains the grade of a white level dependency WDMAX for brightness correction from the maximum value DMAX of the white level by the membership function 1-a (step S35). The membership function 1-a is set in a manner such that when the maximum value DMAX of the white level is large, a significance is paid to the white level than the average value of all of the image data when the brightness is corrected. That is, the fact that the value of DMAX is large denotes that the pixel which was determined to show white is a pixel which is actually close to white. On the contrary, the fact that the value of DMAX is small means that the pixel which was decided to show white is a pixel which is actually far from white and, therefore, an importance cannot be paid to the white level extracted from N image data. In more detail, the membership function 1-a specifies the relation between the maximum value DMAX of the white level and the white level dependency WDMAX for the brightness correction in the following manner. That is, when DMAX is larger than a certain value C 1 , WDMAX = 1. When DMAX is smaller than a certain value C 0 (C 0 < C 1 ), WDMAX = 0. When DMAX has a value within a range from C 0 to C 1 , WDMAX gradually changes from 0 to 1. For example, C 0 = 60 and C 1 = 127. Even if those values are slightly deviated, the picture quality of the output image does not largely deteriorate. Those values can be also set by deviating by about ±20. On the other hand, for instance, the membership function 1-a can be also set as shown in Fig. 11A. Then, the CPU 37 obtains the grade of a brightness correction ratio WAVE from the average maximum value AVEMAX by the membership function 1-b (step S36). The membership function 1-b is set in a manner such that the degree to correct the brightness decreases as the average maximum value AVEMAX is smaller or larger than the central value. That is, when the input image is inherently dark, if the correction to brighten the image is executed, the characteristics of the input image will have been changed than they are needed. Therefore, in the embodiment, the membership function 1-b specifies the relation between the maximum value AVEMAX of the average value and the brightness correction ratio in the following manner. That is, when AVEMAX lies within a range from a certain value D 1 to a certain value D 2 (D 2 > D 1 ), the brightness correction ratio WAVE = 1. On the other hand, when AVEMAX is D 1 or less, the brightness correction ratio WAVE is gradually reduced. Further, when AVEMAX is equal to or less than a certain value D 0 (D 0 < D), WAVE = 0. On the other hand, if the input image is inherently bright, there is no need to further brighten the input image. Therefore, when AVEMAX is D 2 or more, the brightness correction ratio WAVE is gradually decreased. For instance D 0 = 30, D 1 = 90, and D 2 = 127. However, those values can be also deviated by about ±20. The membership function 1-b may be also set as shown in Fig. 11B. Further, the CPU 37 obtains the grade of the white level dependency WDSA for color balance correction from the chromatic color chromaticity DSA of the white level by the membership function 1-c (step S37). The fact that the value of the chromatic color chromaticity DSA of the white level is large means that a possibility such that although the operator considered that the image is at the white level, the image is not white is high. Therefore, in this case, the CPU 37 corrects the color balance by paying an importance to the average value of all of the image data than the white level. In the embodiment, the membership function 1-c specifies the relation between the chromatic color chromaticity DSA of the white level and the white level dependency WDSA for color balance correction in the following manner. That is, when DSA is larger than a certain value B 1 , WDSA = 0. When DSA is smaller than a certain value B 0 (B 0 < B 1 ), WDSA = 1. On the other hand, when DSA lies within a range from B 0 to B 1 , WDSA gradually changes from 1 to 0. For instance, although B 0 = 30 and B 1 = 130, these values can be also deviated by about ±20. On the other hand, the membership function 1-c may be also set as shown in Fig. 11C. The CPU 37 then obtains the grade of the color balance correction ratio WSA from the chromatic color chromaticity AVESA of the average value of all of the image data by the membership function 1-d (step S38). The fact that the chromatic color chromaticity AVESA of the average value is large means that a possibility in which the original image is inherently deviated from the theorem of Evans is high. Therefore, the CPU 37 reduces the color balance correction ratio. In the embodiment, the membership function 1-d specifies the relation between the chromatic color chromaticity AVESA of the average value and the color balance correction ratio WSA in the following manner. That is, when AVESA is larger than a certain value A 1 , WSA = 0. When AVESA is smaller than a certain value A 0 (A 0 < A 1 ), WSA = 1. When AVESA is larger than A 0 and smaller than A 1 , WSA gradually changes from 1 to 0. For instance, although A 0 = 50 and A 1 = 100, these values can be also deviated by about ±20. The membership function 1-d may be also set as shown in Fig. 11D. As already described in step S37, the white level dependency WDSA of the color balance is a value to decide whether the color balance is corrected by paying a significance to the white level or the average value. On the other hand, the color balance correction ratios based on the white level are set to DMAX/RMAX, DMAX/GMAX, and DMAX/BMAX for R, G, and B, respectively. On the other hand, the color balance correction ratios based on the average value are set to AVEMAX/AVER, AVEMAX/AVEG, and AVEMAX/AVEB. The CPU 37 multiplies the weights of the dependency WDSA and (1 - WDSA) to the color balance correction amount based on the white level and to the color balance correction amount based on the average value, respectively, thereby obtaining the color balance correction ratio based on the white level and the color balance correction ratio based on the average value. Further, the color balance correction ratio is obtained by the sum of those ratios (step S39). In step S39, DMAX/RMAX is a correction term based on the R component of the white level and AVEMAX/AVER is a correction term based on the R component of the average value. By multiplying the weights of the dependency WDSA and (1 - WDSA) to those correction terms and adding the results, BALR is obtained. BALG and BALB are also obtained in a manner similar to the above. For the color balance correction ratios obtained in step S39, if the color balance of the white level is obtained, significance is paid to the color balance correction ratio based on the white level; on the other hand, if the color balance of the white level is not obtained, significance is paid to the color balance correction ratio based on the average value. Since either one of the color balance correction ratios BALR, BALG, and BALB needs to be set to 1, they are normalized (step S40). Further, the CPU 37 obtains the color balance correction amount from the color balance correction ratios and color balance correction ratio WSA (step S41). The color balance correction amount obtained in step S41 increases if the color balance of the average value is obtained, while it decreases if the color balance of the average value is deviated. On the other hand, in order to correct the brightness, the CPU 37 multiplies the dependency WDMAX and (1 - WDMAX) to the brightness correction amount based on the white level and the brightness correction amount based on the average value, respectively, and obtains the brightness correction ratio based on the white level and the brightness correction ratio based on the average value. Further, the CPU obtains a brightness correction ratio AE by the sum of those ratios. Moreover, the CPU obtains a brightness correction amount WAE from the brightness correction ratio AE and brightness correction ratio WAVE. In the case of obtaining AE, DMAX indicative of the white level is made correspond to 255 and the average value of all of the pixels is made correspond to 127 (that is, 255/2). The CPU 37 multiplies the weights of the dependency WDMAX and (1 - WDMAX) to the correction amounts based on the white level and the average level, thereby obtaining the brightness correction ratio AE. For the brightness correction ratio AE, when the detected white level is actually close to white, significance is paid to the white level. On the contrary, if the detected white level is actually far from white, importance is paid to the average value. The brightness correction amount WAE decreases when the average value is too bright and when it is too dark. On the other hand, WAE increases when the average value is set to a standard value. The color balances which are finally obtained by the products of the brightness correction amount WAE and the color balance correction amounts and the correction amounts γ R , γ G , and γ B of the brightness indicate the inclinations in Fig. 7. The CPU 37 selects the near inclination among 1 ○ to 8 ○ in Fig. 7 with respect to each of R, G, and B and sets into the correction table 39. In correspondence to 1 ○ to 8 ○ in Fig. 7, the CPU 37 selects proper one of the tables 1 ○ to 8 ○ in Fig. 8 and sets into the correction table 34. As mentioned above, the correction tables 34 and 39 are set. The processes after the correction tables were set will now be described. When the correction table 34 is set, the SV image of the memory 33 is subjected to the degamma process (the SV signal is raised to the 2.2nd power) and the density converting (logarithm conversion) process by the correction table 34 together with the color balance correction and the brightness correction. That is, the correction table 34 converts the SV images which were read out of the memory 33 in accordance with the tables which were independently set. In the next masking process, the processes such as elimination of the impurity of color, undercolor removal, and the like are executed. The signals of Y, M, C, and Bk (yellow, magenta, cyan, black) are obtained and output to a printer 36. Any one of the electrophotographic type, ink jet type, and thermal copy transfer type may be used as a printer 36. On the other hand, when the correction table 39 is set, the color balance and brightness of the image data in the memory 38 are corrected by the correction table 39. After the digital signals were converted into the analog signals by a D/A converter 40, they are converted into the monitor signals by an analog encoder 41 and displayed by a color monitor 42. As mentioned above, in the embodiment, to correct the color balance, the CPU 37 detects the average level and the white level of the sampled image data and discriminates the color balance of the white level. If the chromatic color chromaticity of the white level is high, this means that the white level could not accurately be detected. Therefore, the CPU 37 pays a significance to the color balance of the average level and corrects the color balances of all of the image data. On the other hand, if the chromatic color chromaticity of the white level is low, this means that the white level could accurately be detected. Therefore, the CPU 37 pays a significance to the color balance of the white level and corrects the color balances of all of the image data. For instance, in the case of an image such that a white cloud floats in a blue sky, the color balance of the average level is one-sided to blue. However, the color balance of such an image can be accurately corrected on the basis of the color balance of the white level. Whether a significance should be paid to the average level or the white level can be obtained from the experimental rules by experimentally executing the corrections with respect to various images. The resultant data is previously registered into the ROM 13. In the above description, one of the correction tables 1 ○ to 8 ○ in Figs. 7 and 8 has been selected. However, the CPU 37 may also form a proper correction table from the values of γ R , γ G , and γ B . On the other hand, the number of tables to be selected can be also increased or decreased as necessary. On the other hand, although the brightness has been corrected by using the average value, the maximum RGB values can be also used or it is also possible to consider to use a combination of both of the average value and the maximum RGB values. On the other hand, when the color balance is corrected, the maximum RGB values have preferentially been used. However, the order of priorities can be also changed. Although the embodiment has been described with respect to the case of inputting and processing the RGB signals, the YMC signals can be also input and processed. [Fourth embodiment] On the other hand, as shown in Fig. 12, it is also possible to construct in a manner such that the correction table 20 is arranged before the memory and the correction table is once set to the table of γ R = γ G = γ B = 1. That is, the image is stored into the memory, the color balance and brightness are examined by the processes of Fig. 9, and the resultant γ R , γ G , and γ B are set into the correction table 20. After that, the image is again fetched from the SV camera or SV floppy and the image whose color balance and brightness were corrected by the correction table 20 is stored into the memory. On the other hand, although the embodiment has been described with respect to the processes to brighten only the dark image, it is also possible to add a correcting method such as to return the image which is too bright to an image of an ordinary brightness. The generating source of the image data is not limited to the SV but even in the case of using a CCD (charge coupled device) line scanner or a semiconductor memory of a large capacity, the color balance and the brightness can be also similarly corrected. As mentioned above, in the embodiment, the CPU 37 obtains the average value and the white level from the RGB image signals which were read out of the SV camera or floppy and stored into the memory. Further, the CPU 37 discriminates the degrees of the average value and white level obtained by using the prepared membership functions. The brightness and color balance of the image are corrected in accordance with the degrees of the average value and white level. Therefore, the deviation of the color balance and the difference in image recording level (brightness) which occur due to the difference of the maker of the SV camera or the difference of the type of apparatus can be corrected. Further, there are advantages such that it is prevented that the correction is executed too much and that it is possible to prevent the occurrence of the extreme correction such that the correction is performed or is not executed in dependence on a slight difference of the input image level. Therefore, there is an effect such that the correction is more naturally executed. As described above, according to the embodiment, by correcting the color image signal in accordance with each of the average value and the white level, the color image signal can be optimally corrected. Therefore, according to the invention, a proper color image can be obtained without unnecessarily changing the characteristics of the input color image. Although the present invention has been described above on the basis of the preferred embodiments, the invention is not limited to the foregoing embodiments but many modifications and variations are possible within the scope of the appended claims of the invention.

Claims: An image processing method comprising the steps of: inputting color image data representing a color image; and performing a color balance correction process for the color image data by using a color balance correction process parameter, characterised in that it further comprises the steps of extracting a white point (RMAX, GMAX, BMAX) in the color image to generate white balance data (DMAX, DSA) on the basis of the extracted white point (S33), generating average balance data (AVEMAX, AVESA) on the basis of an average density (AVER, AVEG, AVEB) of the color image (S34), obtaining a dependency (WDSA, WSA) for each of the white balance data (DSA) and the average balance data (AVESA) in the color balance correction process for the color image (S37, S38), and setting the color balance correction process parameter on the basis of the white balance data, the average balance data and the dependency for each of these data (S39, S41, S43). A method according to claim 1, wherein the color image data consists of a plural color component data, and the white point is represented by the color image data in which a minimum value of the plural color component data is largest in the plural color image data representing the color image. A method according to claim 1 comprising: determining from the white balance data deviation data (DSA) which indicates deviation from correct white balance; and carrying out first and second colour corrections on the input data to generate colour corrected output data said first and second colour correction being based on said white balance data and said average balance data, said deviation data being utilized to select from memory a weighting factor (WDSA) by which the first colour correction based on said white balance data and the second colour correction based on said average balance data are carried out such that there is an inverse relationship between said first and second colour corrections. A method according to claim 3, wherein said white balance data is obtained by setting into memory the largest minimum values (RMAX, GMAX, BMAX) of the colour components of unsaturated pixels of the input data and utilising these values to derive said deviation data (DSA). A method according to claim 4, wherein said average balance data is obtained by calculating the difference between the maximum and minimum average values (AVER, AVERG, AVERB) of the colour components of a plurality of pixels in the input data and setting this difference (AVESA) in memory, this difference representing the average chromaticity of the input data. A method according to claim 5, wherein the plurality of pixels represents the pixels of a picture plane. A method according to claim 5, or claim 6 when dependent on claim 5, wherein a colour balance correction factor (WSA) is derived from said difference between maximum and minimum average values and is utilised in carrying out said second colour correction, and wherein the relationship between said difference and said colour balance correction factor is determined by a membership function (1-d) so that said colour balance correction factor varies between 1 and 0 in accordance with the value of said difference. A method according to any preceding claim, wherein the image data represents the three primary colours. Image processing apparatus comprising: means for inputting color image data representing a color image; and means for performing a color balance correction process for the color image data by using a color balance correction process parameter, characterised in that the means for performing color balance correction further comprise: means for extracting a white point (RMAX, GMAX, BMAX) in the color image to generate white balance data (DMAX, DSA) on the basis of the extracted white point (S33), means for generating average balance data (AVEMAX, AVESA) on the basis of an average density (AVER, AVEG, AVEB) of the color image (S34), means for obtaining a dependency (WDSA, WSA) for each of the white balance data (DSA) and the average balance data (AVESA) in the color balance correction process for the color image (S37, S38), and means for setting the color balance correction process parameter on the basis of the white balance data, the average balance data and the dependency for each of these data (S39, S41, S43).

Inventors: USAMI AKIHIRO, USAMI, AKIHIRO, USAMI, AKIHIRO, C/O CANON KABUSHIKI KAISHA
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1990
Main classification: H04N1
IPC codes: H04N1