Abstract:
A scanner is disclosed. The scanner has three lights with three different colors. The scanner uses only two of the three lights when capturing each scan line. The scanner does this by alternating the use of two of the three colors every other scan line.

Description:
BACKGROUND 
     Scanners come in a variety of types. Some scanners have sensor arrays that have three lines of sensors that scan three colors at the same time. Each of the three lines of sensors has a different color filter. These types of scanners typically use a light source that illuminates the object to be scanned with broad spectrum light. The broad spectrum light is typically a florescent bulb with three different phosphors, or a white LED. Other types of scanners may use a single unfiltered line of sensors that can detect a broad band of light frequencies (typically known as a broadband sensor). This type of scanner uses three different light sources, typically a red, green and blue light emitting diode (LED). The LED&#39;s are alternately poised to illuminate each scan line with the three different colors. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram of scanner  100  in as example embodiment of the invention. 
         FIG. 2  is a diagram of the exposures for scan lines in an example embodiment of the invention. 
         FIG. 3 a    is an example scan line sequence in an example embodiment of the invention. 
         FIG. 3 b    is a flow chart of a reconstruction algorithm in an example embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION 
       FIGS. 1-3  and the following description depict specific examples to teach those skilled in the art how to make and use the best mode of the invention. For the purpose of teaching inventive principles, some conventional aspects have been simplified, or omitted. Those skilled in the art will appreciate variations from these examples that fall within the scope of the invention. Those skilled in the art will appreciate that the features described below can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific examples described below, but only by the claims and their equivalents. 
     A scanner typically creates an image of an object by capturing a plurality of scan from the object. Each scan line is made up of a number of pixels. A complete color representation of an object typically requires three different color values for each pixel in the image. For example, in the RGB color space a pixel will be represented with a red value, a green value, and a blue value. In the digital domain each value may be represented by a defined number of bits, for example 8, 10, 12 or 16 bits. Therefore an image of an object will contain a number of scan lines, where each scan line has a plurality of pixels, and each pixel will have three color values. 
     When scanning an object with a broadband sensor, a scanner typically takes three exposures for each scan line, one exposure for each color. The scanner will illuminate the object with a different color of light for each exposure. The different colors of light are used in a defined sequence, for example first the red light, then the green light, then the blue light. In some scanners, the optical head (also called the carriage) remains stationary during all three exposures. When the optical head remains stationary, the three exposures are of the same physical area on the object being scanned. In other examples, the optical head remains in motion under a stationary scanned object during each exposure as in a flatbed scanner, or the scanned object is moved across a stationary optical head, as in an automatic document feeder. Therefore the three exposures are for adjacent regions on the object being scanned. The three different exposures will be combined into one scan line in the scanner. 
       FIG. 1  is a block diagram of scanner  100  in an example embodiment of the invention. Scanner  100  has a controller  102 , a scan head  104  and a drive system  106 . Controller  102  is coupled to scan head  104  and drive system  106  and controls the scanner. Controller  102  may comprise a processor, an ASIC, I/O module, memory and the like. The memory may comprise both volatile and non-volatile memory. Code stored in the memory, when executed by the processor, causes the scanner to perform functions, tor example scanning. Drive system  106  is mechanically coupled to scan head  104  and moves scan head  104  during scanning. 
     Scan head  104  may comprise a sensor army and one or more light sources. Scan head  104  may comprise a contact image sensor (CIS) or may have a charged coupled device (CCD) with folded optics. In this example, scan head  104  has a single unaltered sensor, typically called a broadband sensor, and three sets of different color light sources. The scanner may have an IR cut filter to prevent non-visible IR light from hitting the unfiltered sensor. In this example the light sources are different colored light emitting diodes (LED). The broadband sensor can detect a broad frequency range of visible light reflected from the object to be scanned. The three sets of different color LED&#39;s are alternately strobed by the controller  102  to illuminate the object to be scanned. By alternately strobing the three different colors of light, the broadband sensor can be used to detect three different colors from the object to be scanned. Typically, the three sets of LED&#39;s are red, green and blue (RGB). But three colors in a different color space could be used, for example cyan, yellow and magenta (CYM). 
     In one example embodiment of the invention, scanner  100  will only take two exposures per scan line. One color of light is used for one of the exposures in every scan line. The color used in every scan line will be called the reference color. The other two colors of light are alternated between scan lines.  FIG. 2  is a diagram of the exposures for scan lines in an example embodiment of the invention. 
       FIG. 2  shows a plurality of scan lines  1 -N. Each scan line contains two exposures using two different colors of light. In this example green is the reference color so every scan line has one exposure using green light. The other two colors (Red and Blue) are used every other scan line. Scan line  1  has one exposure using red light and one exposure using green light Scan line  2  has one exposure using blue light and one exposure using green light. Scan line  3  has one exposure using red light and one exposure using green light, and so on. The exposure sequence for the scan lines is RGBGRGBG . . . Because each scan line requires only two exposures, the scanner can scan an object faster than scanners that use three exposures per scan line. 
     Each scan line in  FIG. 2  only captures two different colors for each pixel in the scan line. Because a full color representation of an object requires three different color values for each pixel in the scan line, every pixel in each of the scan lines are missing a color value. The odd numbered scan lines are missing blue values and the even numbered scan lines are missing red values. The missing color values for each scan line can be reconstructed in a number of ways. 
     In one example embodiment of the invention, information from the reference channel is used to guide the reconstruction of the missing color channels. The green color is one choice for the full-resolution reference channel since it most closely represents luminance and therefore best preserves scan resolution detail.  FIG. 3 a    is an example scan line sequence in an example embodiment of the invention. In  FIG. 3 a    the green color scan line has been chosen as the reference color channel. 
     The missing color pixel value within a scan fine is reconstructed in the following fashion. Reference color scan line pixels are aligned with current missing pixel color scan line by “shifting” the reference line pixels up or down by one half of a scan line. So the green pixel value in the previous scan line g 0  is moved up by one half of a scan line and becomes green pixel aligned g 0   a . The green pixels in the current scan line g 1  becomes g 1   a  and the green pixels in the following scan line g 2  become g 2   a . In one example implementation, moving or shifting the pixels by one half a scan line is performed using a bi-cubic spline filter, but similar results can be accomplished by any appropriate filter. Once shifted, the green pixels are “aligned” to the corresponding red and blue pixels from she same scan line. This compensates for the motion of the scan head during the exposures for each scan line. 
       FIG. 3 b    is a flow chart of the reconstruction algorithm in an example embodiment of the invention. Once the reference pixels have been aligned, the reconstruction algorithm starts at step  320 . For clarity the “a” for aligned has been dropped from the pixel symbols. For each scan line, reference backward and forward differences are calculated. Reference backward difference (bdiff) is defined as the difference between the reference pixel in the current scan line and the reference pixel in the previous scan line. Reference forward difference (fdiff) refers to the difference between the reference pixel in the current scan line and the reference pixel in the following scan line. So for the current scan line bdiff=g 1 −g 0  and fdiff is equal to g 1 −g 2 . For the current scan line, the red pixel value is being reconstructed. 
     At step  322  bdiff is compared to fdiff. If bdiff is smaller than fdiff flow continues at step  324 , otherwise flow continues at step  330 . At step  324  the sum of the pixel value of the color being reconstructed from the following scan line r 2  and fdiff is calculated (sum=r 2 +fdiff). This sum is compared to she value of the color being reconstructed from the previous scan line (i.e. r 0 ). If this sum is greater than the value of the color being reconstructed from the previous scan line (i.e. sum&gt;r 0 ), flow continues at step  326 . Otherwise flow continues at step  328 . At step  326 , when r 2 +fdiff&gt;r 0  the reconstructed pixel is set to the value front the previous scan line, i.e. r 1  is set equal to r 0 . At step  328 , when r 2 +fdiff was not greater than r 0 , the reconstructed pixel value is set to the value of the sum, i.e. r 1  is set equal to r 2 +fdiff. 
     At step  330  when bdiff is greater than fdiff, the sum of the pixel value of the color being reconstructed from the previous scan line r 0  and bdiff is calculated (sum=r 0 +bdiff). The sum is compared to the value of the color being reconstructed from the following scan line (i.e. r 2 ). If this sum is greater than the value of the color being reconstructed from the following scan line (i.e. sum&gt;r 2 ), flow continues at step  334 . Otherwise flow continues at step  332 . At step  334 , when r 0 +bdiff&gt;r 2  the reconstructed pixel is set to the value from the following scan line, i.e. r 1  is set equal to r 2 . At step  332 , when r 0 +bdiff was not greater than r 2 , the reconstructed pixel value is set to the value of the sum, i.e. r 1  is set equal to r 0 +bdiff. 
     In another example embodiment of the invention, the pixel values of the missing colors are reconstructed using reference forwards and backwards differences and reference forwards and backwards ratios. First the reference color scan line pixels are aligned with current missing pixel color scan line by “shifting” the reference line pixels up or down by one half of a scan line. In this example green is the reference color and the missing color is red (see  FIG. 3 ). So the green pixel value in the previous scan line g 0  is moved up by one half of a scan line and becomes green pixel aligned g 0   a . The green pixels in the current scan line g 1  becomes g 1   a  and the green pixels in the following scan line g 2  become g 2   a . In one example implementation, moving or shifting the pixels by one half a scan line is performed using a bi-cubic spline filter. 
     Once the reference pixels have been aligned, for each scan line, reference backward and forward differences are calculated. For clarity the “a” for aligned has been dropped from the pixel symbols. Reference backward difference (bdiff) is defined as the difference between the reference pixel in the current scan line and the reference pixel in the previous scan line. Reference forward difference (fdiff) refers to the difference between the reference pixel in the current scan line and the reference pixel in the following scan line. So for the current scan line bdiff=g 1 −g 0  and fdiff is equal to g 1 −g 2 . 
     Reference backwards and reference forward ratios are also calculated. Reference backward ratio (bratio) is defined as the ratio between the reference pixel in the current scan line and the reference pixel in the previous scan line. Reference forward ratio (fratio) refers to the difference between the reference pixel in the current scan line and the reference pixel in the following scan line. So for the current scan line bratio=g 1 /g 0  and fratio=g 1 /g 2 . 
     To determine the pixel value of the missing color (red in this example) the reference backwards difference is compared to the reference forwards difference. When bdiff is smaller than fdiff the product of the pixel value of the color being reconstructed from the following scan line r 2  and fratio is calculated (product=r 2 *fratio). When the product (r 2 *fratio) is greater than the same color pixel value in the previous scan line r 0 , r 1  is set equal to r 0 . Otherwise r 1  is set equal to the product r 2 *fratio. 
     When bdiff is not smaller than fdiff the product of the pixel value of the color being reconstructed from the previous scan line r 0  and bratio is calculated (product=r 0 *bratio). When the product (r 0 *bratio) is greater than the same color pixel value in the following scan line, or r 0 *bratio&gt;r 2 , r 1  is set equal to r 2 . Otherwise r 1  is set equal to the product r 0 *bratio. Other methods may also be used to reconstruct the pixel values of the missing colors.