A method for reducing colour crosstalk

Abstract: Colour crosstalk is determined between layers of an image storage medium based on the cross correlations and autocorrelations of noise in the grain pattern in each layer of the image storage medium. Rather than relying on prior measurement under laboratory conditions, the storage medium is scanned in a plurality of spectral bands to derive the record stored in each of the dye layers. A computer derives the autocorrelations and the crosscorrelations of a group of pixels between the plurality of colour records of the scanned images each of which corresponds to one of the spectral bands. The invention is based on the observation that as each dye layer is deposited separately in the film, one would expect that the "noise" from the grain boundaries in one layer to be independent from the "noise" due to the grain boundaries in other layers. If there is correlation in noise between separate colour scans, it is because the scanner is measuring the grain boundaries in more than one layer in the colour scans.

Description: This invention relates to a method for reducing colour crosstalk between a colour image and a scanner used to scan the colour image. Colour image reproduction from film suffers from complex colour interactions between the film and the spectral response of the chemical, biological or electronic imager. Colour calibration is a major concern between different films, scanners and printers. Each combination has different characteristics and will yield different results if uncompensated. Solving these problems is a prerequisite to the conversion of image making from a film based industry to a computer based industry. However, there are so many interacting variables that calibration presents very daunting mathematical problems. There are four major interactions affecting colour image reproduction. First, the spectrum of the object interacts with the film spectral sensitivity. Second, the absorption spectra of the dyes in the film change with aging. Third, the spectra of the dyes in the film interact with the scanner spectral sensitivity. Fourth, the dyes in the print interact with ambient lighting and the human eye. Photographic film uses three interrelated dye records to record an image: cyan, magenta and yellow which correspond respectively to the red, green and blue information in the scene being photographed. Like the human eye, the dye layers absorb light preferentially in different regions of the spectrum. However, the dye layers in each film absorb light in the red, green or blue regions differently than from other films and especially than the biological sensor of the human eye. Further, the cyan, magenta and yellow dyes in the film not only absorb light in the desired red, green or blue bands in the spectrum, but each dye also absorbs in other bands in addition to the desired band. As the film ages, each of the records in the dye layers can change colour and density, either through chemical aging or light aging. With time, the contrast of the recorded image goes down and goes down faster in the highlight regions than in the shadow regions of the image, and the dyes change colour so the interactions between the dyes and scanner change. Thus, as the film ages, the image stored in film becomes progressively different and degraded from that stored when the film was new. A scanner is used to measure the optical modulation of each dye in the film to estimate the red, green and blue content of the original scene. A scanner designed to pick up frequencies in a reasonably wide range of frequencies within the red, green or blue bands will also pick up some colour crosstalk from other dye layers. While the scanner can be designed to have a monochromatic sensitivity at the peak absorptions of the three dyes, e.g., a laser scanner, the narrower the spectral response of each colour channel, the less the system efficiency or sensitivity. Most scanners use a band of frequencies for each colour to improve their sensitivity, however, these wider spectral responses result in colour crosstalk. If uncompensated, the "green" in the scanned image will be the result of some blue or red frequencies in the original image. Each combination of film and scanner will give different results. This problem is exacerbated, as mentioned above, by the fact that each dye layer absorbs light outside the desired band. Not only do each combination of film and scanner give a unique effect, but also the effect will also change as the film ages. Typically, the prior art compensated for colour crosstalk by tables of laboratory measurements of different film and scanner combinations. A technician will enter in the appropriate data based on the film being scanned and the scanner being used. In addition to the requirement for highly skilled technician with knowledge of both film and scanner characteristics, the prior art does not compensate for the effects of age. Depending on the spectra of light in ambient lighting, the dyes in a print can appear quite different. A classical problem also exists at the initial capture of the image on the film, interaction between the original scene lighting and the film. This leads to green, fluorescence, pink violets, etc. The term for the interactions at both ends is "photomeramenism". The object of the present invention is to provide a method which can be used to correct a scanned image for the interaction between the dye layers in the film and the scanner's spectral sensitivity, as well as to correct a scanned image for the changes in the dye layers in the film with aging, and thereby to reduce the colour calibration problem to a more manageable size. This object is achieved by the invention claimed in claim 1. In an embodiment of the invention colour crosstalk is determined between layers of an image storage medium based on the cross correlations and autocorrelations of noise in the grain pattern in each layer of the image storage medium. Rather than relying on prior measurement under laboratory conditions, the storage medium is scanned in a plurality of spectral bands to derive the record stored in each of the dye layers. A computer derives the autocorrelations and the crosscorrelations of a group of pixels between the plurality of colour records of the scanned images each of which corresponds to one of the spectral bands. The embodiment is based on the observation that as each dye layer is deposited separately in the film, one would expect that the "noise" from the grain boundaries in one layer to be independent from the "noise" due to the grain boundaries in other layers. If there is correlation in noise between separate colour scans, it is because the scanner is measuring the grain boundaries in more than one layer in the colour scans. To measure the noise, the image and noise must be separated, as the variations in the records in each of the dye layers due to the image, are correlated between separate colour scans. In one embodiment, the autocorrelations due to image detail are used to determine the value of the crosscorrelations; in areas where the image is stronger, the crosscorrelations are discounted compared to those areas in which the images are subdued. Alternatively, as image correlations tend to be low spatial frequency correlations while the noise correlations tend to be high spatial frequency correlations, the low frequency correlations can be discounted from the cross correlation calculations. After the correlations for the colour records of scanned images are determined, correction values which compensate for the interaction of the dyes in the film and the scanner spectral sensitivity are calculated. These correction factors are used to mathematically process the scans of the film image to produce a scanned image free of colour crosstalk. Once the image has been corrected for colour crosstalk, aging effects in the film can be quantified. Age related changes in colour density can be compensated. US-A-4 974 068 only discloses the adjustment of the gain of a photoelectric conversion element when the image of a negative film is read, said adjustment being achieved by controlling corresponding storage periods of said photoelectric conversion means for reproducing the accurate colours within a correct density range. EP-A-0 569 142 concerns producing an infrared scan for detecting imperfections in an exposed film medium itself, said imperfections such as bubbles or scratches in the film being identified in the infrared scan and pixels, which correspond to these locations, being corrected by renormalising image data based on the infrared record. In contrast thereto, the subject-matter described and claimed is directed to correcting a scanned film image on the basis of cross correlations and auto correlations in color records of the scanned images, which correlation functions are neither mentioned or suggested in the above cited two prior art citations. An embodiment of the invention will now be described, by way of example, with reference to the accompanying drawings, in which: FIG. 1 illustrates the separation of an image into a plurality of images each associated with a particular range of the spectrum and graphs of colour intensity in those images. FIGs. 2A-2D are graphical representations of positively crosscorrelated, negatively crosscorrelated and uncorrelated noise. FIG. 2E depicts the absorption of film dyes and the spectral responses of several image sensors. FIG. 3 shows a scanning system in which the present invention is embodied. FIG. 4 is a block diagram of the system in FIG. 3. FIG. 5 is a flow diagram of determining the autocorrelations and crosscorrelations due to interactions between the spectral response of a scanner and the dye layers in a film according to the present embodiment. FIG. 6 is a block diagram of calculating the correction coefficients. FIG. 7 illustrates correcting the scanned image by the correction coefficients. FIG. 8 is a block diagram of the process for correcting for aging effects in a film record. FIG. 9 depicts the spatial frequency spectrum of signal and noise. FIG. 10 is a graph of the grain noise as a percent of total image activity. FIG. 11 is a flow diagram for identifying areas of the image which can be used for measuring crosscorrelation. FIG. 12 is a flow diagram of calibrating a scanner, using an iterative technique. FIG. 13 is a flow diagram of calibrating a scanner when then scanner spectral responses are known and the film spectral responses are not. In FIG. 1 a conventional film has one or more frames 10 which include a series of images 14. In accordance with known principles a mechanism such as a colour wheel, shown as a prism 18, is employed to separate the image 14 into a plurality of individual colour records, each associated with a different portion of the electromagnetic spectrum. Specifically, infrared 20, red 22, green 24 and blue 26 images of the film image 10 are separated and digitally stored in a computer. The red, green and blue records largely correspond to the cyan, magenta and yellow layer of the film storage medium. Each of the red 22, green 24 and blue 26 images, will largely include portions of the image associated with their respective visible spectra. For example, in the green record 24, the leaves are shown as this record has those components of the image with generally green hues. Also, the non-green portions of the image 14 are substantially absent in the green image 24. However, as described above, some of the information in the green record may be the result of colour crosstalk between the yellow and cyan layers in the films and the spectral sensitivity of the scanner in the green scan. The infrared scan is used to detect imperfections in the film medium itself. As discussed in our copending U.S. patent application entitled "System and Method for Image Recovery" by A. D. Edgar, filed May 5, 1992 Serial No. 878, 587 corresponds to EP-A-0 569 142 and hereby incorporated by reference, the locations of the imperfections such as bubbles or scratches in the film record are identified in the infrared scan. Pixels which correspond to these locations in the red, green and blue records are corrected by renormalizing image data based on the infrared record. Unfortunately, in the infrared scan, there can be crosstalk from the red sensitive, cyan forming layer which would be identified as defects. The present invention can be used to correct for the red crosstalk in the infrared scan. Each of the infrared 20, red 22, green 24 and blue 26 images of the film are stored in a computer as a pixel by pixel map of dye or colour intensity. In the graphs 28, 30, 32 and 34, the image intensities are graphed with respect to pixel position. Graph 28 corresponds to the infrared scanned image 20, graph 30 corresponds to the red scanned image 22, graph 32 corresponds to the green scanned image 24 and graph 34 corresponds to the blue scanned image 26. Each of the graphs has plateau regions which correspond to the "noise areas" where the image intensities change relatively little in absolute magnitude in which the differences in intensity over small regions are primarily due to noise, and also sharply increasing or decreasing areas in which the differences in intensity largely correspond to the image itself. While it is understandable that the colour intensities will be correlated in the image areas, one would expect that the colour intensities in the noise areas would be uncorrelated as the dye grains in each layer of the film are independently deposited. The correlations due to the image, i.e., changing from a red petal to a green leaf, should be eliminated from the calculation of overall autocorrelations and crosscorrelation between the scanned images. The remaining auto and crosscorrelation between corresponding pixels in the scanned images are determined and summed to obtain overall autocorrelations and crosscorrelations for the scanned image. Ideally, these overall correlations are calculated from as large an area as possible, e.g., the entire film strip. However, even a relatively small area that is relatively free of image detail, such as a sky in a single image, could be scanned to derive approximate values of autocorrelations and crosscorrelations. These areas that are relatively free of image detail are found as areas where the total image activity, consisting of both noise and detail, is relatively uniform and low. FIGs. 2A-2D are used to illustrate crosscorrelated and uncorrelated noise between red and green image records. There is noise at the grain barrier because the image is composed of grains. These grains form the image in a statistical sense, but the individual grains are random. Supposing that FIG. 2A represented the image intensity in a red scanned image and FIGs. 2B-2D represented the image intensity of first, second and third sample green scanned images, several observations can be made. In the case of FIGs. 2A and 2B, the first green image and the red image are highly positively crosscorrelated. This means when the red image has a positive value, the green image is also likely to have a positive value; when the red image has a negative value, the green has a negative value. As the equation for crosscorrelation has the form Cross RG = R (X,Y)G(X,Y), for every x,y value, the overall crosscorrelation between red and green images will have a high positive value. This example portrays intensity as going above and below a relative "zero". As an expedient, this zero is taken as the average intensity over an area of interest. In practice this means the autocorrelation and crosscorrelation are applied to the image after the low frequencies, corresponding to the average term, has been removed, as will be discussed in more detail later. In the case of FIGs. 2A and 2C, there is a strong negative correlation between the red image and the second green image; when the red image is positive, the green image is negative. According to the crosscorrelation equation above, this would yield a negative value. A comparison of FIG. 2A and FIG. 2D shows that the third green image is largely uncorrelated to the red image. A positive red image intensity value could correspond to a negative or positive green image intensity value at the same pixel, so that the sum of the overall crosscorrelations at each pixel would sum to approximately zero. One would expect that the noise from the various layers would more closely resemble FIGs. 2A and 2D than the prior combinations. The mathematical crosscorrelation integrates all frequencies. Because the dominant frequency is DC, or constant bias, the DC frequency must be removed before performing the crosscorrelation. This is removed by passing the image through a high pass filter so the image data averages near zero for any area, and varies alternately above or below zero for each pixel as illustrated in FIGs. 2A-2D. As will be discussed below, this high-pass filter is also useful to remove image detail from the crosscorrelation of the grain. The high-pass filter should be selected to pass those frequencies most affected by grain and least affected by image. There are many published designs for high-pass filters. A simple but effective filter operates on image A to produce image B, where each pixel in image B is derived by taking the value of the corresponding pixel in image A and subtracting half the value of the pixel in A just to the left, and half the pixel just to the right. FIG. 2E shows the absorption of three typical film dyes and the sensitivity ranges of several common blue sensors. The absorption curve 35 of yellow dye is the predominate measure of the film's blue sensitivity layers absorption sensitivity to blue wavelengths of light, while the absorption curves 37, 39 of the magenta and cyan dyes are the predominate measures of film green and red sensitive layers to absorption of light. Blue is used as an example, the problem is similar for the other colours. Most sensors see some crosstalk from the other dyes, however, each sensor will see different amounts of crosstalk. Although the dyes shown in FIG. 2E are typical, individual films will vary and these variations will affect each of the sensors differently. For example, moving the magenta peak 37, i.e., using a different magenta dye in the film, to a longer wavelength would give less crosstalk from the green to the blue for the eye 41, but slightly more for the laser scanner 43. As the film ages, the magenta peak will shift to the right or left changing colour, as well as decrease in amplitude due to overall loss in density. The changes due to age will also affect each of the sensors differently. Thus, each combination of sensor, film and film age, gives a unique crosstalk effect. Even a small variation in the crosscolour correlation has an effect on the artistic and technical accuracy of the final image. Colour accuracy in a digital world suffers as a result. In FIG. 3, a representative system for image capture and measurement and correction of colour crosstalk is shown. A colour wheel 38 having a plurality of optical filters 40, specifically, red, green, blue and infrared filters, is used to separate the images in the various dye layers from the film 12. A light source such as a lamp 42 provides light in the red, green, blue and infrared spectra. As each of the appropriate colour filters 40 are interposed between the film and the lamp, light in the red, green, blue and infrared wavelengths will be transmitted through the frame of the film and captured by a camera 42. Whereupon the video signal 46 generated may be delivered to suitable computer 48. Generating sequential colour images may be automated as shown generally by control line 44 from the computer 48. The control line 44 would carry control signals to peripheral devices to advance the colour filters 40 on the colour wheel 38, advance the film 12 to the desired image 10 and control the intensity of the lamp 42 for the desired spectral response. The colour monitor 50 is used to view the images as desired. A keyboard 52 provides user input to the computer 48. FIG. 4 shows a block diagram of the components of the computer 48 shown in FIG. 3. The system unit 48 includes a system bus or plurality of system buses 58 to which various components are coupled and by which communication between the various components is accomplished. The microprocessor 60 is connected to the system bus 58 and is supported by read only memory (ROM) 61 and random access memory (RAM) 62 also connected to system bus 58. A microprocessor in the IBM PS/2 series of computers, for example, is one of the Intel family of microprocessors including the 386 or 486 microprocessors. One reference on IBMs PS/2 series of computers is the Technical Reference Manual Personal System/2 (Model 80) IBM Corporation Part No. 68X2256, Order Number S68X-2256. However, other microprocessors including, but not limited to, Motorola's family of microprocessors such as the 68000, 68020 or the 68030 microprocessors and various Reduced Instruction Set Computer (RISC) microprocessors manufactured by IBM, Hewlett Packard, Sun, Intel, Motorola and others may be used in the specific computer. The ROM 61 contains among other code the Basic Input-Output system (BIOS) which controls basic hardware operations such as the interaction and the disk drives and the keyboard. The RAM 62 is the main memory into which the operating system and application programs are loaded. The memory management chip 64 is connected to the system bus 58 and controls direct memory access operations including, passing data between the RAM 62 and hard disk drive 66 and floppy disk drive 67. Also connected to the system bus or busses 58 are various I/O controllers: The keyboard controller 68, the mouse controller 69 and the video controller 70. As might be expected, the keyboard controller 68 provides the hardware interface for the keyboard 52, the mouse controller 69 provides the hardware interface for mouse 71, the video controller 70 is the hardware interface for the display 50. A scanner controller card 72 is provided to interface with the camera 46 and has video capture function to provide digitized image data for eventual storage and manipulation by the computer 48. The computer will include enough memory to store the large amounts of data associated with high resolution digital images. One preferred embodiment of the invention is as the program 76 stored in RAM 62 for controlling the microprocessor 60 and other components of the system according to the invention. For example, one module of the program 76 would be the control software necessary for generating the desired red, green, blue and infrared images. Microprocessor 60 under the control of this program 76 will generate the required signals on the system bus 58 to be transmitted to the appropriate peripheral devices. An additional component of the program 76 will include the steps necessary to auto correlate and crosscorrelate the scanned image pixel as described herein. When not resident RAM, the program can be stored in another computer memory such as the hard disk in the hard disk drive 66 or a removable computer memory such as a floppy disk for floppy disk drive 67. For example, the lamp, filter wheel film holder and camera assembly may be contained in a Nikon film scanner model LS 3500. A scanner is modified so during the infrared scan, the built in infrared filter is removed and a Kodak Wratten 87 C filter is inserted in its place. At this time, the voltage in the lamp is lowered from the normal 12 volts to 5 volts. A GPIB card manufactured by National Instruments of Austin, Texas, interfaces the computer with the film scanner. FIG. 5 shows the process by which the correlated noise is separated from the scanned image. Once the red, green, blue and infrared images have been digitized and appropriately stored for retrieval, the image processing will commence by retrieving pixel data. Each pixel digitized and captured from the film image 10 will correspond to a red, green, blue and infrared pixel associated with the respective red, green, blue and infrared images 20-26 of FIG. 1. As each set of red, green, blue and infrared pixels correspond to the same location, their intensity values are associated and stored in and retrieved from the computer memory. For each group of pixels, the crosscorrelation of the noise between colours, due to crosstalk between the dye layers and the layers in the scanner, is determined. Referring to FIG. 5, the scanned image data represented by arrow 100 are received. A raw blue pixel value is received in step 102; a raw green pixel is received in step 104. A raw red pixel is received in step 106 and an infrared pixel is received in step 108. These raw pixel values are the values seen by the scanner directly. They will contain some crosstalk between the colour records, which the processing now described will remove. As will be discussed below with reference to FIG. 10, these pixels are first filtered by a high-pass spatial filter to remove image detail from the grain, because the image detail would yield a false measure of correlations. Also, the filtering process will remove the DC frequency bias. This high pass filtering is applied respectively in steps 103, 105, and 107 of FIG. 5. The intensity values of the respective blue, green, red and infrared pixels are used to determine the autocorrelations and crosscorrelations at this pixel. In step 110, the autocorrelation for a particular pixel at location X,Y are determined by the equations, Auto R = R(X,Y) 2 Auto B = B(X,Y) 2 Auto G = G(X,Y) 2 Auto I = I(X,Y) 2 Where R(X,Y) is the intensity value for the high-pass filtered, red scanned pixel at location X,Y, B(X,Y) is the high-pass filtered, blue scanned pixel, G(X,Y) is the intensity value for the high-pass filtered, green pixel scanned and I(X,Y) is the intensity value for the high-pass filtered, infrared scanned pixel. Auto R , Auto G , Auto G and Auto I represent the autocorrelations for the red, blue, green and infrared pixels respectively. Note that the autocorrelation of a single pixel seems rather meaningless, if it is just the square of that pixel. It will have meaning however in a statistical sense when averaged over the entire image in steps 118 and 120. Next, in step 112, the crosscorrelations are determined for each pixel. The crosscorrelation increments are given by equations: Cross RG = R(X,Y) * G(X,Y) Cross RB = R(X,Y) * B(X,Y) Cross BG = B(X,Y) * G(X,Y) Cross RI = B(X,Y) * I(X,Y) Cross BI = B(X,Y) * I(X,Y) Cross GI = G(X,Y) * I(X,Y) Where Cross GI , Cross RB , Cross BG , Cross RI , Cross BI and Cross GI are the cross correlations between red and green pixels, red and blue pixels, blue and green pixels, red and infrared pixels, blue and infrared pixels and green and infrared pixels respectively. Next, in step 114, the activity at this particular pixel is determined. This is done by applying either band-pass or a high pass filter to the image original image, as will be described in more detail in relation to FIG. 10. By determining how much image activity there is, the potential interference with grain measurements is assessed. In step 116, the autocorrelations and crosscorrelations for this pixel are weighted according to the inverse of the activity level. Therefore, areas with minimum image activity will be those primarily used to determine the grain correlations. Next, in steps 118 and 120, the weighted auto and crosscorrelation increments are summed to their respective totals for the scanned image area. This process is repeated pixel by pixel for the entire scanned image. The following program may be used to calculate the summed, normalized auto and crosscorrelations. Receive image R(X,Y), G(X,Y) and B(X,Y) SumAuto R =0 SumAuto G =0 SumAuto B =0 SumCross RG =0 SumCross RB =0 SumCross BG =0 For each X, for each Y, Note: this program assumes access to a pixel out of range returns "0". High R =R(X,Y)-1/2 & R(X-1,Y)-1/2 & R(X+1,Y) High G =G(X,Y)-1/2 & G(X-1,Y)-1/2 & G(X+1,Y) High B =B(X,Y)-1/2 & B(X-1,Y)-1/2 & B(X+1,Y) Auto R =(High R ) 2 Auto G =(High G ) 2 Auto B =(High B ) 2 Cross RG =High R ,High G Cross RB =High R, High B Cross BG =High B High G Mid=|R(X,Y)-R(X+1,Y)|+|G(X,Y)-G(X+1,Y)|+|B(X,Y)-G(X+1,Y)| Weight = 1/ (Mid+K) Note: K is a constant to prevent division by zero and is chosen to be smaller than Mid for most pixels. SumAuto R +=Auto R & Weight SumAuto G +=Auto G & Weight SumAuto B +=Auto B & Weight SumCross RG +=Cross RG & Weight SumCross RB +=Cross RB & Weight SumCross BG +=Cross BG & Weight Note: "+=" is a "C" language expression meaning to add to the variable. Once the crosscorrelations and autocorrelations are determined, the correction coefficients can be calculated in a variety of ways. A linear algebra matrix approach may be used, although a more accurate, but more complex method is discussed below with reference to FIGs. 12 and 13. Those skilled in the art would recognized that other processing might be utilized as well. As shown in FIG. 6, in response to a call for the program module to calculate the correction matrix, step 140, the autocorrelations and crosscorrelations for the scanned image are retrieved, steps 142 and 144. The summed, normalized autocorrelations and crosscorrelations are assembled into the matrix, step 146. The matrix is solved to reestablish independence by calculating the inverse of the assembled auto/crosscorrelations matrix, step 148. Because of the crosscorrelation coefficients are not completely independent of each other, taking the inverse does not completely solve the problem. The relative amplitude of the correction coefficients can be determined, but certain assumptions must be inside for hue. The generation of this matrix will now be discussed. Let R 1 ,G 1 , and B 1 be the red, green, and blue densities of the separate layers in the original film. Similarly let R 2 ... B 2 be the colours as scanned, and R 3 ... B 3 be the colours recovered by the method of this invention. In the linear model, these colours are related by a matrices as follows: Where GR 12 , for example, is the amount of G 1 leaking into R 2 by crosscolour contamination caused by interaction of the dyes and scanner, and GR 23 , for example, is the amount of G 2 that needs to be "added" (GR 23 may be negative) into the recovered red channel to counter the contamination caused by GR 12 , when computing the output R 3 . RR 12 ,GR 12 ... BB 12 or R 1 ... B 1 , are not known, however, from the correlation terms, the invention seeks to find RR 23 , GR 23 ... BB 23 terms that best undo the effects of the unknown RR 12 , GR 12 ... BB 12 to recover R 3 ... B 3 as estimates of R 1 ... B 1 . In finding RR 23 , GR 23 , ... BB 23 , use the correlation terms found earlier. RR 2c GG 2c BB 2c RG 2c RB 2c GB 2c where RG 2c , for example, is the crosscorrleation between R 2 and G 2 , and RR 2c is the autocorrelation of R 2 . Further assume, RG 1c = 0, RB 1c =0, and GB 1c = 0 that is, that the crosscorrelations between the original R 1 , G 1 , and B 1 are all zero. This was discussed earlier as a consequence of the independence of the grain in each layer. Because of this assumption, the goal will be to pick the matrix coefficients RR 23 , GR 23 ... BB 23 such that also RG 3c = 0, RB 3c =0, and GB 3c = 0, where RG 3c , for example, is the crosscorrelation of the estimated colours output by the algorithm R 3 and G 3 . Further, to maintain unity contrast, constrain RR 23 + GR 23 + BR 23 = 1 RG 23 + GG 23 + BG 23 = 1 RB 23 + GB 23 + BB 23 = 1 Contrast variations caused by dye fading is correctable separately, and is discussed elsewhere in this description. Now RG 3c is the crosscorrelation of R 3 and G 3 . but R 3 = RR 23 R 2 + GR 23 G 2 + BR 23 B 2 and G 3 = RG 23 R 2 + GG 23 G 2 + BG 23 B 2 therefore RG 3c = RR 2c (RR 23 RG 23 ) + GG 2c (GG 23 GR 23 ) + BB 2c (BR 23 BG 23 ) + RG 2c (RR 23 GG 23 +GR 23 RG 23 ) + RB 2c (RR 23 BG 23 + BR 23 RG 23 ) + GB 2c (GR 23 BG 23 + BR 23 GG 23 ) Similarly RB 3c = RR 2c (RR 23 RB 23 ) + GG 2c (GB 23 GR 23 ) + BB 2c (BR 23 BB 23 ) + RG 2c (RR 23 GB 23 +GR 23 RB 23 ) + RB 2c (RR 23 BB 23 +BR 23 RB 23 ) + GB 2c (GR 23 BB 23 +BR 23 GB 23 ) and GB 3c = RR 2c (RG 23 RB 23 ) + GG 2c (GB 23 GG 23 ) + BB 2c (BG 23 BB 23 ) + RG 2c (RG 23 GB 23 +GG 23 RB 23 ) + RB 2c (RG 23 BB 23 +BG 23 RB 23 ) + GB 2c (GG 23 BB 23 +BG 23 GB 23 ) In the above formulas, the correlation terms RR 2c ... GB 2c are known from measurements on the image as discussed earlier. The crossover matrix coefficients RR 23 , GR 23 ... BB 23 may be varied subject to the unity contrast constraint mentioned above. They should be varied so as to make RG 3c = 0, RB 3c = 0, and GB 3c = 0. The coefficient values satisfying these criteria will be found iteratively in the described embodiment. As an expedient in finding the solution, note that the output red R 3 normally contains mostly the input red R 2 , and therefore the term RR 23 will predominate over GR 23 and BR 23 , and will in fact be approximately 1. Similarly with the green and blue components. Further, the autocorrelation terms RR 2c , GG 2c , and BB 2c normally predominate over the crosscorrelation terms. By letting RR 23 , GG 23 and BB 23 be 1, and letting the product of any two non-predominate terms be zero, the formulas reduce to: RG 3c ≃ RG 23 RR 2c + GR 23 GG 2c + RG 2c RB 3c ≃ RB 23 RR 2c + BR 23 BB 2c + RB 2c GB 3c ≃ GB 23 GG 2c + BG 23 BB 2c + GB 2c The above formulas are only coarse approximations, however they are adequate to select what to vary at each iteration of an iterative solution. For example, if RG 3c is positive, it needs to be made lower. To lower RG 3c , since RG 2c is fixed by measurement, RG 23 and GR 23 remain to have an increment subtracted from them. Remembering the unity constraint, the increment subtracted from RG 23 should be added into GG 23 , and the increment subtracted from GR 23 should be added into RR 23 . An algorithm is now given to solve for the matrix coefficients: select an increment value , such as 0.01 measure correlation coefficients RR 2c , GG 2c , BB 2c , RG 2c , RB 2c , and GB 2c as described earlier Initially set RR 23 = GG 23 =BB 23 = 1 and GR 23 = BR 23 = BG 23 = RG 23 = RB 23 = GB 23 = 0 Loop: calculate RG 3c , RB 3c , and GB 3c from the matrix and correlation terms using the full formulas developed earlier. SRG = Δ if RG 3c > Δ·(RR 23 + GG 23 ) = -Δ if RG 3c < -Δ·(RR 23 + GG 23 ) = ○ otherwise SRB = Δ if RB 3c > Δ·(RR 23 + BB 23 ) = -Δ if RB 3c < -Δ·(RR 23 + BB 23 ) = ○ otherwise SGB = Δ if GB 3c > Δ·(GG 23 + BB 23 ) = -Δ if GB 3c < -Δ·(GG 23 + BB 23 ) = ○ otherwise Note in the above that from the formulas derived earlier, if RG 23 and GR 23 are incremented by Δ, then RG 3c ≃RG 23 ·RR 2c +GR 23 ·GG 2c +RG 2c increments by (RR 2c +GG 2c ) If SRG = SRB = SGB = 0 then the solution is complete, terminate successfully. RG 23 -=SRG GG 23 +=SRG GR 23 -=SRG RR 23 +=SRG RB 23 -=SRB BB 23 +=SRB BR 23 -=SRB RR 23 +=SRB GB 23 -=SGB BB 23 +=SGB BG 23 +=SGB GG 23 +=SGB Go to "Loop" The matrix of correction coefficients can now be applied to the raw colour scans to separate the colour crosstalk from the various records. FIG. 7 depicts one process in which the matrix calculated in FIG. 6 is used. The raw scan image values 200 are retrieved pixel by pixel in red 202, green 204, blue 206 and infrared 208 image intensity data streams. As an approximation to the real world and for reasons which are described below, the cubic root of the image intensities are calculated in step 210. In the linear transform step 212, the cubic root values are multiplied by the correction coefficients in matrix 213. The resultant values are cubed in step 214 to bring them up to the linear values, and stored as corrected red, green, blue and infrared data streams 216, 218, 220 and 222 to be assembled into the corrected scanned image values 230. As mentioned above, the linear algebra method must be modified to compensate for the non-linearities of the real world. The linear transform takes place in the cubic root domain to approximate the real world case of dyes which vary in absorption and transmittance with wavelength and sensors which scan in successive broad ranges of wavelengths for the spectral bands. To gain a better understanding of why the cubic root provides a good approximation, consider the following two cases: First, assume the dyes had a perfect square spectral response, that is, they completely transmit some wavelengths, while other wavelengths are absorbed at a fraction independent of wavelength and each colour wavelength is absorbed by one and only are coloured dyes. Also, assume each colour sensor has a spectral response over a broad range of wavelengths, as they would in the real world. In this first case, the linear matrix separates perfectly when applied in the linear domain, treating light and dark areas equally. Second, assume the absorptions of the dyes vary with wavelength as they do in the real world, but assume the scanner is sensitive to a set of single wavelengths, as would be the case if the scanner used coloured lasers as light sources. In this second case, the linear matrix separates perfectly when applied in the logarithmic domain, expanding dark areas and compressing light areas in proportion to their lightness. While the cubic root does not separate perfectly, it is a good compromise between these two cases, expanding dark areas and compressing light areas in intermediately between the above two cases, and works well with real world dyes viewed with broad spectral response sensors. The effects of aging will now be discussed. Aging creates two changes: Changes in colour, such as a cyan dye becoming greenish, and changes in density, which may affect the different colour records to different degrees. The invention thus far reduces the effects of dye colours, whether caused by the varying characteristics of new dyes, or the varying characteristics of a single dye with aging. Once the invention has removed the effects to dye colour changes and retrieved the pure separate colour images, the effects of aging from these pure separate colour images can be removed using the changes common to black and white images in particular contrast stretch between black and white points in the image. It should be emphasized that applying this contrast stretch works well only after the invention has separated the colour records. Applying contrast stretch as does the prior art to the image before separation produces further colour artifacts. Contrast stretch is applied to a monochrome image, in this case, it is applied separately to the red, green, and blue images after the method of this invention has separated them fully. In contrast stretch, the lightest pixels and darkest pixels are found. A new contrast translation curve is calculated so the lightest pixels map to pure white, and the darkest pixels to pure black. This is called contrast stretch because usually the degrading effect of aging is to make the darkest pixels lighter than pure black or the lightest pixels darker than pure white, and the mapping in effect "stretches" the gray scale of the pixels to cover the range from pure black to pure while. As shown in the flow diagram of FIG. 8 for each pixel, step 215, the corrected blue, green, red pixels are received in steps 252 through 254 and 256. Each of these images is measured separately for loss of trait due to age affects, step 260. As mentioned above, the age affects due to dye colour changes should be largely corrected at this point by the method of this invention described earlier so that only the changes in contrast of the individual blue, green, and red records are left to be corrected. The process for correcting age affects begins in step 262. In step 262, the black, white and mid-gray points for each of the blue, green and red images is chosen. The black point is the value of the lowest intensity pixels assumed to have been black prior to aging; the white point is the value of the highest intensity, pixels, assumed to have been white while prior to aging. The mid-gray point is a point chosen for a middle perceived intensity for that particular colour image. Each of the blue, green and red pixels in the respective images are then assigned values along the scale from the black to the mid-gray to the white for the respective colour curve. Contrast stretch moves calculated black, white, and the mid-gray points of the curve of the aged image to levels perceived as while and mid grays by recalculating the intensity levels along the grayscale cure in step 264. In step 266, the recalculated points are assembled into a composite image and in step 268 they are displayed to the user. As discussed above, while the image intensity of the noise is uncorrelated, the image is correlated and therefore, the noise must be separated from the image before measuring the correlations. Fortunately, this is not a noise reduction problem where the image and noise must be totally separated. According to the invention, deriving the correlations of the noise for any portion of the image will be acceptable. The embodiment of the invention discussed below uses the combination of spatial and frequency exclusion by finding the correlations for the high frequency portions of the least detailed part of the image to determine the crosscorrelations for the noise between dye layers. FIG. 9 presents the causes of the alteration of the spatial frequency spectrum of both the image signal and grain noise. In the real world, boundary step functions predominate in the image, attenuating source signal inversely proportional to frequency. The camera lens attenuates the high frequencies. Next, optical turbidity in the film attenuates the high frequencies in a gaussian process giving a fairly complete cutoff. Finally, colour coupler diffusion attenuates at a frequency at about 5 times that of turbidity. There is virtually nothing above about 40 line pairs per millimeter spatial frequency recorded with today's lenses and film from real-world images. This cutoff corresponds to a 2000 by 3000 pixel scan of 35 millimeter film. Conversely, the grain noise begins with a flat spectrum and is attenuated only at very high frequencies by grain size and dye diffusion as discussed above, which have an effect above 100 line pairs per millimeter. FIG. 10 depicts how an imageless component of noise may be isolated. In theory, one could pass only the spatial frequencies above 100 line pairs per millimeters to totally isolate some noise. But in practice, this resolution is difficult for present day scanners. A practical solution first isolates frequencies around 40 line pairs to eliminate most of the image. Next, a pruning or weighing emphasizes those parts of the image in which the energy seen at these high frequencies is predominantly from grain noise, and prunes out or emphasizes those where the high frequencies also contain image detail. For example, a sky, a blurred background, or blank space between frames would contain the characteristics causing those areas to be emphasized. These areas are characterized by lower autocorrelation averaged over a small region. By picking correlations only for high frequencies, and only for areas of the image having the lowest average autocorrelation, the correlation characteristics of the grain can be measured independent of image detail. Because the noise is a constant across the image, a region that contains more high frequencies than elsewhere in the image is more active because of image detail. Also on area of the image containing more middle frequencies contains image detail which probably affects the high frequencies also. In either case such areas should be deemphasized when the goal is to measure only noise without image detail. A simple method of weighing areas inversely proportional to image detail is given in the algorithm on page 16 above. This method simply tests the intensity of higher frequencies, and discounts an area in proportion to that intensity. A second method is described with reference to FIG. 11. Each pixel in the scanned image is tested to determine whether it may be used for measuring the crosscorrelation. In step 300, a test is performed to determine whether the autocorrelation is below a certain threshold. If the autocorrelation is not below this threshold, the pixel is in an area of high image content and should be discarded. In step 301, the pixel is marked as bad, i.e., it will not be used in the crosscorrelation, and tested, that is, its autocorrelation is evaluated through the threshold test. If the autocorrelation of the pixel is below the threshold, the pixel is marked as "good" and tested in step 303. All the pixels which pass are stored as belonging to area "J" in step 305. An area J may be considered a NxM block where N and M are selectable, 4x4 is a suggested size for many images. In step 307, a test is performed to determine whether there are any untested pixels adjacent to area "J". If there are untested pixels, these pixels are also tested to determine whether their autocorrelations are below the threshold. If they pass, the pixels are marked as "good" and tested and stored in area "J", if not, they are marked as "bad" and tested. Once there are no contiguous untested pixels to area "J", the process proceeds to step 309 indicating that this area is finished. In step 311, "J" is incremented by one. In step 313, a test is performed to determine whether there are any untested pixels in other areas of the scanned image. If so, these are tested, other areas are established for use for measuring the crosscorrelations as described above. Once there are no untested pixels, the process ends in step 315. As mentioned above, the world is not linear, the method as described thus far could provide exact results if the scanner spectral responses were delta functions, like laser scanners. The entry into the cubic root domain provides a useful, yet approximate, method of solving the colour crosstalk problem for scanners with broad spectral responses. However, a second embodiment of the invention described below, although much more computationally intensive, can provide more exact results. A basic idea of the technique is to scan an image storage medium, such as a film, and identify those areas which can be used for the crosscorrolation calculation and to manipulate the spectral responses of either the scanner or the film until the crosscorrelation coefficients are minimized. When the crosscorrelation coefficients are minimized, the value calculated for the dye densities should be close to the actual densities in the film. The new calibrated scanner can be used to produce corrected output from other film images which use the same dyes. In an alternative embodiment, the model of the scanning process can be used to populate an interpolation table used to produce calibrated output from other film materials with the same dyes. As shown in FIG. 12, the patches identified in the image storage medium are scanned in step 350. The patches should be sufficient in number to keep a false null of the sum of square crosscorrelation coefficients from occurring. It is preferred to have more patches than absolutely necessary, although that can result in some unnecessary of computation the crosscorrelation coefficients. The output of the scanner is converted into density space in step 351, this conversion can be performed by three one-dimensional lookup tables, one for each scanner colour plane. A fourth would be added if the invention were to be utilized in the infrared. One means by which these values can be obtained is to scan a step wedge which is nearly linear in density and inverting the values. After the conversion to density space, there is an image of the colour patches in scanner coordinates in density space. Once the image is converted to density in step 353, the measured density D R , D G , D B for the red, green and blue scans is subtracted from predicted scanner densities D' R , D' G , D' B , for the red, green and blue densities predicted by the scanner model in step 361. As during the first pass there is no prediction, the "error", E R , E G , E B , is the measured density for the red, green and blue scans is fed into the crosstalk reduction matrix. In step 355, the errors are multiplied by a crosstalk reduction matrix. The inventors have found that a crosstalk reduction matrix can be found empirically by a correct search. The optimum crosstalk reduction matrix for a scanner whose response functions are Gaussians with standard deviations of 15 nanometers, centered at 610, 550, and 450 nanometers, scanning Ektachrome film is: The crosstalk reduction matrix is not strictly necessary, however, it speeds the conversions of the "errors" to zero. In step 357, the result of the matrix operation is added to the equations C'= C'+ E R , M'= M'+ E G , Y'= Y' = E B where C', M'and Y' are the estimated cyan, magenta and yellow dye densities for this pixel. The estimated dye densities for the pixel are fed to the film modeling step 359, and the crosscorrelation coefficients derivation step 363. Although many possible film models may be used, a film which obeys Beer's law, the optical density of the film as a function of wavelength is given by the equation: D( λ )=YD y ,( λ )+MD m ( λ )+CD c ( λ ), D( λ ), is the optical density of the film D y ( λ ), D m ( λ ), D c ( λ ) are the spectral responses of the film dyes and C', M', and Y' are estimated colour densities calculated in this iterative process. Density is the log absorption or equivalently negative log transmittance, therefore, the transmittance T( λ ) is related to the optional density by the equation T( λ ) = 10 -D ( λ ). The transmittance calculation is fed to the scanner modeling step 361. As with the film model, a variety of different scanner models may be used. A complete description would include all the input from light source to electronic RGB output. The output of the scanner can be modeled according to the following equations: D' R =-log S R ( λ )T( λ )d λ / S R ( λ )d λ} D' G =-log S G ( λ )T( λ )d λ / S G ( λ )d λ} D' B =-log S B ( λ )T( λ )d λ / S B ( λ )d λ} . Each channel curve, D' R , D' G and D' B , represents the product of the spectral responses of source, optics, filter and detection/conversion electronics. S R , S G and S B are the spectral responses of the scanner in the red, green and blue channels. In the process depicted in FIG. 13, the spectral responses are generated from the lower loop culminating in step 369. Once the estimated density values C', M', Y' for each pixel in the film layers are calculated in the upper loop by minimizing the error between the measured and predicted colour densities, the value of C', M' and Y' are also passed to step 363, where the crosscorrelation coefficients are derived. If the calculated "CMY" values are the density of each dye layer on the film, the crosscorrelations coefficients in each patch among the "CMY" values will be zero after their crosscorrelation coefficients of each patch are calculated. The derived crosscorrelation coefficients for the patch are squared and summed in step 365. Step 365 yields a single scalar which serves as a function for the optimum seeking program, step 367, which attempts to minimize the scalar. The optimum seeking program manipulates the vector describing the spectral responses of the scanner to minimize its cost function. One conceptually simple way to model the spectral response is by a 31 entry vector which samples its value every 10nm. However, this approach would require a 93 dimension search, which would be computationaly intensive. The preferred method would be to model the spectral responses in terms of a set of basis functions whose coefficients have lower dimensionality as described by Marymont and Wandell in "Linear Models of Surface and Illuminate Spectra" Journal of the Optical Society of America, Vol. 9, No. 11, November 1992, pages 1905-1913 which is hereby incorporated by reference. The inventors have found that Gaussian functions provide good models of the spectral responses. The starting point for the spectral responses can be the measured responses of any scanner for which the information is known. The process can be modified for situation for the scanner spectral responses are known and the film spectral responses are not. As depicted in FIG. 13, steps 400, 401, 403, 405, 406, 411 and 413, basically parallel steps 350, 351, 356, 355, 357, 363 and 365 in FIG. 12. In step 408, the spectral responses of the film in the optical density equation according to Beer's law is not known and must be supplied by a minimum seeking program in step 415. In step 417, the spectral responses of the film are generated, rather than the spectral responses of the scanner, as was the case in the process of FIG. 12. The two techniques can also be combined. Suppose there is a scanner of unknown spectral responses which needs to be calibrated. If there is one film whose spectral response are known, this film can be used in the flow diagram for the process described in the flow diagram of FIG. 12 to determine the scanner spectral responses. Then once the scanner spectral responses are known the process described in connection with FIG. 13 can be used to calibrate the scanner with respect to additional films even if their spectral responses are unknown. Gaussian functions have also provided a good model for the film spectral responses. While the scanning process above has been described in terms of models that obey Beer's law, other much more complex models of the scanner process such as Kubelka-Monk may be used. Kubelka-Monk theory is used to model the colour of materials which both scatter and absorb light. The theory is being used in the paints, plastic and textile industry for colour specification and control and is generally used for translucent and/or opaque media. Thus, the process can be extended to other image storage media besides film such as photographic paper, to the degree that the scanner can resolve the grain of the various dye layers in the paper and distinguish it from the grain of the paper itself. In addition, there are other ways than basis functions to reduce the dimensionality of the vectors which the optimum seeking program uses to describe the spectral responses. Further, there are a variety of optimum seeking programs. The method may also be extended to calibrate scanners for printed material using the screens rather than the film grain as an indication of which layer the dye information should be associated with. Specifically, filtering each plane of the separated image with filters designed to detect presence of information at screen angles other than the angle associated with principal component of that plane. Thus, the contribution of information associated with unwanted screen angles can be minimized by an optimum seeking algorithm.

Claims: A method for reducing colour crosstalk between a colour image and a scanner used to scan the colour image, comprising the steps of: successively scanning the colour image with the scanner to produce a set of scanned images each of which correspond to a different colour; identifying noise patterns in each of the scanned images by using autocorrelations; calculating respective crosscorrelations between the identified noise patterns in pairs of images from the set of scanned images; and correcting to minimise the crosscorrelations and thus the effect of colour crosstalk in each of the scanned images according to correction coefficients derived from the crosscorrelations. The method claimed in claim 1 wherein three of the set of scanned images respectively correspond to a red, a green and a blue scan of the colour image, of a cyan, a magenta and a yellow layer in colour film. The method claimed in claim 2 which further comprises the steps of: identifying selected areas of the colour image which have relatively little signal component other than noise; and calculating the crosscorrelations from the selected areas. The method claimed in claim 1 which further comprises the steps of: processing colour values from the scanned images in an iterative loop which develops a succession of colour estimates to determine an amount of each of the different colours in the colour image; processing colour values from the scanned images in an iterative loop which develops a succession of crosscorrelation coefficients; and generating a spectral response characterization of the scanner according to a minimization of the crosscorrelation coefficients.

Inventors: EDGAR ALBERT DURR, KASSON JAMES MATTHEWS, EDGAR, ALBERT DURR, KASSON, JAMES MATTHEWS
Applicants: APPLIED SCIENCE FICTION INC, APPLIED SCIENCE FICTION, INC.
Application year: 1994
Main classification: H04N1
IPC codes: H04N9, H04N1