Abstract:
The image correction processing device ( 100 ) disclosed in the description is configured by integrating a first external terminal (CAMDI) [7:0] to which digital input image data is inputted from outside of the device, an image correction processing circuit ( 200 ) applying predetermined image correction processing on the digital input image to create digital output image data, a second external terminal (CAMDO) [7:0] outputting the digital output image data to the outside of the device, an encoder circuit ( 300 ) converting the digital output image data to analog composite video-type output image data, and a third external terminal (VOUT) outputting the analog composite video-type data to the outside of the device.

Description:
TECHNICAL FIELD 
       [0001]    The present invention relates to an image correction process circuit that applies various image correction processes to an input image to generate a desired output image; and to a semiconductor device (image correction process device) that integrates the image correction process circuit. 
       BACKGROUND ART 
       [0002]    (First Background Art) 
         [0003]    Conventionally, in the field of devices and systems (indoor/outdoor monitor cameras, network cameras (IP cameras), Web cameras, intercoms, and the like), an image correction process circuit, which applies various image correction processes (fog erasure correction process, against-the-light correction process, brightness correction process, and the like) to an input image to generate a desired output image, is used. 
         [0004]    Here, the above conventional image correction process circuit, generally, has a structure in which one field of an input image is divided into a plurality of areas; based on a luminance histogram obtained for every area, determines what kind of scene (e.g., foggy, in an against-the-light condition, or the like) the input image is; and applies the optimum image correction process to the input image. 
         [0005]    As an example of a conventional technology related to the above description, it is possible to list a patent document 1. 
         [0006]    (Second Background Art) 
         [0007]      FIG. 93A  and  FIG. 93B  both are block diagrams that show examples of electronic devices (indoor-outdoor monitor cameras, network cameras (IP cameras), Web cameras, vehicle cameras, intercoms, and the like) that process image data. 
         [0008]    An electronic device  900  as the conventional example includes a camera DSP [Digital Signal Processor]  903  that applies various digital signal processes to input image data which are input via an AFE [Analog Front End]  902  from a camera  901 , thereby generating digital output image data. 
         [0009]    Here, as an example of a conventional technology related to the above description, it is possible to list a patent document 2. 
       CITATION LIST 
     Patent Literature 
       [0000]    
       
         PLT1: U.S. Pat. No. 3,981,260 
         PLT2: JP-A-2004-304712 
       
     
       SUMMARY OF INVENTION 
     Technical Problem 
       [0012]    (First Problem) 
         [0013]    Indeed, by using an image correction process circuit, it becomes possible to convert a foggy input image and an against-the-light input image into an output image that has high visibility; and to output the output image to a display device. 
         [0014]    However, by means of a scene determination method that is employed in the conventional image correction process circuit, there is a case where a suitable scene determination result is not invariably obtained, so that there is room for further improvement. 
         [0015]    A first technical means disclosed in the present specification, in light of the above problems, has a first object to provide an image correction process circuit that is able to apply a suitable image correction process to an input image to generate a desired output image; and a semiconductor device that integrates the image correction process circuit. 
         [0016]    (Second Problem) 
         [0017]    However, the conventional electronic device  900  is not provided with a means that in a case where input image data that are foggy or misty and has poor visibility are obtained by the camera  901 , applies a suitable image correction process (fog erasure process) to the input image data. 
         [0018]    Here, to execute the above image correction process (fog erasure process) by using the camera DSP  903 , it needs to unnecessarily increase the process capability of the camera DSP  903 , so that there is a problem that brings increase in the power consumption and high cost of the electronic device  900 . 
         [0019]    Besides, because the camera DSP  903  outputs the digital output image data which the camera DSP  903  itself generates to later-stage circuits (semiconductor memory and the like), so as to display the output image data from the camera DSP  903  by means of an image display device (television broadcast receiver and the like that include an analog composite video input terminal only) that interacts with only an analog composite video input, it is necessary to additionally dispose an encoder IC that converts the digital output image data output from the camera DSP  903  into output image data in the analog composite video form, so that there is a problem that brings size increase and high cost of the electronic device  900 . 
         [0020]    A second technical means disclosed in the present specification, in light of the above problems, has a second object to provide an image correction process device that is able to apply a suitable image correction process to input image data to generates desired output image data. 
       Solution to Problem 
       [0021]    (First Solution Means) 
         [0022]    To achieve the first object, an image correction process circuit disclosed in the present specification is so structured (1-1 structure) as to include: 
         [0023]    an image correction portion that applies a predetermined image correction process to an input image to generate an output image; 
         [0024]    a calculation portion that obtains a luminance histogram for every one field of the input image and calculates two values or all three values of an average luminance value, a standard deviation value and an intermediate value; and 
         [0025]    a correction control portion that based on two values or all the three values of the average luminance value, the standard deviation value and the intermediate value of the luminance histogram which are calculated by the calculation portion, determines whether the image correction process is necessary or not for the input image and a correction amount for the image correction process, and performs control of the image correction portion. 
         [0026]    Here, the image correction process circuit having the above 1-1 structure may have a structure (1-2 structure) in which the image correction portion applies a foggy-image correction process to the input image; and 
         [0027]    the correction control portion, based on the average luminance value and the standard deviation value of the luminance histogram, determines whether the foggy-image correction process is necessary or not for the input image and the correction amount for the image correction process. 
         [0028]    Besides, in the image correction process circuit having the above 1-2 structure, the correction control portion may be so structured (1-3 structure) as to determine that the foggy-image correction process is necessary when the average luminance value of the luminance histogram is larger than a first threshold value and the standard deviation value of the luminance histogram is smaller than a second threshold value. 
         [0029]    Besides, in the image correction process circuit having the above 1-3 structure, the correction control portion may have a structure (1-4 structure) in which when the correction control portion determines that the foggy-image correction process is necessary, the correction control portion sets a larger correction amount for the foggy-image correction process in a stepwise way or a continuous way when the standard deviation value of the luminance histogram is smaller. 
         [0030]    Besides, the image correction process circuit having the above 1-3 or 1-4 structure may have a structure (1-5 structure) in which a hysteresis width is set in at least one of the first threshold value and the second threshold value. 
         [0031]    Besides, the image correction process circuit having any one the above 1-1 to 1-5 structures may be so structured (1-6 structure) as to include a register for externally setting various parameters that are referred to by the correction control portion when the correction control portion determines whether the image correction process is necessary or not for the input image and the correction amount. 
         [0032]    Besides, a semiconductor device disclosed in the present specification is so structured (1-7 structure) as to integrate the image correction process circuit having any one of the above 1-1 to 1-6 structures. 
         [0033]    (Second Solution Means) 
         [0034]    To achieve the second object, an image correction process device disclosed in the present specification is so structured (2-1 structure) as to integrate and include: 
         [0035]    a first external terminal into which digital input image data are input from outside of the device; 
         [0036]    an image correction process circuit that applies a predetermined image correction process to the digital input image data to generate digital output image data; 
         [0037]    a second external terminal from which the digital output image data are output to the outside of the device; 
         [0038]    an encoder circuit that converts the digital output image into output image data in an analog composite video form; and 
         [0039]    a third external terminal from which the output image data in the analog composite video form are output to the outside of the device. 
         [0040]    Here, in the image correction process device having the above 2-1 structure, the image correction process circuit may be so structured (2-2 structure) as to include: 
         [0041]    a first image correction process portion that applies a first image correction process, which is an image correction process based on a luminance histogram, and besides an original purpose, is likely to bring a color-component imbalance or a luminance dynamic range shortage, to the digital input image data to generate digital intermediate image data; and 
         [0042]    a second image correction process portion that applies a second image correction process, which eliminates a color-component imbalance or a luminance dynamic range shortage caused by the first image correction process, to the digital intermediate image data, thereby generating the digital output image data. 
         [0043]    Further, the image correction process device having the above 2-2 structure may have a structure (2-3 structure) in which the first image correction process is a foggy-image correction process, and the second image correction process is a color correction process or a luminance dynamic range correction process. 
         [0044]    Besides, the image correction process device having the above 2-2 or 2-3 structure may have a structure (2-4 structure) in which in the first image correction process portion, a valid luminance range of the luminance histogram, which is referred to during a time of calculating a correction coefficient, is variably set. 
         [0045]    Further, the image correction process device having the above 2-4 structure may have a structure (2-5 structure) in which the first image correction process portion, when deciding a correction coefficient of a frame, uses the correction coefficient of the frame and a correction coefficient of at least one of frames which are input before and after the frame, to apply a low pass filter process to the correction coefficient of the frame. 
       Advantageous Effects of Invention 
       [0046]    According to the first and second technical means disclosed in the present specification, it becomes possible to apply a suitable image correction process to input image data to generate desired output image data. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0047]      FIG. 1  is a block diagram showing a first embodiment of an image process IC according to the present invention. 
           [0048]      FIG. 2A  is a schematic view showing a foggy image. 
           [0049]      FIG. 2B  is a schematic view showing a luminance histogram of a foggy image. 
           [0050]      FIG. 3A  is a schematic view showing a not-foggy image. 
           [0051]      FIG. 3B  is a schematic view showing a luminance histogram of a not-foggy image. 
           [0052]      FIG. 4  is a flow chart for describing determination of whether a foggy-image correction process is necessary or not. 
           [0053]      FIG. 5  is a view for describing a comparison determination operation over an average luminance value ACAVG of a luminance histogram and first threshold values (ACAVGTH 1  and ACAVGTH 2 ). 
           [0054]      FIG. 6A  is a view showing an example of a correction amount adjustment process. 
           [0055]      FIG. 6B  is a view showing another example of the correction amount adjustment process. 
           [0056]      FIG. 7  is a block diagram showing a second embodiment of an image process IC according to the present invention. 
           [0057]      FIG. 8  is a terminal arrangement view of an image process IC  100 . 
           [0058]      FIG. 9  is a terminal-function description table of the image process IC  100 . 
           [0059]      FIG. 10A  is a view showing a level relationship between digital data and CVBS output for every setting (during a time of 100IRE setting). 
           [0060]      FIG. 10B  is a view showing a level relationship between digital data and CVBS output for every setting (during a time of 108IRE setting). 
           [0061]      FIG. 11A  is a data transmission/reception waveform view of a dual-line type serial interface. 
           [0062]      FIG. 11B  is a format view of a dual-line type serial interface. 
           [0063]      FIG. 12  is a data transmission/reception waveform view of an SPI bus interface. 
           [0064]      FIG. 13  is a flow chart showing an automatic data reading sequence. 
           [0065]      FIG. 14  is a waveform view for describing a flow of reading data from an EEPROM. 
           [0066]      FIG. 15A  is a view showing a data format (during a set time) inside of an EEPROM. 
           [0067]      FIG. 15B  is a view showing a data format (during a stop time) inside of an EEPROM. 
           [0068]      FIG. 16  is a register map of the image process IC  100 . 
           [0069]      FIG. 17  is a detailed table of a polarity set register POL. 
           [0070]      FIG. 18A  is a timing chart showing a way of setting polarity of CAMCKI for CAMDI [7:0] (when CKPOL=0). 
           [0071]      FIG. 18B  is a timing chart showing a way of setting polarity of CAMCKI for CAMDI [7:0] (when CKPOL=1). 
           [0072]      FIG. 19  is a detailed table of a parameter update register PARAMSET. 
           [0073]      FIG. 20  is a detailed table of a mode register MODE. 
           [0074]      FIG. 21  is an operation mode table of MODE [1:0]. 
           [0075]      FIG. 22  is a detailed table of an input interface format specification register YUVIFSET. 
           [0076]      FIG. 23  is a detailed table of an output range conversion register TRAM_LIM. 
           [0077]      FIG. 24  is a detailed table of a monitor X-direction pixel size set register DXSIZE. 
           [0078]      FIG. 25  is a detailed table of a monitor Y-direction pixel size set register DYSIZE. 
           [0079]      FIG. 26  is a detailed table of a foggy-image correction, image enhance valid X-direction start position set register ICXST. 
           [0080]      FIG. 27  is a detailed table of a foggy-image correction, image enhance valid Y-direction start position set register ICYST. 
           [0081]      FIG. 28  is a detailed table of a foggy-image correction, image enhance valid X-direction size set register ICXSIZE. 
           [0082]      FIG. 29  is a detailed table of a foggy-image correction, image enhance valid Y-direction size set register ICYSIZE. 
           [0083]      FIG. 30  is a schematic view showing a valid area of a foggy-image correction and an image enhance correction. 
           [0084]      FIG. 31  is a detailed table of a pre-gamma set register PREGAMMA. 
           [0085]      FIG. 32  is a detailed table of a luminance correction strength set register STRENGTH. 
           [0086]      FIG. 33  is a detailed table of a color difference correction strength set register UV_STRENGTH. 
           [0087]      FIG. 34  is a detailed table of a noise curb set register NOISE_SUP. 
           [0088]      FIG. 35  is a detailed table of an edge enhancement filter set register EDG_CNT. 
           [0089]      FIG. 36  is a detailed table of a response time set register RESP_SET. 
           [0090]      FIG. 37  is a detailed table of a post-filter enable register PFLT_EN. 
           [0091]      FIG. 38  is a detailed table of output gamma characteristic registers POFLT 0  to POFLT 8 . 
           [0092]      FIG. 39  is a view showing an output gamma characteristic. 
           [0093]      FIG. 40  is a detailed table of a foggy-image correction control register FRCTL. 
           [0094]      FIG. 41  is a detailed table of a foggy-image correction S-curve range adjustment register SCRVADJ. 
           [0095]      FIG. 42  is a table showing a relationship between a set value in SCRVADJ and a foggy-image correction strength. 
           [0096]      FIG. 43  is a detailed table of a foggy-image correction γ-curve range adjustment register GCRVADJ. 
           [0097]      FIG. 44  is a table showing a relationship between a set value in GCRVADJ and an offset of a γ value. 
           [0098]      FIG. 45  is a detailed table of a histogram average luminance value register HAVGLUM. 
           [0099]      FIG. 46  is a detailed table of a histogram standard dispersion register HSTDVRC. 
           [0100]      FIG. 47  is a detailed table of a between-fields low pass filter control register FR_LPF_CNT. 
           [0101]      FIG. 48  is a detailed table of a between-fields LPF coefficient register FR_LPF_COEF 0 -FR_LPF_COEF 4 . 
           [0102]      FIG. 49  is a detailed table of an automatic control UV_STR adjustment register UV_STR_AT. 
           [0103]      FIG. 50  is a detailed table of automatic control dispersion value threshold value set registers ACVRCTH 1  to ACVRCTH  3 . 
           [0104]      FIG. 51  is a detailed table of automatic control average value threshold value set registers ACAVGTH 1 , ACAVGTH 2 . 
           [0105]      FIG. 52  is a detailed table of automatic control S-curve correction region set registers ACSCV 11  to ACSCV 13 . 
           [0106]      FIG. 53  is a flow chart for describing foggy-image correction automatic control. 
           [0107]      FIG. 54  is a view showing a schema of a foggy-image correction automatic control algorithm. 
           [0108]      FIG. 55  is a detailed table of a TV encoder reset register PWD. 
           [0109]      FIG. 56  is a detailed table of a TV encoder display mode register DISP. 
           [0110]      FIG. 57  is a detailed table of a TV encoder video mode register VIDEO. 
           [0111]      FIG. 58  is a list showing usable setting of the TV encoder video mode register VIDEO. 
           [0112]      FIG. 59  is a detailed table of a TV encoder video mode register CVBS. 
           [0113]      FIG. 60  is a detailed table of a background color register BGCOL. 
           [0114]      FIG. 61  is a detailed table of a TV encoder color bar test register COLBAR. 
           [0115]      FIG. 62  is a detailed table of a TV encoder setup register SETUP. 
           [0116]      FIG. 63  is a detailed table of a TV encoder setup 2  register SETUP 2 . 
           [0117]      FIG. 64  is a detailed table of TV encoder gamma correction registers GM_A 0  to GM_A 2 , GM_X 0  to GM_X 3 , and GM_Y 0  to GM_Y 3 . 
           [0118]      FIG. 65  is a view showing a gamma correction curve. 
           [0119]      FIG. 66  is a table showing setting examples of gamma correction registers GM_A 0  to GM_A 2 , GM_X 0  to GM_X 3 , and GM_Y 0  to GM_Y 3 . 
           [0120]      FIG. 67  is a detailed table of an input valid start pixel offset set register OFS. 
           [0121]      FIG. 68  is a detailed table of a TV encoder valid data width set register WID_VD. 
           [0122]      FIG. 69  is a detailed table of a TV encoder valid line width set register HT_VD. 
           [0123]      FIG. 70  is a detailed table of a TV encoder horizontal display position offset register H_POS. 
           [0124]      FIG. 71  is a detailed table of a TV encoder vertical display position offset register V_POS. 
           [0125]      FIG. 72  is a detailed table of an input valid start line offset set register V_OFS. 
           [0126]      FIG. 73  is a schematic view showing set contents in a display position change register. 
           [0127]      FIG. 74  is a detailed table of an SPI control register SPICNT. 
           [0128]      FIG. 75  is a detailed table of an SPI operation clock frequency division register SPIDIV. 
           [0129]      FIG. 76  is a detailed table of an SPI write data set register SPIWDATA. 
           [0130]      FIG. 77  is a detailed table of an SPI read data set register SPIRDATA. 
           [0131]      FIG. 78  is a detailed table of an SPI EEPROM read address set register  0 :SPIADR 0 L. 
           [0132]      FIG. 79  is a detailed table of an SPI EEPROM read address set register  1 :SPIADR 1 L. 
           [0133]      FIG. 80  is a detailed table of an SPI EEPROM read address set register  2 :SPIADR 2 L. 
           [0134]      FIG. 81  is a detailed table of an SPI EEPROM read address set register  3 :SPIADR 3 L. 
           [0135]      FIG. 82  is a detailed table of an SPI EEPROM read address bit  8  set register SPIADR 1 _H. 
           [0136]      FIG. 83  is a detailed table of an initialization register SRST. 
           [0137]      FIG. 84  is a connection diagram showing a system example that uses the image process IC  100 . 
           [0138]      FIG. 85A  is a block diagram showing an example of an image correction process device that includes a first image correction process portion only. 
           [0139]      FIG. 85B  is a block diagram showing an example of an image correction process device that includes a second image correction process portion on a stage after the first image correction process portion. 
           [0140]      FIG. 86  is a view for describing a deviation in a luminance histogram. 
           [0141]      FIG. 87  is a view showing a cause of flicker occurrence due to an image correction process. 
           [0142]      FIG. 88  is a block diagram showing a first structural example of the first image correction process portion. 
           [0143]      FIG. 89  is a view for describing a valid area specification of a luminance histogram. 
           [0144]      FIG. 90  is a block diagram showing a second structural example of the first image correction process portion. 
           [0145]      FIG. 91A  is a schematic view for describing a low pass filter process (during a time of calculating an operation parameter for a field  2 ). 
           [0146]      FIG. 91B  is a schematic view for describing a low pass filter process (during a time of calculating an operation parameter for a field  3 ). 
           [0147]      FIG. 92A  is a view showing a structural example of an electronic device that incorporates the image process IC according to the present invention. 
           [0148]      FIG. 92B  is a view showing another structural example of an electronic device that incorporates the image process IC according to the present invention. 
           [0149]      FIG. 93A  is a block diagram showing a first conventional example of an electronic device that processes image data. 
           [0150]      FIG. 93B  is a block diagram showing a second conventional example of an electronic device that processes image data. 
       
    
    
     DESCRIPTION OF EMBODIMENTS 
       [0151]    First, a first embodiment of an image process IC according to the present invention is described. 
         [0152]      FIG. 1  is a block diagram showing a first embodiment of the image process IC according to the present invention. An image process IC  10  according to the present invention is a semiconductor device which integrates an image correction process circuit which includes: a foggy-image correction portion  11 ; a luminance histogram calculation portion  12 ; a correction control portion  13 ; and a register  14 . Here, although not shown in  FIG. 1 , in the image process IC  10 , besides the foggy-image correction portion  11 , it is possible to contain a circuit block that applies various image processes (luminance dynamic range correction, brightness correction, against-the-light correction and the like) to an input image. 
         [0153]    The foggy-image correction portion  11  is a means that generates a desired output image by applying a foggy-image correction process to an input image that is input from an image source  20 ; and outputs the image to a display device  30 . The image source  20  is a means that generates the input image that is input into the image process IC  10 , and, for example, as the image source  20 , it is possible to use a digital video camera that takes a dynamic image, a digital still camera that takes a still image and the like. Besides, as the image source  20 , it is also possible to use broadcast receivers (digital television broadcast receivers and the like) and media players (drive devices such as a video CD, a DVD, a Blu-ray disc, a hard disc, a semiconductor memory and the like that have a play function; besides them, personal computers and the like that have a play function for image contents which are provided via the Internet). The display device  30  is a means that displays the output image which undergoes the foggy-image correction process by the image process IC  10 ; and as the display device  30 , it is possible to use an LCD (Liquid Crystal Display), an organic EL (Electro-Luminescence) display and the like. 
         [0154]    The luminance histogram calculation portion  12  is a means that obtains a luminance histogram for every one field (frame) of the input image that is input from the image source  20 ; and calculates two values or all the three values of an average luminance value, a standard deviation value and an intermediate value of the luminance histograms. Here, in the example of  FIG. 1 , the luminance histogram calculation portion  12  is so structured as to calculate an average luminance value ACAVG and a standard deviation value ACVRC of the luminance histograms. 
         [0155]    The correction control portion  13  is a means that based on two values or all the three values of the average luminance value, the standard deviation value and the intermediate value of the luminance histograms that are calculated by the luminance histogram calculation portion  12 , determines a correction amount and whether the foggy-image correction process is necessary or not for the input image; and based on the determination result, performs control of the foggy-image correction portion  11 . Here, in the example of  FIG. 1 , the correction control portion  13  is so structured as to include: a first comparison portion  131  that compares the average luminance value ACAVG of the luminance histograms with first threshold values (ACAVGTH 1 , ACAVGTH 2 ); a second comparison portion  132  that compares the standard deviation value ACVRC of the luminance histograms with second threshold values (ACVRCTH 1  to ACVRCTH 3 ); and a determination portion  133  that based on comparison results from the first comparison portion  131  and the second comparison portion  132 , determines the correction amount and whether the foggy-image correction process is necessary or not. Here, control operation of the foggy-image correction portion  11  by the correction control portion  13  is described in detail later. 
         [0156]    The register  14  is a parameter storage means that performs external setting, from a microcomputer  40 , of various parameters (the above first threshold value and the second threshold value are included) that are referred to by the correction control portion  13  when determining the correction amount and whether the foggy-image correction process is necessary or not for the input image. 
         [0157]    Next, before operation description of the correction control portion  13 , it is studied what kind of difference occurs in each luminance histogram between a foggy input image and a not-foggy input image.  FIG. 2A  and  FIG. 2B  are schematic views that show a foggy image and a luminance histogram of the foggy image, respectively;  FIG. 3A  and  FIG. 3B  are schematic views that show a not-foggy image and a luminance histogram of the not-foggy image. 
         [0158]    Generally, a foggy input image ( FIG. 2A ) is an image that is white (bright) as a whole and has a low contrast (narrow luminance dynamic range) compared with a not-foggy input image ( FIG. 3A ). In other words, the luminance histogram of the foggy input image has a high average luminance value and a small standard deviation value compared with the luminance histogram of the not-foggy input image ( FIG. 2B ,  FIG. 2B ). 
         [0159]    The correction control portion  13 , in light of the above study, has a structure in which the correction control portion  13 , based on the average luminance value ACAVG and the standard deviation value ACVRC of the luminance histograms that are calculated by the luminance histogram calculation portion  12 , determines the correction amount and whether the foggy-image correction process is necessary or not for the input image; and based on the determination result, performs the control of the foggy-image correction portion  11 . 
         [0160]      FIG. 4  is a flow chart for describing determination, by the correction control portion  13  (especially, the determination portion  133 ), of whether the foggy-image correction process is necessary or not. Here, at a start time of the flow chart, it is supposed that a register value FR_AT is set at “1 (foggy-image correction process: automatic), and a register value FR_EN is set at “0 (fogy-image correction process: in stop).” 
         [0161]    First, before contents description of the flow chart, the above register value FR_AT and the register value FR_EN are described in detail. The register value FR_AT is a register value for setting an execution method of the foggy-image correction process. When the register value FR_AT is set at 0, the foggy-image correction process is manually performed, while when the register value FR_AT is set at 1, the foggy-image correction process is automatically performed. Here, when the register value FR_EN is set at 1, bit control (operation confirmation control of the foggy-image correction process) of the register value FR_EN is also automatically performed. 
         [0162]    The register value FR_EN is a register value for performing operation control (enable control) of the foggy-image correction process and operation confirmation of the foggy-image correction process. In a case where the register value FR_AT is set at “0 (foggy-image correction process: manual)”, the register value FR_EN is used for the operation control (enable control) of the foggy-image correction process. In other words, when the register value FR_EN is set at 0, the foggy-image correction process is disabled, while when the register value FR_EN is set at 1, the foggy-image correction process is enabled. On the other hand, in a case where the register value FR_AT is set at “1 (foggy-image correction process: automatic)”, the register value FR_EN is used for the operation confirmation of the foggy-image correction process. In other words, when the register value FR_EN is set at 0, it is confirmed that the foggy-image correction process is in stop, while when the register value FR_EN is set at 1, it is confirmed that the foggy-image correction process is in operation. 
         [0163]    Next, contents of the flow chart shown in  FIG. 4  are specifically described. If the present flow chart is started, in a step S 1 , the average luminance value ACAVG of the luminance histograms and the first threshold value (an upper threshold value ACAVGTH 1  in the step S 1 ) are compared and determined. Here, in a case where it is determined ACAVG≧ACAVGTH 1 , the flow is advanced to a step S 2  (correction amount adjustment step). On the other hand, in a case where it is determined that ACAVG≧ACAVGTH 1  is not met, the flow is advanced to a step S 4 . 
         [0164]    In the step S 1 , in the case where it is determined ACAVG≧ACAVGTH 1 , in the step S 2 , the foggy-image correction process in the foggy-image correction portion  11  is turned on (basically, the register value=1), an adjustment process of the correction amount (correction strength) is performed. Here, the correction amount adjustment process in the step S 2  is described in detail later. 
         [0165]    On the other hand, in the step S 1 , in the case where it is determined that ACAVG≧ACAVGTH 1  is not met, in the step S 4 , it is determined whether the register value FR_SN is set at 1 or not, and the average luminance value ACAVG of the luminance histograms and the first threshold value (in the step S 4 , a lower threshold value ACAVGTH 2  (≦ACAVGTH 1 )) are compared and determined. Here, in a case where it is determined that the register value FR_SN is set at 1 and it is determined ACAVG≧ACAVGTH 2 , the flow is advanced to a step S 2 . On the other hand, in a case where it is determined that the register value FR_EN is not set at 1, or it is determined that ACAVG≧ACAVGTH 2  is not met, the flow is advanced to a step S 5 . 
         [0166]    In the step S 4 , if it is determined that the register value FR_EN is not set at 1, or it is determined that ACAVG≧ACAVGTH 2  is not met, in the step S 5 , the foggy-image correction process in the foggy-image correction portion  11  is turned off (the register value FR_EN=0), and the flow is advanced to the step S 3 . 
         [0167]    After the correction amount adjustment process is completed in the step S 2 , or after the foggy-image correction process is turned off in the step S 5 , it is determined whether the register value FR_AT is set at “0 (foggy-image correction process: manual)” in the step S 3  or not. Here, in a case where it is determined that the register value FR_AT is not set at 0, the flow is returned to the step S 1 , where the average luminance value ACAVG of the luminance histograms and the first threshold value (in the step S 1 , the upper threshold ACAVGTH 1 ) are repeatedly compared and determined. On the other hand, in a case where it is determined that the register value ER_AT is set at 0, so as to change the foggy-image correction process to the manual execution, the series of the flow is ended. 
         [0168]    Here, as for the first threshold value that is compared with the average luminance value ACAVG of the luminance histograms, as described above, it is desirable that the upper threshold value ACAVGTH 1  and the lower threshold value ACAVGTH 2  are adjusted to set a predetermined hysteresis width. By setting such a hysteresis width, as shown in  FIG. 5 , when the foggy-image correction process is in an off state (when the register value FR_EN=0), the foggy-image correction process is not turned on until the average luminance value ACAVG of the luminance histograms reaches the upper threshold value ACAVGTH 1 , while when the foggy-image correction process is in an on state (when the register value FR_EN=1), the foggy-image correction process is not turned off until the average luminance value ACAVG of the luminance histograms becomes under the lower threshold value ACAVGTH 2 , so that it becomes possible to curb a flicker in the output image by preventing an on/off oscillation in the foggy-image correction process. Here, it is possible to externally set both of the upper threshold value ACAVGTH 1  and the lower threshold value ACAVGTH 2  into the register  14  from the microcomputer  40 ; in a case where the upper threshold value ACAVGTH 1  and the lower threshold value ACAVGTH 2  are set at the same value, the above hysteresis function is turned off. 
         [0169]    Next, the correction amount adjustment process in the step S 2  is described in detail with reference to  FIG. 6A .  FIG. 6A  is a view showing an example of the correction amount adjustment process. Here, a horizontal axis in  FIG. 6A  indicates the standard deviation value ACVRC of the luminance histograms, and a vertical axis in  FIG. 6A  indicates the register value FRADJ for setting the correction amount (correction strength) for the foggy-image correction process. 
         [0170]    In the correction amount adjustment process in the step S 2 , the correction control portion  13  performs comparison and determination of the average luminance value ACVRC of the luminance histograms and the second threshold values (ACVRCTH 1  to ACVRCTH 3 , ACVRCTHx to ACVRCTHz), and determines whether it is necessary to apply the foggy-image correction process to the input image or not; and in a case where it is necessary to apply the foggy-image correction process to the input image, determines at which one of the register values FRADJ 1  to FRADJ 5  the correction value (correction strength) is to be set. 
         [0171]    Here, of the second threshold values, three threshold values (ACVRCTH 1 , ACVRCTH 2 , ACVRCTH 3 ) are able to be externally set into the register  14  from the microcomputer  40 ; and the three other threshold values (ACVRCTHx, ACVRCTHy ACVRCTHz) are so internally automatically set as to equally divide a difference between the threshold value ACVRCTH 1  and the threshold value ACVRCTH 2 . Accordingly, of the second threshold values, to externally set the three threshold values (ACVRCTH 1 , ACVRCTH 2 , ACVRCTH 3 ), it is necessary to meet a relationship ACVRCTH 1 +4≦ACVRCTH 2 ≦ACVRCTH 3 . 
         [0172]    Besides, it is possible to externally set the register values FRADJ 1  to FRADJ 5  which are candidates for the correction amount into the register  14  from the microcomputer  40 . Here, when externally setting the register values FRADJ 1  to FRADJ 5 , to set a larger correction amount for the foggy-image correction process when the standard deviation value ACVRC of the luminance histograms becomes smaller, it is necessary to meet a relationship FRADJ 5 ≧FRADJ 4 ≧FRADJ 3 ≧FRADJ 2 ≧FRADJ 1  (where FRADJ 5 &gt;FRADJ 1 ). 
         [0173]    Here, like in the above-described first threshold values (ACAVGTH 1 , ACAVGTH 2 ), also in the second threshold values (ACVRCTH 1  to ACVRCTH 3 , ACVRCTHx to ACVRCTHz), it is desirable to set a predetermined hysteresis width. For example, as shown in  FIG. 6A , in a case where the standard deviation value ACVRC of the luminance histograms becomes gradually small (in a case where it is necessary to increase the correction amount), the correction amount adjustment is performed along a route represented by a solid line, while in a case where the standard deviation value ACVRC of the luminance histograms becomes gradually large (in a case where it is necessary to decrease the correction amount), the correction amount adjustment is performed along a route represented by a broken line. 
         [0174]    For example, a case is considered, in which it is determined ACVRC=ACVRCTHy in the previous time of comparison and determination; and the current correction amount is set at the register value FRADJ. In this case, the correction amount is not changed to the register value FRADJ 4  until the standard deviation value ACVRC of the luminance histograms becomes under the threshold value ACVRCTHx (see the solid line in  FIG. 6A ), while the correction amount is not changed to the register value FRADJ 2  until the standard deviation value ACVRC of the luminance histograms becomes equal to or over the threshold value ACAVGTHz (see the broken line in  FIG. 6A ). Accordingly, it becomes possible to curb a flicker in the output image by preventing the correction amount for the foggy-image correction process from being frequently changed. 
         [0175]    Besides, in a case where the foggy-image correction process is in the off state, at the time the standard deviation value ACVRC of the luminance histograms becomes under the threshold value ACVRCTH 2 , the foggy-image correction process is turned on, and the correction amount adjustment process is performed in accordance with the standard deviation value ACVRC of the luminance histograms (see the solid line in  FIG. 6A ). On the other hand, after the foggy-image correction process is turned on, even if the standard deviation value ACVRC of the luminance histograms becomes equal to or over the threshold value ACVRCTH 2 , the foggy-image correction process is kept in the on state; and at the time the standard deviation value ACVRC becomes equal to or over the threshold value ACVRCTH 3 , the foggy-image correction process is turned off (see the broken line in  FIG. 6A ). Accordingly, it becomes possible to curb a flicker in the output image by preventing the on/off oscillation in the foggy-image correction process. Here, in a case where the threshold value ACVRCTH 3  is set at the largest possible value that the standard deviation value ACVRC of the luminance histograms is able to have, the foggy-image correction process is always kept in the on state. 
         [0176]    As described above, in the image process IC  10  according to the present embodiment, the correction control portion  13  determines that the foggy-image correction process is necessary when the average luminance value ACAVG of the luminance histograms is larger than the first threshold value (in the examples of  FIG. 4  and  FIG. 5 , the threshold value ACAVGTH 1  or the threshold value ACAVGTH 2 ) and the standard deviation value ACVRC of the luminance histograms is smaller than the second threshold value (in the example of  FIG. 6A , the threshold value ACVRCTH 2  or the threshold value ACVRCTH 3 ). As described above, according to the structure in which based on the average luminance value ACAVG and the standard deviation value ACVRC of the luminance histograms, the correction amount and necessity of the foggy-image correction process for the input image are determined, it is possible to perform a suitable scene determination without requiring an area division process of the input image and to perform the optimum foggy-image correction process for every scene, so that it becomes possible to improve the visibility of the output image. 
         [0177]    Here, the above-described determination process of the correction amount and necessity of the foggy-image correction process is performed for one field (frame) of the input image; however, the frequency at which the instruction contents for the foggy-image correction portion  11  are updated based on the determination result may not be invariably one field: it is possible to arbitrarily adjust the frequency for every 16 fields, 32 fields, or 64 fields or the like in accordance with the register setting from the microcomputer  40 . 
         [0178]    Besides, by performing a calculation process by means of software that uses the microcomputer  40 , it is possible to perform the above-described foggy-image correction process, the determination of the necessity of the foggy-image correction process and the correction amount adjustment; however, if the calculation process by means of hardware that uses the image process IC  10  according to the present invention, it is possible to reduce the burden on the microcomputer  40 , so that it becomes possible to achieve increase in the process speed of the entire system and cost reduction of the entire system. 
         [0179]    Here, in the above embodiment, the structure, in which the present invention is applied to the foggy-image correction process circuit, is described as an example; however, the application target of the present invention is not limited to this: the present invention is also widely applicable to other image correction process circuits. For example, in a case where the present invention is applied to an against-the-light image correction process circuit, a structure may be employed, in which in a case where a luminance histogram is obtained for every one frame of the input image, the average luminance value of them is relatively low, the standard deviation value is relatively large and the intermediate value is relatively high, the input image is recognized to be in an against-the-light condition and an against-the-light correction process is performed. 
         [0180]    Besides, in the above embodiment, the structure (see  FIG. 6A ) is described as an example, in which when the correction control portion  13  determines that the foggy-image correction process is necessary, the correction control portion  13  sets a larger correction amount for the foggy-image correction process in a stepwise way when the standard deviation value ACVRC of the luminance histograms is smaller; however, the structure of the present invention is not limited to this; for example, a structure (see  FIG. 6B ) may be employed, in which when the standard deviation value ACVRC of the luminance histograms is smaller, a larger correction amount for the foggy-image correction process is continuously set. 
         [0181]    Next, a second embodiment of the image process IC according to the present invention is described. 
         [0182]      FIG. 7  is a block diagram showing a second embodiment of the image process 
         [0183]    IC according to the present invention. An image process IC  100  in the present embodiment is a semiconductor device (digital video encoder IC with image correction function) that integrates: an image correction process circuit  200 ; an encoder circuit  300 ; a first serial interface circuit  400 ; and a second serial interface circuit  500 , and has both of a function as an NTSC/PAL digital video encoder and a function as a fog correction/dynamic range correction image process device. Here, although not shown in  FIG. 7 , in the image process IC  100  in the present embodiment, registers each of which stores an operation setting parameter for each portion of the IC are integrated. 
         [0184]    The image correction process circuit  200  is a circuit block which generates the digital output image data by applying a predetermined image correction process to the digital input image data that are input from outside of the device, and includes: a first image correction process portion  201 ; and a second image correction process portion  202 . 
         [0185]    The first image correction process portion  201  is a circuit block which applies the foggy-image correction process to the digital input image data that are input from outside of the device, and to which the foggy-image correction portion  11 , the luminance histogram calculation portion  12 , and the correction control portion that are shown in the above  FIG. 1  correspond. 
         [0186]    The second image correction process portion  202  is a circuit block which further applies a color correction process and a luminance dynamic range correction process to the input image data that are input from the first image correction process portion  201  and already undergo the foggy-image correction process, and includes: a color correction portion  202   a ; a luminance determination portion  202   b ; an image enhance portion  202   c ; and a calculation process portion  202   d.    
         [0187]    The color correction process portion  202   a , based on the input image data that are input from the first image correction process portion  201  and already undergo the foggy-image correction process, calculates a color correction coefficient. 
         [0188]    The luminance determination portion  202   b , based on the input image data that are input from the first image correction process portion  201  and already undergo the foggy-image correction process, calculates a luminance dynamic range correction coefficient. 
         [0189]    The image enhance portion  202   c , based on the color correction coefficient that is input from the color correction portion  202   a  and the luminance dynamic range correction coefficient that is input from the luminance determination portion  202   b , calculates the final image correction coefficient. 
         [0190]    The calculation process portion  202   d , based on the final image correction coefficient that is input from the image enhance portion  202   c , further applies the color correction process and the luminance dynamic range correction process to the input image data that are input from the first image correction process portion  201  and already undergo the foggy-image correction process. 
         [0191]    The encoder circuit  300  is a circuit block which converts the digital output image data generated by the image correction process circuit  200  into output image data in an analog composite type video form, and includes: a memory controller  301 ; a line memory  302 ; a complement portion  303 ; a gamma correction portion  304 ; a low pass filter portion  305 ; a trap filter portion  306 ; low pass filter portions  307 ,  308 ; calculation portions  309  to  312 ; a digital/analog conversion portion  313 ; a timing signal generation portion  314 ; a sub-carrier signal generation portion  315 ; and a color bar signal generation portion  316 . 
         [0192]    The memory controller  301  uses the line memory  302  to perform line buffer control of the digital output image data that are input from the image correction process circuit  200 . The complement portion  303  applies a complementary process (YUV (4:2:2)→YUV (4:4:4)) of missing information to the digital output image data input from the memory controller  301 ; and performs an over-sampling process (13.5 MHz→27 MHz) of the digital output image data. 
         [0193]    The gamma correction portion  304  applies a gamma correction process to a luminance signal Y that is input from the complement portion  303 . The low pass filter portion  305  applies a low pass filter process to an output signal from the gamma correction portion  304 . The trap filter portion  306  applies a band eliminate filter process to an output signal from the low pass filter portion  305 . 
         [0194]    The low pass filter portions  307 ,  308  apply a low pass filter process to color signals Cb, Cr respectively that are input from the complement portion  303 . The calculation process portions  309 ,  310  superimpose a sub-carrier signal onto output signals from the low pass filter portions  307 ,  308  respectively. The calculation process portion  311  adds an output signal from the calculation process portion  309  and an output signal from the calculation process portion  310  to each other. The calculation process portion  312  adds an output signal from the trap filter portion  305  and an output signal from the calculation process portion  311  to each other. The digital/analog conversion portion  313  converts a digital signal input from the calculation process portion  312  into an analog signal and outputs the analog signal. 
         [0195]    The timing signal generation portion  314  through-outputs timing signals (horizontal synchronous signal, vertical synchronous signal, clock signal) input from outside of the device to the outside of the device as they are, while also performing synchronous control of the sub-carrier signal generation portion  315  by using the timing signals. The sub-carrier signal generation portion  315  generates a sub-carrier signal used for burst modulation of the color signals Cb, Cr and supplies the signal to the calculation process portions  309 ,  310 . The color bar signal generation portion  316  generates a color bar signal that is a reference value for the output image data in the analog composite video foam. 
         [0196]    The first serial interface circuit  400  collaborates with peripheral devices (CPU (Central Processing Unit and the like) to perform dual-line type serial communication that is in conformity with the I 2 C (Inter-Integrated Circuit) standard. 
         [0197]    The second serial interface circuit  500  collaborates with an EEPROM (Electrically Erasable and Programmable Read Only Memory) to perform serial communication that is in conformity with the SPI (Serial Peripheral Interface) standard. 
         [0198]    Next, external terminals of the image process IC  100  are described.  FIG. 8  is a terminal arrangement view of the image process IC  100 ;  FIG. 9  is a terminal-function description table of the image process IC  100 . 
         [0199]    A 1st pin (SDI) is an SPI bus data input terminal. A 2nd pin (CAMDI 7 ) to a 5th pin (CAMDI 4 ) each are data input terminals (four leftmost bits [7:4]). A 6th pin (GND) is a common ground terminal. A 7th pin (VDD) is a core power-supply terminal. An 8th pin (CAMDI 3 ) to an 11th pin (CAMDI 0 ) each are data input terminals (four rightmost bits [3:0]). A 12th pin (CAMHSI) is a horizontal timing input terminal. A 13th pin (CAMVSI) is a vertical timing input terminal. A 14th pin (CAMCKI) is a clock input terminal. A 15th pin (GND) is a common ground terminal. A 16th pin (VDDIO) is a digital I/O power-supply terminal. A 17th pin (CAMDO 0 ) to a 24th pin (CAMDO 7 ) each are data output terminals (8 bits in total [7:0]). A 25th pin (CAMHSO) is a horizontal timing output terminal. A 26th pin (CAMVSO) is a vertical timing output terminal. A 27th pin (CAMCKO) is a clock output terminal. A 28th pin (GND) is a common ground terminal. A 29th pin (VDD) is a core power-supply terminal. A 30th pin (AUTO) is a automatic register setting function valid terminal. A 31st pin (MODE 0 ) and a 32nd pin (MODE 1 ) are mode selection terminals. A 33rd pin (VOUT) is an analog composite video output terminal. A 34th pin (AVSS) is a DAC analog ground terminal. A 35th pin (IREF) is a DAC reference voltage output terminal. A 36th pin (AVDD) is a DAC analog power-supply terminal. A 37th pin (GND) is a common ground terminal. A 38th pin (VDDI 2 C) is a dual-line type serial interface digital I/O power-supply terminal. A 39th pin (SDA) is a dual-line type serial interface digital input/output data terminal. A 40th pin (SDC) is a dual-line type serial interface digital input/output clock terminal. A 41st in (RESETB) is a system reset signal input terminal. A 42nd pin (TEST) is a test mode terminal, and is connected to the ground during a use time. A 43rd pin (GND) is a common ground terminal. A 44th pin (VDDIO) is a digital I/O power-supply terminal. A 45th pin (WPB) is an EEPROM write protect terminal. A 46th pin (SCEB) is an EEPROM chip select terminal. A 47th pin (SCK) is an SPI bus clock output terminal. A 48th pin (SDO) is an SPI bus data output terminal. 
         [0200]    Here, as for the terminals indicated by * in an active level section in  FIG. 9 , it is shown that by setting the registers, it is possible to change the active level. Besides, an Init section in  FIG. 9  shows pin states during in a reset release time. Besides, it is shown that the terminals indicated by * 1  in the Init section are in a pull-down state. Besides, as for the numbers described in a power-supply system section in  FIG. 9 ,  1  indicates VDDIO,  2  indicates VDDI 2 C,  3  indicates AVDD, and  4  indicates VDD. 
         [0201]    Of the above-described external terminals, the 2nd pin (CAMDI 7 ) to the 5th pin (CAMDI 4 ) and the 8th pin (CAMDI 3 ) to the 11th pin (CAMDI 0 ) correspond to the first external terminals into which the digital input image data are input from outside of the IC. Besides, the 17th pin (CAMDO 0 ) to the 24th pin (CAMDO 7 ) correspond to the second external terminals from which the digital output image data are output to the outside of the IC. Besides, the 33rd pin (VOUT) corresponds to the third external terminal from which the output image data in the analog composite video form are output to the outside of the IC. 
         [0202]    Next, an overview of the image process IC  100  having the above structure is described. The image process IC  100  is a video encoder incorporating an image correction function that is able to improve the visibility of the input image (especially, foggy input image, low-brightness input image, or input image in an against-the-light condition) that are input from a camera and the like by comprehensively performing the foggy-image correction, the color correction process, and the luminance dynamic range correction process). 
         [0203]    Next, features of the image process IC  100  having the above structure are described. A first feature is that an input data format is compatible with the ITU-R BT.656-4 and the YCbCr with a synchronous signal. Here, as for the ITU-R BT. 656-4, the data bus width is 8 bits and the pixel clock is 27 MHz. Besides, as for the YCbCr with the synchronous signal (the synchronous signal is for slave operation), the data bus width is 8 bits; and the data range is a full range or in conformity with the ITU-R BT. 601. The pixel clock is NTSC (27 MHz, 28.63636 MHz, or 19.06993 MHz), or PAL (27 MHz, 28.375 MHz, 35.46895 MHz, or 18.9375 MHz). A second feature is that an output data format as well, like the input format, is compatible with the ITU-R BT. 656-4, or the YCbCr with the synchronous signal. A third feature is that an output video format is compatible with an NTSC/PAL SD-TV composite video output (CVBS). A fourth feature is that the image process IC  100  incorporates the image correction functions (foggy-image correction function, color correction function, luminance dynamic range correction function), an edge enhancement filter, and a gamma filter. A fifth feature is that the image process IC  100  incorporates one channel of a 10-bit digital/analog converter. A sixth feature is that the image process IC  100  incorporates a slave function which uses the dual-line type serial interface, and is ale to set the registers in the inside of the IC from outside. A seventh feature is that that the image process IC  100  incorporates an SPI bus master function, and is able to automatically read the register set values stored in an external EEEPROM at reset release and mode change times and to set the values into the registers in the inside of the IC. An eighth feature is that the image process IC  100  is compatible with four-system power-supply voltages (VDD=1.50 V, VDDI 0 =3.30 V, VDDI 2 C=3.30 V, AVDD=3.30 V). A ninth feature is that the image process IC  100  employs a 48-pin VQFP package (0.5 mm pin pitch). 
         [0204]    Next, a level relationship between the digital data and the CVBS output is described. By means of an ITU601R_I register, it is possible to set an input digital data range. Besides, by means of a LEVEL register, it is possible to set an analog signal level when performing the CVBS output of the digital data. Relationships between the digital data range by the ITU601R_I register and the CVBS output level by the LEVEL register are as shown in  FIG. 10A  and  FIG. 10B .  FIG. 10A  and  FIG. 10B  each are views showing a level relationship between the digital data and the CVBS output for every setting. Here,  FIG. 10A  shows a state in a 100 [IRE] setting time, while  FIG. 10B  shows a state in a 108 [IRE] setting time. 
         [0205]    Next, the dual-line type serial interface is described.  FIG. 11A  is a data transmission/reception waveform view of the dual-line type serial interface;  FIG. 11B  is a format view of the dual-line type serial interface. A slave address of the dual-line type serial interface is 70h. In a case where two or more consecutive accesses are performed for both of the write/read, a sub-address is automatically augmented. 
         [0206]    Next, the SPI bus format is described.  FIG. 12  is a data transmission/reception waveform view of the SPI bus interface. Here, REG_WPB, REG_SCEB, SWDATA, and SRDATA in  FIG. 12  are register names, and the respective functions are as follows. 
         [0207]    REG_WPB: specifies logic of a WP pin. The register value is output to the WP pin as it is. 
         [0208]    REG_SCEB: specifies logic of an SCEB pin. The register value is output to the SCEB pin as it is. 
         [0209]    SWADA [7:0]: specifies written data into an EEPROM. The data are transferred with MSB first. 
         [0210]    SRDATA [7:0]: reads data from the EEPROM. The data are converted with MSB first. 
         [0211]    Here, it is possible to calculate the SCK clock frequency by a numerical formula: the SCK frequency=the CAMCKI frequency÷2(SPIPREDIV+1)÷(SPIDIV+1). Here, SPIPREDIV, SPIDIV are SCK frequency set register values that are able to be set in ranges of SPIPREDIV=0 to 7, and SPIDIV=0 to 31. When CAMCKI is 27 MHz, SCK is 13.5 MHz to 3.3 kHz. 
         [0212]    Next, a function to automatically read data from the EEPROM by means of the SPI bus is described in detail. In the image process IC  100 , by fixing an AUTO pin at a high level, it is possible to automatically read data from the EEPROM and set the data into a register in the IC. 
         [0213]      FIG. 13  is a flow chart showing the automatic data reading sequence. In a step S 101 , a RESETB pin is released. In a step S 102 , logic levels of MODE 0  and MODE 1  are confirmed and the confirmation results are saved. In a step S 103 , the data reading from the EEPROM is performed. In a step S 104 , it is determined whether the operation state is a set state or a stop state. In a case where it is determined in the step S 104  that the state is the set state, the data are reflected onto a target index in a step S 105 . On the other hand, in a case where it is determined in the step S 104  that the state is the stop state, the logic levels of MODE 0 , MODE 1  are confirmed in a step S 106 . In a step S 107 , the state of the MODE pin saved in the step S 102  and the confirmation result in the step S 106  are compared with each other. Here, in a case where there is a change, the flow is returned to the step S 103 , while in a case where there is not a change, the flow is returned to the step S 106 . 
         [0214]    Here, in the step S 103  of  FIG. 13 , when reading the data from the EEPROM, as for the read start address ST_ADR of the EEPROM follows the setting of the MODE 0  pin and the MODE 1  pin as follows: 
         [0215]    [MODE 1 , MODE 0 ]=[Low, Low]: ST_ADR=000h 
         [0216]    [MODE 1 , MODE 0 ]=[Low, High]: ST_ADR=080h 
         [0217]    [MODE 1 , MODE 0 ]=[High, Low]: ST_ADR=100h 
         [0218]    [MODE 1 , MODE 0 ]=[High, High]: ST_ADR=180h 
         [0219]      FIG. 14  is a waveform view for describing the flow of reading data from the EEPROM. Here, *A in the figure indicates an address bit  8  of the EEPROM and *B indicates address bits  7  to  0  of the EEPROM. 
         [0220]    Besides, in the step S 105  of  FIG. 13 , when reflecting the data onto the target index, following a data format in the inside of the EEPROM, the register values are reflected onto the IC.  FIG. 15A  and  FIG. 15B  are views showing data formats in the inside of the EEPROM. Here,  FIG. 15A  shows a data format in a set time (operation state in which the setting is performed into a register in the inside of the IC), while  FIG. 15B  shows a data format in a stop time (stop state of automatic reading). 
         [0221]    Here, data contents shown in  FIG. 15A  are as follows: 
         [0222]    S_CODE: 8′ b0000 — 0001. The image process IC  100  (hereinafter, abbreviated to the present IC if necessary) receives this code and determines that subsequent data are valid register values. 
         [0223]    Index: A setting start index address of the present IC 
         [0224]    Size: Set size (byte) 
         [0225]    Data: set data. The number of data is a Size byte. 
         [0226]    Besides, data contents shown in  FIG. 15B  are as follows: 
         [0227]    P_CODE [3:0]: 4′ b0100. The present IC receives this code and stops the automatic reading function. 
         [0228]    PER [3:0]: sets a polling interval for MODE 0 , MODE 1 . 
         [0229]    If it is determined that the operation is in the set state, the automatic reading function determines that the index value is the setting start address of the present IC and consecutively performs the setting for the Size. If the setting for the Size is completed, it is determined again whether the operation is in the set state or the stop state; if it is in the set state, the setting for the Size is performed from the index used as the setting start address. This operation is performed until the stop is identified. If the stop is identified, the automatic reading function is stopped. Thereafter, the polling for the MODE 0 , MODE 1  is performed every time set as the polling interval; and at a time a pin-level change is confirmed, the operation is restarted. Besides, if MODE 0 , MODE 1  are changed during the operation of the automatic reading function, the setting is performed again immediately after completion of the automatic reading operation. 
         [0230]    Next, registers incorporated in the image process IC  100  are described.  FIG. 16  is a register map of the image process IC  100 . Here, access to Empty- and Reserved-notation registers is prohibited. 
         [0231]      FIG. 17  is a detailed table of a polarity set register POL. IDX_ADDRESS is 10h. 
         [0232]    CKPOL sets a polarity of CAMCKI for CAMDI [7:0]. The set contents are as follows: 
         [0233]    0: a data change at a falling edge of CAMCKI, and data fetching at a rising edge (see  FIG. 18A ). 
         [0234]    1: a data change at a rising edge of CAMCKI, and data fetching at a falling edge (see  FIG. 18B ). 
         [0235]    HSPOL sets a polarity of a horizontal synchronous signal (CAMHSI). A HIGH section contains valid data (LOW is a sink section). 0 is set into HSPOL. 
         [0236]    VSPOL sets a polarity of a vertical synchronous signal (CAMVSI). A HIGH section contains valid data (LOW is a sink section). 0 is set into VSPOL. 
         [0237]    0 may be written into a bit of RESERVED. 
         [0238]      FIG. 19  is a detailed table of a parameter update register PARAMSET. IDX_ADDRESS is 11h. 
         [0239]    1 is written into PARAMSET_FR to apply a parameter update to a register of a fog erasure block (IDX_ADDRESS: 30h to 37h). An internal parameter is updated at the head of a frame after the writing. This bit is automatically cleared after the update. 
         [0240]    1 is written into PARAM SET to update a parameter. An internal parameter is updated at the head of the frame after the writing. This bit is automatically cleared after the update. 
         [0241]    0 may be written into a bit of RESERVED. 
         [0242]      FIG. 20  is a detailed table of a mode register MODE. IDX_ADDRESS is 12h. 
         [0243]    The MODE [1:0] sets an image enhance operation mode of the present IC (see  FIG. 21 ). 
         [0244]    TH_TYPE sets a through-mode operation type. During a through-mode time, data and a synchronous signal are delayed by the same number of cycles as in the image enhance mode and are output. 1 is set into TH_TYPE. 
         [0245]    SUSP sets IO suspend modes. In a suspend mode, the respective signals of CAMIO-7, CAMHSI, CAMVSI, CAMCKI are not transmitted to the inside of the IC. 
         [0246]    The set contents are as follows: 
         [0247]    0: suspend mode released 
         [0248]    1: suspend mode 
         [0249]    PD_OFF controls pull-down setting of AUTO, MODE 0 , and MODE 1  of the present IC. The set contents are as follows: 
         [0250]    0: An incorporated pull-down resistor is connected to each of AUTO, MODE 0 , and MODE 1 . 
         [0251]    1: The incorporated pull-down resistor is separated form each of AUTO, MODE 0 , and MODE 1 . 
         [0252]    DOUT_OFF controls digital output setting of the present IC. The set contents are as follows: 
         [0253]    0: Image data are output from a digital terminal. 
         [0254]    1: CAMDO 0 - 7 , CAMHS 0 , CAMHS 0 , and CAMCK 0  are output at a low level. 
         [0255]    FR_OUT_SEL selects to output CAMHS 0  which undergoes a timing adjustment in the inside or FR_EN (IDX_ADDRESS: 30h bit [0]) from CAMHSI to a CAMHS 0  terminal. The set contents are as follows: 
         [0256]    0: CAMHS 0  is output. 
         [0257]    1: FR_EN is output. 
         [0258]      FIG. 22  is a detailed table of an input interface format specification register YUVIFSET. IDX_ADDRESS is 13h. 
         [0259]    YUV_XST [1:0] sets a delay from valid Hsync to valid data. 0 is set into YUV_XST [1:0]. 
         [0260]    YUVORD [1:0] sets an input format of YCbCr. 10b (CbYCrY . . . ) may be set into YUVORD [1:0]. 
         [0261]    ITU601R selects a data range for a digital interface. Here, the setting other than the following is prohibited. 
         [0262]    00b: Data input/output are performed in a full range. 
         [0263]    11b: Data input/out are performed in an ITU601 range. 
         [0264]    ITU656EN sets a digital interface for input and output. The set contents are as follows: 
         [0265]    0: Separate signals for Hsync, Vsync 
         [0266]    1: ITU656 format 
         [0267]      FIG. 22  is a detailed table of an output range conversion register TRAM_LIM. IDX_ADDRESS is 49h. 
         [0268]    TRAN_LIM applies a color space conversion (YUV→RGB→YUV conversion) to a digital output signal CAMDO 7 - 0 . If the color space conversion is performed, an output chroma component is limited to a value that is representable in an RGB space. The set contents are as follows: 
         [0269]    0: Color space converted 
         [0270]    1: Color space not converted 
         [0271]    0 may be written into RESERVED. 
         [0272]      FIG. 24  is a detailed table of a monitor X-direction pixel size set register DXSIZE. IDX_ADDRESS is 14h and 15h. XSIZE [10:0] sets the number of pixels in the X direction of a utilized camera. An even number may be set. It is possible to set 320 to 1280. 
         [0273]      FIG. 25  is a detailed table of a monitor Y-direction pixel size set register DYSIZE. IDX_ADDRESS is 16h and 17h. YSIZE [10:0] sets the number of pixels in the Y direction of a utilized camera. It is possible to set 240 to 960. 
         [0274]      FIG. 26  is a detailed table of a foggy-image correction and image enhance valid X-direction start position set register ICXST. IDX_ADDRESS is 18h and 19h. ICXST [9:0] sets an X-direction start position of a valid area for the foggy-image correction and the image enhance correction. An even number may be set. It is possible to set 0 to (XSIZE−ICXSIZE). 
         [0275]      FIG. 27  is a detailed table of a foggy-image correction and image enhance valid Y-direction start position set register ICYST. IDX_ADDRESS is 1Ah and 1Bh. ICYST [9:0] sets a Y-direction start position of a valid area for the foggy-image correction and the image enhance correction. It is possible to set 0 to (YSIZE−ICYSIZE). 
         [0276]      FIG. 28  is a detailed table of a foggy-image correction and image enhance valid X-direction size set register ICXSIZE. IDX_ADDRESS is 1Ch and 1Dh. ICXSIZE [10:0] sets an X-direction size (the number of pixels) of a valid area for the foggy-image correction and the image enhance correction. It is possible to set 320 to XSIZE. 
         [0277]      FIG. 29  is a detailed table of a foggy-image correction and image enhance valid Y-direction size set register ICYSIZE. IDX_ADDRESS is 1Eh and 1Fh. ICYSIZE [10:0] sets a Y-direction size (the number of pixels) of a valid area for the foggy-image correction and the image enhance correction. It is possible to set 240 to YSIZE. 
         [0278]      FIG. 30  is a schematic view showing a valid area of the foggy-image correction and the image enhance correction. 
         [0279]      FIG. 31  is a detailed table of a pre-gamma set register PREGAMMA. IDX_ADDRESS is 20h. In the present IC, a pre-gamma filter is incorporated. This pre-gamma filter has 15 kinds of set values; the set values are selected by PREG [3:0]. PREG [3:0] is able to set 0 to 14; the smaller the number becomes, the larger the output luminance for a low luminance area becomes. Here, the setting of 15 into PREG [3:0] is prohibited. 
         [0280]      FIG. 32  is a detailed table of a luminance correction strength set register STRENGTH. IDX_ADDRESS is 21h. STR [6:0] sets the strength of the image enhance correction. STR [6:0] is able to set values of 0 to 127. 
         [0281]      FIG. 33  is a detailed table of a color difference correction strength set register UV_STRENGTH. IDX_ADDRESS is 22h. 
         [0282]    UV_STR [3:0] sets the correction strength of the image enhance correction of a color difference component. UV_STR [3:0] is able to set 0 to 13; the larger the number becomes, the deeper the color becomes. The setting of 14, 15 is prohibited. Besides, in a case where the setting is FR_AT=1, UV_STR_AT=1 and FR_EN=1 (IDX_ADDRESS: 30h FRCTL [4:3], [0]), the UV_STRENGTH for an image enhance correction block is not set into the present register but into UV_STR_AT (IDX_ADDRESS: 07h UV_STR_AT [3:0]). 
         [0283]    The larger the number in V_ENHANCE [3:0] becomes, the deeper the red color becomes. An enhancement by +about 3%×the set number is performed. 
         [0284]      FIG. 34  is a detailed table of a noise curb set register NOISE_SUP. IDX_ADDRESS is 23h. NOISE_SUP [6:0] sets a noise curb value. It is possible to set 10 to 127. If the number is increased, noise is curbed. The setting of 0 to 9 is prohibited. 
         [0285]      FIG. 35  is a detailed table of an edge enhancement filter set register EDG_CNT. IDX_ADDRESS is 24h. 
         [0286]    EDG_ST [3:0] sets the strength of an edge enhancement filter. It is possible to set 0 to 15. If the value is increased, the edge enhancement becomes strong. 
         [0287]    EDG_EN sets an enable state of the edge enhancement filter. The set contents are as follows: 
         [0288]    0: Disable 
         [0289]    1: Enable 
         [0290]      FIG. 36  is a detailed table of a response time set register RESP_SET. IDX_ADDRESS is 25h. RESP_SET sets a response time for an image enhance effect. 0 gives the fastest response time, while 15 gives the latest response time. 
         [0291]      FIG. 37  is a detailed table of a post-filter enable register PELT_EN. IDX_ADDRESS is 26h. POFLT_EN sets an enable state of an output gamma filter. A characteristic set by an output gamma characteristic register is used. The gamma filter works on an image after the image enhance correction process. The set contents are as follows: 
         [0292]    0: Disabled 
         [0293]    1: Enabled 
         [0294]      FIG. 38  is a detailed table of output gamma characteristic registers POELT 0  to POFLT 8 . IDX_ADDRESS is 27h to 2F. POFLT 0  to POFLT 8  each set an output gamma characteristic. 
         [0295]      FIG. 39  is a view showing an output gamma characteristic. 
         [0296]      FIG. 40  is a detailed table of a foggy-image correction control register FRCTL. IDX_ADDRESS is 30h. 
         [0297]    FRCLK_EN supplies a clock to a foggy-image correction block. The set contents are as follows: 
         [0298]    0: Clock stopped 
         [0299]    1: Clock supplied 
         [0300]    FR_SLOP, during an automatic control time of the foggy-image correction (a time the setting is FR_AT=1), sets a slope time for a change in an S-curve range adjustment value (ACRVADJ register). A slope width always changes in units of ± 1  in accordance with the SCRVADJ value. The set contents are as follows: 
         [0301]    0: Slope control disabled 
         [0302]    1: Slope control enabled 
         [0303]    FR_AT sets a foggy-image correction method. During a time the automatic control is selected, the present IC controls the FR_EN bit. The set contents are as follows: 
         [0304]    0: The foggy-image correction is manually set. 
         [0305]    1: The foggy-image correction is automatically performed (the present IC performs the control). 
         [0306]    UV_STR_AT_EN, during a time the automatic control is in an on state and the foggy-image correction function is valid, selects one of UV_STR (IDX_ADDRESS: 22h [3:0]) and UV_STR_AT (IDX_ADDRESS: 07h [3:0]) which are to be valid as the UV_STR setting for an image enhance correction function. The set contents are as follows: 
         [0307]    0: The set value in UV_STR is always valid. 
         [0308]    1: During a time the automatic control is in the on state and the foggy-image correction function is valid, the set value in UV_STR_AT is valid. 
         [0309]    If 1 is written into REP_REQ, data of the next frame image are fetched. After 1 is written, it is possible to read data in 36h to 37h after the value becomes 0 (automatic clear). The set contents are as follows: 
         [0310]    0: Not fetched (the data in 36h, 37h are invalid) 
         [0311]    1: Fetching completed (the data in 36h, 37h are valid) 
         [0312]    FR_TH performs through-operation control of the foggy-image correction block. A synchronous signal and data are delayed by the same number of cycles as in the foggy-image correction process time and are output. 1 may be set into FR_TH. 
         [0313]    FR_EN performs operation control (during a time the setting is RF_AT=0) of the foggy-image correction process or operation confirmation (during a time the setting is FR_AT=1) of the foggy-image correction process. The set contents are as follows. Here, the writing of 1 into the bit of RESERVED is prohibited. 
         [0314]    &lt;during the time the setting is FR_AT=0&gt; 
         [0315]    0: The foggy-image correction disabled 
         [0316]    1: The foggy-image correction enabled 
         [0317]    &lt;during the time the setting is FR_AT=1&gt; 
         [0318]    0: The foggy-image correction in stop 
         [0319]    1: The foggy-image correction in operation 
         [0320]      FIG. 41  is a detailed table of a foggy-image correction S-curve range adjustment register SCRVADJ. IDX_ADDRESS is 31h. SCRVADJ [3:0] performs an S-curve range adjustment of the foggy-image correction and sets the strength of the foggy-image correction.  FIG. 42  is a table showing a relationship between the set value in SCRVADJ and the strength of the foggy-image correction. 
         [0321]      FIG. 43  is a detailed table of a foggy-image correction γ-curve range adjustment register GCRVADJ. IDX_ADDRESS is 32h. GCRVADJ [3:0] performs a γ-curve range adjustment of the foggy-image correction and sets an offset of a γ value.  FIG. 44  is a table showing a relationship between the set value in GCRVADJ and the offset of the γ value. 
         [0322]      FIG. 45  is a detailed table of a histogram average luminance value register HAVGLUM. IDX_ADDRESS is 36h. HAVGLUM [3:0] is able to read a histogram average value. A range of 0 to 255 is used. 
         [0323]      FIG. 46  is a detailed table of a histogram standard dispersion value register HSTDVRC. IDX_ADDRESS is 37h. HSTDVRC [3:0] is able to read a histogram dispersion value. 
         [0324]      FIG. 47  is a detailed table of a between-fields low pass filter control register FR_LPF_CNT. IDX_ADDRESS is 3Eh. FR_LPF_EN makes a 5-tap low pass filter valid for a parameter that is calculated in the inside of the foggy-image correction block. The set contents are as follows. Here, the writing of 1 into RESERVED is prohibited. 
         [0325]    0: Low pass filter OFF 
         [0326]    1: Low pass filter ON 
         [0327]      FIG. 48  is a detailed table of between-fields LPF coefficient registers FR_LPF_COEF 0  to FR_LPF_COEF 4 . IDX_ADDRESS is C2h to C6h. FR_LPF_COEF 0  [7:0] to FR_LPF_COEF 4  [7:0] each set a coefficient of between-fields low pass filters. Each filter coefficient has 1 bit of an integer portion and 7 bits of a decimal fraction portion, 8 bits in total and may be set at a binary number. Accordingly, in a case where the value is expressed with a decimal number, the coefficient set value is as follows: 
         [0000]      Coefficient=bit 7*20+bit 6*2−1+bit 5*2−2+bit 4*2−3+ . . . +bit 0*2−7
 
         [0328]    For example, in a case where 0.5 is set as a decimal number into FR_LPF_COEF 0 , 40 h is set in the same register. Besides, the calculation of LPF is as follows: 
         [0000]        P ( n )′= P ( n− 2)* FR   —   LPF   —   COEF 0+ P ( n− 1)*
 
         [0000]        FR   —   LPF   —   COEF 1+ P ( n )* FR   —   LPF   —   COEF 2+ 
         [0000]        P ( n+ 1)* FR   —   LPF   —   COEF 3+ P ( n+ 2)* 
         [0000]        FR   —   LPF   —   COEF 4 
         [0329]    Here, the setting has to be done in such a way that the sum of the respective coefficients always becomes 1. 
         [0000]        FR   —   LPF   —   COEF 0+ FR   —   LPF   —   COEF 1+ FR   —   LPF   —   COEF 2+ FR   —   LPF   —   COEF 3+ FR   —   LPF   —   COEF 4=80 h    
         [0330]      FIG. 49  is a detailed table of an automatic control UV_STR adjustment register UV_STR_AT. IDX_ADDRESS is 07h. If UV_STR_AT_EN (IDX_ADDRESS: 30h [3])=1 and the foggy-image correction function is valid during a time the automatic control is in an on state, UV_STR AT [3:0] replaces the UV_STR set value for the image enhance correction function with the present register value. Even during the time the automatic control is in the on state, if the foggy-image correction function is invalid, the present register becomes invalid, and the image enhance correction function follows the setting in UV_STR (IDX_ADDRESS: 22h [3:0]). 
         [0331]      FIG. 50  is a detailed table of automatic control dispersion value threshold value set registers ACVRCTH 1  to ACVRCTH 3 . IDX_ADDRESS is 08h to 0Ah. ACVRCTH 1 ,  2 ,  3  [7:0], by means of ACVRCTH 1 , ACVRCTH 2 , and ACVRCTH 3 , determine whether the input image is a foggy image or not for an input histogram dispersion value. Details are described later with reference to  FIG. 53  and  FIG. 54 . Here, ACVRCTH 1 , ACVRCTH 2 , and ACVRCTH 3  should be so set as to meet the following relationship: 
         [0000]        ACVRCTH 1+4 ≦ACVRCTH 2&lt; ACVRCTH 3 
         [0332]      FIG. 51  is a detailed table of automatic control average value threshold value set registers ACAVGTH 1 , ACAVGTH 2 . IDX_ADDRESS is 0Bh, 0Ch. In a case where the average luminance value of the histograms is larger than ACAVGTH 1 , ACAVGTH 1 ,  2  [7:0] determine that the input image is a foggy image and the correction function becomes valid. After the foggy-image correction function becomes valid, if the average luminance value of the histograms becomes smaller than ACAVGTH 2 , the foggy-image correction function is made invalid. Details are described later with reference to  FIG. 53  and  FIG. 54 . Here, ACAVGTH 1  and ACAVGTH 2  should be so set as to meet the following relationship. Here, in a case where ACAVGTH 1 =ACAVGTH 2 , the hysteresis function for the input-image luminance value determination is turned off. 
         [0000]        ACAVGTH 1≧ ACAVGTH 2
 
         [0333]      FIG. 52  is a detailed table of automatic control S-curve correction region set registers ACSCV 11  to ACSCV 13 . IDX_ADDRESS is 0Dh to 0Fh. 
         [0334]    ACSCV_ULIM [3:0], ACSCV_MH [3:0], ACSCV_MM [3:0], ACSCV_ML [3:0] and ACSCV_LLIM [3:0], during the automatic control time, performs the setting of a foggy-image correction amount: S-curve range adjustment for the input dispersion value. The strength of the set value is the same as the SCRVADJ register (IDX_ADDRESS: 31h). Details are described later with reference to  FIG. 53  and  FIG. 54 . ACSCV_ULIM, ACSCV_MH, ACSCV_MM, ACSCV_ML and ACSCV_LLIM should be so set as to meet the following relationships: 
         [0000]    
       
      
       ACSCV 
       — 
       ULIM&gt;ACSCV 
       — 
       LLIM  
      
     
         [0000]    
       
      
       ACSCV 
       — 
       ULIM≧ACSCV 
       — 
       MH≧ACSCV 
       — 
       MM≧ACSCV 
       — 
       ML≧ACSCV 
       — 
       LLIM  
      
     
         [0335]    FR_SLOP_CNT [1:0], during a time the slope setting (FR_SLOP) is valid in the automatic control, sets a slope time. The set contents are as follows: 
         [0336]    00b: Updated for every field 
         [0337]    01b: Updated for every 16 fields 
         [0338]    10b: Updated for every 32 fields 
         [0339]    11b: Updated for every 64 fields 
         [0340]      FIG. 53  is a flow chart for describing the foggy-image correction automatic control;  FIG. 54  is a view showing a schema of a foggy-image correction automatic control algorithm. Here, because  FIG. 53  and  FIG. 54  respectively correspond to the above  FIG. 4  and  FIG. 6A , hereinafter, only an overview of them is described. 
         [0341]    In the automatic control of the foggy-image correction, an S-curve range adjustment is performed in the following sequence. 
         [0342]    (1) Comparison of the Input Luminance and the ACVRCTH 1  Register Value 
         [0343]    First, in a step S 201 , the average luminance value of the input image and the ACVRCTH 1  register value are compared with each other. If the average luminance value of the input image is higher, the flow moves on to an S-curve range adjustment determination state (step S 202 ). In the luminance determination, to prevent ON/OFF near the ACVRCTH 1  register value from occurring, it is possible to set a hysteresis width. The foggy-image correction is turned on if the input luminance is larger than the ACVRCTH 1  register value, and is turned off if the input luminance is smaller than the ACVRCTH 1  register value, 
         [0344]    (2) S-Curve Range Adjustment 
         [0345]    In the S-curve range adjustment, a dispersion value of the input image is determined; and the SCRVADJ register value is calculated in accordance with the dispersion value. The set range specification for the S-curve range adjustment is performed with ACSCV_ULIM, ACSCV_MH, ACSCV_MM, ACSCV_ML and ACSCV_LLIM. The standard dispersion specification is performed with ACVRCTH 1 , ACVRCTH 2  and ACVRCTH 3 ; and the difference between ACVRCTH 1  and ACVRCTH 2  is equally divided into four sections. For example, if the input dispersion value has the same value as the ACVRCTH 1  value, the SCRVADJ register value is set at the ACSCV_ULIM value. Like in the input luminance determination time, in the S-curve range adjustment as well, to prevent a deviation at the set boundary, as shown in  FIG. 54 , a hysteresis is present. In a case where the dispersion value of the input image gradually becomes large, the S-curve range adjustment is performed along a route represented by a broken line in  FIG. 54 ; if the dispersion value of the input image becomes larger than ACVRCTH 3 , the foggy-image correction function is turned off. After being turned off, if the dispersion value of the input image becomes larger than ACVRCTH 2 , the foggy-image correction function is turned on to perform the S-curve range adjustment in accordance with the dispersion value. 
         [0346]    Thereafter, the above (1) and (2) are repeated to control the foggy-image correction ON/OFF and the S-curve range adjustment. 
         [0347]      FIG. 55  is a detailed table of a TV encoder reset register PWD. IDX_ADDRESS is 41h. 
         [0348]    DAC_POW turns on/off a DAC operation in the present IC. The set contents are as follows: 
         [0349]    0: DAC operation ON 
         [0350]    1: DAC operation OFF 
         [0351]    LOGIC_POW performs clock on/off control of a TV-Encoder block. The set contents are as follows: 
         [0352]    0: The internal clock is turned off 
         [0353]    1: The internal clock is turned on. 
         [0354]      FIG. 56  is a detailed table of a TV encoder display mode register DISP. IDX_ADDRESS is 43h. 
         [0355]    LEVEL determines whether an input data range of the TV encoder incorporated in the present IC is a full range or an ITU_R 601 range. In accordance with the set value in ITU601R (IDX_ADDRESS: 13h YUVIFSET [3:2]), the register setting may be performed. The set contents are as follows: 
         [0356]    0: In a case of the setting ITU601R=2′ b00, the setting LEVEL=0 should be performed. 
         [0357]    1: In a case of the setting ITU601R=2′ b11, the setting LEVEL=1 should be performed. 
         [0358]    DISPO selects an operation mode of the TV encoder in the inside of the present IC. In a square pixel mode, 640 pixels in the horizontal direction is increased to 720 pixels. In a case other than 27 MHz of the input clock, 0 should be written into this bit. The set contents are as follows: 
         [0359]    0: Equalization pixel mode 
         [0360]    1: Square pixel mode 
         [0361]      FIG. 57  is a detailed table of a TV encoder video mode register VIDEO. IDX_ADDRESS is 45h. 
         [0362]    NTPAL selects a video output mode of the TV encoder incorporated in the present IC. The set contents are as follows: 
         [0363]    0: NTSC 
         [0364]    1: PAL 
         [0365]    Q_FSC selects a clock operation mode of the TV encoder in the inside of the present IC. A clock for the selected mode may be input. The set contents are as follows: 
         [0366]    0: 27 MHz clock operation 
         [0367]    1: 4 fsc clock operation (input clock is 8 fsc) 
         [0368]    PAL28 is turned on (1) in a case where the clock operation mode of the TV encoder in the inside of the present IC is PAL and 28.375 MHz is used. The set contents are as follows: 
         [0369]    0: In a case where 28.375 MHz clock operation is not performed in PAL 
         [0370]    1: In a case where 28.375 MHz clock operation is performed in PAL 
         [0371]    510H selects an operation mode of the TV encoder in the inside of the present IC. The set contents are as follows: 
         [0372]    0: Usual operation 
         [0373]    1: 510H mode 
         [0374]    C_OFF turns off output of Cb, Cr and a color burst signal. The set contents are as follows. Here, 0 should be written into RESERVED. 
         [0375]    0: Usual operation (Cb, Cr and the color burst signal are summed and output) 
         [0376]    1: Cb, Cr and the color burst signal are output without being summed. 
         [0377]      FIG. 58  is a list showing usable setting of the TV encoder video mode register VIDEO. Setting other than the setting shown in this figure is prohibited. 
         [0378]      FIG. 59  is a detailed table of a TV encoder video mode register CVBS. IDX_ADDRESS is 46h. 
         [0379]    CVBS_OUT selectively turns on/off video output (DAC) from the TV encoder incorporated in the present IC. The set contents are as follows: 
         [0380]    0: The DAC output is not performed. 
         [0381]    1: CVBS (composite video signal) is output as the DAC output. 
         [0382]    IMAGE_OUT [1:0] selects video output data of the TV encoder in the inside of the present IC. The set contents are as follows: 
         [0383]    00b: RESERVED 
         [0384]    01b: A color selected by a BGCOL register is output over the entire screen area. 
         [0385]    10b: RESERVED 
         [0386]    11b: An image is output. Besides, the color selected by BGCOL is output to a background area. 
         [0387]      FIG. 60  is a detailed table of the background color register BGCOL. IDX_ADDRESS is 47h. BGCOL [3:0] selects a background color in the video output (DAC) from the TV encoder incorporated in the present IC. The set contents are as follows. Here, setting other than the following setting is prohibited. 
         [0388]    00 (hex): BLUE background color [Default] 
         [0389]    01 (hex): BLACK background color 
         [0390]    02 (hex): RED background color 
         [0391]    03 (hex): GREEN background color 
         [0392]    04 (hex): YELLOW background color 
         [0393]    05 (hex): CYAN background color 
         [0394]    06 (hex): MAGENTA background color 
         [0395]    07 (hex): GRAY background color 
         [0396]    08 (hex): WHITE background color 
         [0397]      FIG. 61  is a detailed table of a TV encoder color bar test register COLBAR. IDX_ADDRESS is 48h. COLBAR specifies the output from the TV encoder incorporated in the present IC as a color bar output. The set contents are as follows: 
         [0398]    0: The input data of the present IC is output. 
         [0399]    1: A color bar is forcibly output. 
         [0400]      FIG. 62  is a detailed table of a TV encoder setup register SETUP. IDX_ADDRESS is 55h. 
         [0401]    BURST_LVL is able to adjust levels of a burst signal and a color carrier wave. The set contents are as follows: 
         [0402]    0: Default setting 
         [0403]    1: The levels of the burst signal and the color carrier wave are amplified from the 0 setting by about 0.8 IRE. 
         [0404]    SETUP performs setting in accordance with NTSC or PAL. The set contents are as follows: 
         [0405]    0: In a case of NTSC, 0 should be set. 
         [0406]    1: In a case of PAL. 1 should be set. 
         [0407]      FIG. 63  is a detailed table of a TV encoder setup 2  register SETUP 2 . IDX_ADDRESS is 50h. SETUP 2  sets an operation mode of the TV encoder. Here, setting other than the following setting is prohibited. 
         [0408]    000b: In a case other than the 510H mode, 000b should be set. 
         [0409]    011b: In a case of the 510H mode, 011b should be set. 
         [0410]      FIG. 64  is a detailed table of TV encoder gamma correction registers GM_A 0  to GM_A 2 , GM_X 0  to GM_X 3 , and GM_Y 0  to GM_Y 3 . IDX_ADDRESS is D0h to DAh. 
         [0411]      FIG. 65  is a view showing a gamma correction curve. The setting of the gamma correction curve is decided by four point coordinates (x0, y0), (x1, y1), (x2, y2), and (x3, y3) and three inclination coefficients a0, a1, and a2 that are shown in  FIG. 65 . In bit values GM_A 0 , GM_A 1 , and GM_A 2  that correspond to the three inclination coefficients a0, a1, and a2, the four leftmost bits indicate an integer and the four rightmost bits indicate a decimal fraction. 
         [0412]    A solid line shown in  FIG. 65  represents a gamma curve that is approximated by the following conditions: 
         [0413]    (1) When X&lt;x0, 
         [0000]        Y=y 0 
         [0414]    2) When x0≦X&lt;x1, 
         [0000]        Y=a 0*( X−x 0)+ y 0 
         [0415]    3) When x1≦x&lt;x2, 
         [0000]        Y=a 1*( X−x 1)+ y 1 
         [0416]    4) When x2≦X&lt;x3, 
         [0000]        Y=a 2*( X−x 2)+ y 2 
         [0417]    5) When x3≦X, 
         [0000]        Y=y 3 
         [0418]      FIG. 66  is a table showing setting examples of the gamma correction registers GM_A 0  to GM_A 2 , GM_X 0  to GM_X 3 , and GM_Y 0  to GM_Y 3 . An output value 16 (10h) corresponds to 0IRE, and an output value 235 (EBh) corresponds to 100IRE. In a case of the setting shown in  FIG. 66 , the output is limited to the maximum value 235 (EBh), and a white level of the TV output is limited to 100IRE. 
         [0419]      FIG. 67  is a detailed table of an input valid start pixel offset set register OFS. IDX_ADDRESS is E0h, E1h. H_POS sets a display offset during a TV encoder output time, while this register sets a valid data start pixel from HSYNC at the input. 
         [0420]      FIG. 68  is a detailed table of a TV encoder valid data width set register WID_VD. IDX_ADDRESS is E2h, E3h. This register sets the number of valid pixels in a horizontal line. The initial value is 320 pixel. The set value should be an even number. Besides, the set range is between 100 pixels to 896 pixels. The set contents are as follows. Here, the WID_VD register should set a number that is a multiple of 4. 
         [0000]    
       
                 
         
             
             
         
       
     
         [0421]      FIG. 69  is a detailed table of a TV encoder valid line width set register HT_VD. IDX_ADDRESS is E4h. This register sets the number of valid lines in a field. The initial value is 240. The number of lines that is output to a TV in actual use is a value that is obtained by attaching an offset of +64 to the HT_VD register value. The range of values that are able to be set into the register is from 100 to 254 lines. Accordingly, the range of set lines displayable on a TV is from 164 lines to 318 lines. The set contents are as follows: 
         [0000]    
       
                 
         
             
             
         
       
     
         [0422]      FIG. 70  is a detailed table of a TV encoder horizontal display position offset register H_POS. IDX_ADDRESS is E5h. This register sets an offset of a horizontal display position in a line. The initial value is 0. The range that is able to be set is 0 to 504 pixels. The offset of a displayed horizontal position is expressed by the following formula: 
         [0000]      Offset value of a displayed horizontal position:  H   —   POS [ 7:0]×2 [Pixel]
 
         [0423]    The set contents of the TV encoder horizontal display position offset register H_POS are as follows: 
         [0000]    
       
                 
         
             
             
         
       
     
         [0424]      FIG. 71  is a detailed table of a TV encoder vertical display position offset register V_POS. IDX_ADDRESS is E6h. This register sets an offset of a vertical display position in a field. The initial value is 0. The range that is able to be set is 0 to 120 lines. The offset of a displayed vertical position is expressed by the following formula: 
         [0000]      Offset value of a displayed vertical position:  V   —   POS [ 7:0]+4 (line in a field)       (in a case of NTSC)         
         [0000]      Offset value of a displayed vertical position:  V   —   POS [ 7:0]+23 (line in a field)       (in a case of PAL)         
         [0427]    The set contents in the TV encoder vertical display position offset register V_POS are as follows: 
         [0000]    
       
                 
         
             
             
         
       
     
         [0428]      FIG. 72  is a detailed table of an input valid start line offset set register V_OFS. IDX_ADDRESS is E7h. V_POS sets a display offset during a TV encoder output time, while this register sets a valid data start line from VSYNC at the input. 
         [0429]      FIG. 73  is a schematic view showing set contents of a display position change register. 
         [0430]      FIG. 74  is a detailed table of an SPI control register SPICNT. IDX_ADDRESS is F0h. This register is a register that performs the SPI control. REG_WPB sets an output level of a WPB terminal (output value is directly reflected). REG_SCEB sets an output level of a SCEB terminal (output value is directly reflected). REG SCK sets an output level of a SCK terminal before SPI operation (output value is directly reflected). REG_SDO sets an output level of a SDO terminal before the SPI operation (output value is directly reflected). SWRITE is a WDATA output enable bit for the SDO terminal during the SPI operation. If SWRITE is set at 0, the value of a REG_SDO bit continues to be output. 1 is read from SBUSY during the SPI operation; and when the SPI operation is completed, 0 is read. SACT is only for writing: only 0 is read. Besides, by writing 1 into SACT, clocks for 8-bit data are generated to execute the SPI operation. 
         [0431]      FIG. 75  is a detailed table of an SPI operation clock frequency division register SPIDIV. IDX_ADDRESS is F1h. This register sets a frequency division ratio for the CAMCKI clock to decide a frequency of an SCK terminal clock during a time of the SPI operation. The frequency is decided by the following formula: 
         [0000]        SCK  frequency: 1/(2̂ SPIPREDIV [ 2:0])/( SPIDIV [ 4:0]+1)
 
         [0000]      Initial value 35.5 MHz/(2̂4*(22+1))=96.5 kHz; when a  CAMCKI  frequency is 35.5 MHz.
 
         [0432]      FIG. 76  is a detailed table of an SPI write data set register SPIWDATA. IDX_ADDRESS is F2h. This register sets output data to the SDO terminal during the SPI operation. 
         [0433]      FIG. 77  is a detailed table of an SPI read data register SPIRDATA. IDX_ADDRESS is F3h. This register stores input data from the SDI terminal during the SPI operation. 
         [0434]      FIG. 78  is a detailed table of an SPI EEPROM read address set register  0 : SPIADR 0 L. IDX_ADDRESS is F4h. This register sets the 8 rightmost bits of the EEPROM address during a time EEPROM automatic reading is executed when the MODE 0 , MODE 1  terminals have 0, 0, respectively. 
         [0435]      FIG. 79  is a detailed table of an SPI EEPROM read address set register  1 : SPIADR 1 L. IDX_ADDRESS is F5h. This register sets the 8 rightmost bits of the EEPROM address during the time the EEPROM automatic reading is executed when the MODE 0 , MODE 1  terminals have 1, 0, respectively. 
         [0436]      FIG. 80  is a detailed table of an SPI EEPROM read address set register  2 : SPIADR 2 L. IDX_ADDRESS is F6h. This register sets the 8 rightmost bits of the EEPROM address during the time the EEPROM automatic reading is executed when the MODE 0 , MODE 1  terminals have 0, 1, respectively. 
         [0437]      FIG. 81  is a detailed table of an SPI EEPROM read address set register  3 : SPIADR 3 L. IDX_ADDRESS is F7h. This register sets the 8 rightmost bits of the EEPROM address during the time the EEPROM automatic reading is executed when the MODE 0 , MODE 1  terminals have 1, 1, respectively. 
         [0438]      FIG. 82  is a detailed table of an SPI EEPROM read address bit  8  set register: SPIADR 1 _H. IDX_ADDRESS is F8h. The set contents in this register are as follows: 
         [0439]    SPIADR 0 H: The bit  8  of SPIADR 0  is set with an EEPROM read address. 
         [0440]    SPIADR 1 H: The bit  8  of SPIADR 1  is set with an EEPROM read address. 
         [0441]    SPIADR 2 H: The bit  8  of SPIADR 2  is set with an EEPROM read address. 
         [0442]    SPIADR 3 H: The bit  8  of SPIADR 3  is set with an EEPROM read address. 
         [0443]      FIG. 83  is a detailed table of an initialization register SRST. IDX_ADDRESS is FFh. This register is a software reset register. By writing 1, a related block is reset. Only writing 1 is valid. Access should not be performed for 100 ns after a software reset. After a hardware reset, it is unnecessary to perform the software reset. The contents in this register are as follows: 
         [0444]    SRST_AIE: By writing 1, a reset of an image enhance block is performed. By writing 0, the reset is released. 
         [0445]    SRST_TVE: By writing 1, a reset of a TV encoder block is performed. By writing 0, the reset is released. 
         [0446]    SRST_REG: By writing 1, a reset of a register is performed. The register value becomes the initial value. The reset is automatically released. 
         [0447]    SRST_FOG: By writing 1, a reset of a foggy-image correction block is performed. By writing 0, the reset is released. 
         [0448]      FIG. 84  is a connection diagram showing a system example that uses the image process IC  100 . As shown in this figure, a camera module, a controller, an EEPROM, an image processor and the like are externally connected to the image process IC  100 . 
         [0449]    Next, a method for curbing a color imbalance and a luminance dynamic range shortage after the image correction process is performed is described in detail. 
         [0450]      FIG. 85A  is a block diagram showing an example of an image correction process device that includes a first image correction process portion only. 
         [0451]    A first image correction process portion  601  applies a first image correction process to the digital input image data to generate digital output image data. Here, the first image correction process refers to an image correction process which is based on a luminance histogram, and besides an original purpose, is likely to bring a color-component imbalance or a luminance dynamic range shortage as a byproduct, and to which the above foggy-image correction process, for example, corresponds. 
         [0452]    However, in the above structure in which only the first image correction process is performed, depending on the process method and the input-image data contents, besides the original purpose (e.g., removal of fog and haze), a color-component imbalance or a luminance dynamic range shortage occurs as a byproduct, so that there is a risk that an unnatural output image is generated. 
         [0453]      FIG. 85B  is a block diagram showing an example of an image correction process device that includes a second image correction process portion on a stage after the first image correction process portion. 
         [0454]    The first image correction process portion  601  applies the first image correction process to the digital input image data to generate digital intermediate image data. Here, the first image correction process refers to an image correction process which as described above, is based on a luminance histogram, and besides an original purpose, is likely to bring a color-component imbalance or a luminance dynamic range shortage as a byproduct, and to which the above foggy-image correction process, for example, corresponds. In other words, the first image correction process portion  601  represented in  FIG. 85B  corresponds to the first image correction process portion  201  represented in the above  FIG. 7 . However, the contents of the first image correction process are not limited to the foggy-image correction process. 
         [0455]    A second image correction process portion  602  applies a second image correction process to the digital intermediate image data input from the first image correction process portion  601  to generate digital output image data. Here, the second image correction process refers to an image correction process which resolves a color-component imbalance and a luminance dynamic range shortage that are caused by the first image correction process, and to which for example, the above image enhance process (luminance dynamic range correction process that includes a color-space correction process such as saturation curbing and the like) corresponds. In other words, the second image correction process portion  602  represented in  FIG. 85B  corresponds to the second image correction process portion  202  represented in the above  FIG. 7 . However, the contents of the second image correction process are not limited to the image enhance process. 
         [0456]    As described above, the second image correction process, which resolves a color-component imbalance and a luminance dynamic range shortage, is applied to the intermediate image data obtained by the first image correction process, so that it becomes possible to improve the visibility of the finally obtained output image. 
         [0457]    Next, a method for curbing a flicker after the foggy-image correction process is performed is described in detail. 
         [0458]    In the above foggy-image correction process, luminance histogram distribution is prepared; and based on the maximum value, the minimum value, the central value, the standard deviation value and the like of the distribution, optimization (removal of fog and haze) of the luminance histogram is performed. As a result of this, in almost all scenes of still images and dynamic images, it is possible to obtain a good evaluation result. 
         [0459]    However, when applying the foggy-image correction process to a dynamic image, it becomes a problem that because of influence of disturbance and the like, the input image data are uneven in every one frame in an invisible range. For example, as shown in  FIG. 86 , it seems at a glance that there is no deviation in the luminance histogram distribution between an N-th frame and an (N+1)-th frame; however, if the respective regions near the maximum values of the frames are enlarged, it is understood that there is a minute deviation in the luminance value distribution. 
         [0460]    If the foggy-image correction process is applied to such input image data, the foggy-image correction amount changes for every frame, so that there is a risk that the above minute deviation is enhanced by the foggy-image correction process; in some cases, as shown in  FIG. 87 , an apparent difference in every frame appears over the entire luminance histogram distribution (especially, the luminance peak value) after the foggy-image correction process, so that there is a risk that screen unevenness (flicker) occurs. 
         [0461]    It is conceivable that the above problems are caused because the foggy-image correction process is performed by means of the entire luminance histogram range (that is, all the luminance range that includes the maximum value and its nearby region where a minute change is likely to occur; and the minimum value and its nearby region where a minute change is likely to occur). 
         [0462]    Accordingly, to solve the above problems, in the image correction device according to the present invention, the structure is employed, in which the first image correction process portion (to which the first image correction process portion  201  represented in  FIG. 7  and the first image correction process portion  601  represented in  FIG. 85B  correspond) is structured in such a way that a valid luminance range of the luminance histogram that is referred to during a time of calculating the correction coefficient is variably set. 
         [0463]      FIG. 88  is a block diagram showing a first structural example of the first image correction process portion. The first image correction process portion in the present structural example includes: a luminance histogram generation portion  701 ; a luminance histogram range specification portion  702 ; and a foggy-image correction portion  703 . Here, a sign Y in the figure represents a luminance component; and signs U, V represent color components. Besides, signs R, G, and B in the figure represent a red component, a green component, and a blue component, respectively. 
         [0464]    The luminance histogram generation portion  701 , based on the luminance component Y of the input image data, generates the luminance histogram distribution and outputs this to the luminance histogram range specification portion  702 . 
         [0465]    The luminance histogram range specification portion  702  sets a valid range of the luminance histogram distribution generated by the luminance histogram generation portion  701 . For example, the luminance histogram range specification portion  702 , as shown in  FIG. 89 , sets the maximum value and the minimum value of the luminance histogram distribution into registers in such a way that during a time of calculation by the foggy-image correction portion  703 , a predetermined luminance range from an upper limit value (255) of the luminance histogram and a predetermined luminance range from a lower limit value (0) of the luminance histogram are considered invalid and neglected. 
         [0466]    The foggy-image correction portion  703 , based on the luminance histogram distribution in the valid range set by the luminance histogram range specification portion  702 , calculates a calculation coefficient (correction coefficient) for the foggy-image correction process; and uses this to apply the foggy-image correction process to the input image data. Here, in the structural example in  FIG. 88 , the input image data converted from a YUV form into an RGB form are input into the foggy-image correction portion  703 . 
         [0467]    As described above, according to the structure in which when calculating the calculation coefficient (correction coefficient) for the foggy-image correction process, the region near the maximum value of the luminance histogram and the region near the minimum value of the luminance histogram where a minute change is likely to occur are considered invalid, the risk that a minute deviation in the input image data is enhanced by the foggy-image correction process is reduced, so that it becomes possible to curb unevenness (flicker) on the screen. 
         [0468]    Here, the valid range of the luminance histogram distribution is limited, so that in the output image after the foggy-image correction process, under-exposure and over-exposure are likely to occur more or less; however, because these are traded off for a measure against the flicker, the valid range of the luminance histogram distribution may be adjusted if necessary. 
         [0469]    However, even if the valid range of the luminance histogram distribution is limited, there is a case where more or less flicker is likely to remain. Accordingly, as a measure against the flicker, the following still another structure is effective. 
         [0470]      FIG. 90  is a block diagram showing a second structural example of the first image correction process portion. The first image correction process portion in the present structural example, besides the first structural example shown in  FIG. 88 , includes a low pass filter portion  704  on a stage after the luminance histogram range specification portion  702 . 
         [0471]    The low pass filter portion  704  is a between-frames filter (between-fields filter) that when deciding a correction coefficient for a frame (field), uses the correction coefficient for the frame and a correction coefficient for at least one frame that is input before or after the frame, thereby applying a low pass filter process to the correction coefficient for the frame. 
         [0472]    The low pass filter portion  704  has a function that applies a 5-tap low pass filter process to a calculation parameter (fog correction parameter) in the inside of the foggy-image correction block of the IC, thereby cutting a high-frequency component (sharp change) of the calculation parameter. 
         [0473]    According to this function, even if a scene of a taken image rapidly changes and because of this, the calculation parameter for the foggy-image correction rapidly changes, the parameter is not immediately reflected onto the corrected image, so that the corrected image slowly changes over 5 fields. According to this, even in a scene where the input image changes for every field like a flicker and the calculation parameter for the fog correction changes for every field, the calculation parameter is smoothed by the low pass filter process portion  704 , so that it is possible to curb the flicker. 
         [0474]    The filtering process for the calculation parameter in the low pass filter portion  704  is executed in units of a field. By means of two fields before and after a calculation target field, the low pass filter process is performed. 
         [0475]      FIG. 91A  and  FIG. 91B  both are schematic views for describing the low pass filter process. Here,  FIG. 91A  shows a way of calculating a calculation parameter for a field  2 ;  FIG. 91B  shows a way of calculating a calculation parameter for a field  3 . 
         [0476]    Meanings of the coefficients shown in  FIG. 91A  and  FIG. 91B  are described. Because the low pass filter process is 5-tap, there are 5 coefficient set registers and fields corresponding to the respective coefficients are as follows:
       FR_LPF_COEF 0 : Coefficient setting for a parameter for a field (N−2)   FR_LPF_COEF 1 : Coefficient setting for a parameter for a field (N−1)   FR_LPF_COEF 2 : Coefficient setting for a parameter for a field N (field as a calculation target)   FR_LPF_COEF 3 : Coefficient setting for a parameter for a field (N+1)   FR_LPF_COEF 4 : Coefficient setting for a parameter for a field (N+2)       
 
         [0482]    All the coefficient registers are composed of 8 bits: an integer portion may be expressed by 1 bit (MSB), while a decimal fraction portion may be expressed by 7 bits. Accordingly, the coefficient values corresponding to the respective register values (hexadecimal notation) are as follows: 
         [0483]    80h:1.0000000 
         [0484]    40h:0.5000000 
         [0485]    20h:0.2500000 
         [0486]    10h:0.1250000 
         [0487]    08h:0.0625000 
         [0488]    04h:0.0312500 
         [0489]    02h:0.0156250 
         [0490]    01h:0.0078125 
         [0491]    For example, a coefficient value 0.75 is expressed 60h in the hexadecimal notation. Here, the setting needs to be performed in such a way that the set values in the respective coefficient registers are 00h to 80h, and the sum of the five register values is 80h. This is because it is necessary to set the sum of the respective coefficients at 1.00. 
         [0492]    Next, the setting of the above coefficients is described. As for the strength of the low pass filter process, as the coefficient for the calculation target field, that is, the set value in FR_LPF_COEF 2  becomes larger, the strength becomes weaker, while as the set value in FR_LPF_COEF 2  becomes smaller (as the coefficient values for the fields before and after the field become larger), the strength becomes stronger. 
         [0493]    For example, in a case where the following setting is performed as the setting for the low pass filter process, the parameter for the field  2  becomes a parameter as it is after the low pass filter process, which in effect brings the same operation as the operation in a case where the low pass filter function is turned off. 
         [0494]    FR_LPF_COEF 0 : 00h 
         [0495]    FR_LPF_COEF 1 : 00h 
         [0496]    FR_LPF_COEF 2 : 80h 
         [0497]    FR_LPF_COEF 3 : 00h 
         [0498]    FR_LPF_COEF 4 : 00h 
         [0499]    In contrast, as the parameter value in FR_LPF_COEF 2  becomes smaller, the strength of the low pass filter becomes stronger. A setting example is as follows: 
         [0500]    &lt;Low Pass Filter: Strong Setting&gt; 
         [0501]    FR_LPF_COEF 0 : 10h 
         [0502]    FR_LPF_COEF 1 : 20h 
         [0503]    FR_LPF_COEF 2 : 20h 
         [0504]    FR_LPF_COEF 3 : 20h 
         [0505]    FR_LPF_COEF 4 : 10h 
         [0506]    &lt;Low Pass Filter: Weak Setting&gt; 
         [0507]    FR_LPF_COEF 0 : 08h 
         [0508]    FR_LPF_COEF 1 : 18h 
         [0509]    FR_LPF_COEF 2 : 40h 
         [0510]    FR_LPF_COEF 3 : 18h 
         [0511]    FR_LPF_COEF 4 : 08h 
         [0512]    Here, the above low pass filter process serves as a trade-off between the flicker curbing and the improvement of dynamic-image following. Accordingly, it is important to design the optimum low pass filter for every application changing the number of taps and considering an influence on not only a scene where a flicker occurs but also other scenes. 
         [0513]    Next, an electronic device (a set or a system is included) that incorporates the image correction IC according to the present invention is described. 
         [0514]    As shown in the above  FIG. 7 , the image process IC  100  according to the present invention integrates: a first external terminal CAMDI [7:0] into which the digital input image data are input from outside of the IC; the image correction process circuit  200  that applies the predetermined image correction process to the digital input image data to generate the digital output image data; a second external terminal CAMDO [7:0] from which the digital output image data are output to the outside of the IC; the encoder circuit  300  that converts the digital output image data into the output image data in the analog composite video form; and a third external terminal VOUT from which the output image data in the analog composite video form are output to the outside of the IC. 
         [0515]    If such image process IC  100  is incorporated into an existing electronic device, without requiring a dramatic design modification, it becomes possible to add the foggy-image correction function and the TV encoder function. 
         [0516]      FIG. 92A  and  FIG. 92B  each are views showing structural examples of electronic devices (indoor/outdoor monitor cameras, network cameras (IP cameras), Web cameras, vehicle cameras, intercoms and the like) that incorporate the image process IC according to the present invention. 
         [0517]    Electronic devices  800  in both structural examples include: a camera  801 ; an AFE [Analog Front End]  802 ; and a camera DSP  803 ; and besides them, incorporates an image process IC  804  according to the present invention. 
         [0518]    Here,  FIG. 92A  shows a structure in which the image process IC  804  is controlled by a program stored in an EEPROM  805 . In a case of the present structural example, the camera  801  and the AFE  802  are controlled via the camera DSP  803  that is connected to a general-purpose interface (GPIO). On the other hand,  FIG. 92B  shows a structure in which the image process IC  804  is controlled by an instruction from a microcomputer  806  that is connected to the general-purpose interface (GPIO). In the case of the present structure, the camera  801  and the AFE  802  are also controlled via the microcomputer  806 . 
         [0519]    As described above, according to the electronic device  800  that incorporates the image process IC  804  according to the present invention, without applying a dramatic design modification to an exiting circuit, it becomes possible to apply a suitable image correction process (fog erasure process) to the input image data and to perform the analog composite video output. 
         [0520]    Here, besides the above embodiments, it is possible to make various modifications to the structure of the present invention without departing from the spirit of the present invention. In other words, it should be understood that the embodiments are examples in all respects and are not limiting; the technical scope of the present invention is not indicated by the above description of the embodiments but by the claims; and all modifications within the scope of the claims and the meaning equivalent to the claims are covered. 
       INDUSTRIAL APPLICABILITY 
       [0521]    The present invention is a useful technology for improving visibility of an output image in the fields of: an image correction process circuit which applies various image correction processes to an input image to generate a desired output image; and a semiconductor device which integrates the image correction process circuit. 
         [0522]    Besides, the image correction device according to the present invention is generally applicable to electronic devices (indoor/outdoor monitor cameras, security cameras, network cameras (IP cameras), Web cameras, vehicle cameras, drive recorders, intercoms and the like) that process image data. 
       REFERENCE SIGNS LIST 
       [0000]    
       
         
           
               10  image process IC (semiconductor device) 
               11  foggy-image correction portion 
               12  luminance histogram calculation portion 
               13  correction control portion 
               131  first comparison portion 
               132  second comparison portion 
               133  determination portion 
               14  register 
               20  image source (image taking device and the like) 
               30  display device (liquid crystal display and the like) 
               40  microcomputer 
               100  image process IC (semiconductor device) 
               200  image correction process circuit 
               201  first image correction process portion (foggy-image correction portion) 
               202  second image correction process portion 
               202   a  color correction portion 
               202   b  luminance determination portion 
               202   c  image enhance portion 
               202   d  calculation process portion 
               300  encoder circuit 
               301  memory controller 
               302  line memory 
               303  complement portion 
               304  gamma correction portion 
               305  low pass filter portion 
               306  trap filter portion 
               307 ,  308  low pass filter portions 
               309  to  312  calculation process portions 
               313  digital/analog conversion portion 
               314  timing signal generation portion 
               315  sub-carrier signal generation portion 
               316  color bar signal generation portion 
               400  first serial interface circuit (I2C) 
               500  second serial interface circuit (SPI) 
               601  first image correction process portion 
               602  second image correction process portion 
               701  luminance histogram generation portion 
               702  luminance histogram range specification portion 
               703  foggy-image correction portion 
               704  low pass filter portion 
               800  electronic device 
               801  camera 
               802  AFE 
               803  camera DSP 
               804  image process IC 
               805  EEPROM 
               806  microcomputer