Abstract:
A bar code includes a plurality of bar code elements arranged in an information-conveying arrangement. Each bar code element has a color selected from one of a group of colors in a painted pixel filter associated with a camera that will be used to read the bar code.

Description:
This application claims priority from U.S. Provisional Application 60/918,247 which was filed on Mar. 15, 2007. 
    
    
     BACKGROUND 
     Bar codes may be attached to or printed on an object and then used to identify the object. Bar codes can be black and white or they can include color. Bar codes can be one dimensional or two dimensional. Bar codes are sometimes referred to as “spatial codes.” 
     Cameras may be used to read bar codes. A color camera may be used to read color bar codes. Color cameras typically include a large number of photosensors arranged in an array. Color cameras typically include a painted pixel filter, such as the filter mosaic 24 in U.S. Pat. No. 3,971,065, which “includes individual filters (e.g., filter 26) in one-to-one registration with individual sensor elements of the array (e.g., the element 22).” Column 4, lines 54-58. In U.S. Pat. No. 3,971,065, the painted pixel filter is of the “selective transmitting type,” such that each individual filter allows light of a particular range of colors to pass through. The painted pixel filter is typically arranged over the color camera&#39;s photosensor array such that each individual photosensor receives one of the color ranges that the painted pixel filter passes. 
     Painted pixel filters have filters in several colors arranged in a pattern. The color combinations typically provided in commercially available color cameras include RGB (Red, Green, Blue), RGBE (Red, Green, Blue, Emerald), and CYM (Cyan, Magenta, Yellow), among others. The “Bayer pattern” of U.S. Pat. No. 3,971,065 describes an arrangement of RGB filters. 
     Accurately reading color bar codes with commercially available color cameras is a challenge. 
     SUMMARY 
     In general, in one aspect, the invention features a bar code. The bar code includes a plurality of bar code elements arranged in an information-conveying arrangement. Each bar code element has a color selected from one of a group of colors in a painted pixel filter associated with a camera that will be used to read the bar code. 
     Implementations of the invention may include one or more of the following. The painted pixel filter may include a Bayer filter pattern. The colors of the painted pixel filter may be selected from a group consisting of RGB colors, RGBE colors, and CYM colors. The bar code elements may be printed with fluorescent ink. A first set of bar code elements of the plurality of bar code elements may be intermixed with a second set of bar code elements of the plurality of bar code elements. The first set of bar code elements may be printed in a first color of the group of colors. The second set of bar code elements may be printed in a second color of the group of colors. The first set of bar code elements may be readable as a complete bar code. The second set of bar code elements may be readable as a complete bar code. The bar code may include a finder pattern. The bar code may include a locator pattern. Each bar code element may have N colors, each of the colors being in one of F fractional intensity levels. One of the bar code elements may have N colors, each of the colors being in one of F fractional intensity levels, where the F fractional intensity levels are substantially evenly spaced between 0 and M. One bar code element may have one of a total of F N  color combinations, each color combination comprising N colors, each of the colors being in one of F fractional intensity levels. (F−1) N  color combinations of the total F N  color combinations may not be used. One bar code element may have one of a total of F N  color combinations, each color combination comprising N colors, each of the colors being in one of F fractional intensity levels. The bar code may include an intensity standard whereby the fractional intensity levels can be distinguished. 1 color combination of the total F N  color combinations may not be used. 
     In general, in another aspect, the invention features a method for creating bar codes. The method includes arranging bar code elements in an information-conveying arrangement. Each bar code element has a color selected from one of a group of colors in a painted pixel filter associated with a camera that will be used to read the bar code. 
     In general, in another aspect, the invention features a bar code reading system. The bar code reading system includes a camera system having a plurality of groups of sensors. Each group of sensors is sensitive to light in one of a plurality of colors in a painted pixel filter. The camera system produces a sensor group signal for each of the plurality of groups of sensors. The bar code reading system includes a processing system coupled to the camera system to receive the sensor group signals. The processing system detects bar code elements in each of the sensor group signals that are independent of the bar code elements in the other sensor group signals. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a bar code reading system. 
         FIG. 2  illustrates a single patch of color on an object. 
         FIG. 3  illustrates three overlaid patches of color. 
         FIG. 4  illustrates a plurality of patches of color on an object. 
         FIG. 5  illustrates a bar code reading system with multiple cameras. 
         FIG. 6  illustrates a bar code reading system incorporating an electronically tunable filter. 
         FIGS. 7-9  illustrate dots in patches of color. 
         FIG. 10  illustrates a bar code including a finder pattern and a locator pattern. 
         FIG. 11  illustrates a bar code affixed to or printed on an object. 
         FIG. 12  illustrates a bar code with multiple layers. 
     
    
    
     DETAILED DESCRIPTION 
     One embodiment of a bar code reading system  105 , illustrated in  FIG. 1 , includes a light source  110 , a camera  115 , and a processing system  120 . The light source  110  illuminates an object  125  that includes a bar code  130 . In one embodiment, the light source  110  is an ultraviolet light. The camera  115  receives light reflected from the bar code  130 , as indicated by the dotted line, and detects it. The camera  115  produces signals  135  which represent the image that it detects. The processing system  120  processes the signals  135  to, for example, identify the object  125 . 
     In one embodiment, the bar code  130  is a color bar code and the camera  115  is a color camera. Color bar codes allow the information density of spatial codes to be increased. By using color, information can be encoded both spatially and by using the color of the bar code elements. The increased information density allows color bar codes to be attached to very small items. 
     For example, consider one embodiment, in which a small, e.g. 2×2 mm, item is marked using a 3 color inkjet printer and it is desired to read the mark using bar code reading system  105  in which the camera  115  is a color camera with a RGB painted pixel filter. 
     In one embodiment, the inks are chosen so that they match the RGB painted pixel filter, i.e., such that the red ink is sensed only by the camera&#39;s red pixels, the green ink is sensed only by the green pixels, and the blue ink is sensed only by the blue pixels. The term “red pixel” refers to the camera&#39;s photosensors that are arranged relative to the painted pixel filter such that they receive only light only in the red range. The terms “green pixel” and “blue pixel” are defined similarly. Note that red pixels also receive light of other colors but in typical use the level of light from outside the red range is below a threshold level and does not interfere substantially with the detection of light in the red range. The same is true of green pixels and blue pixels. 
     If the entire surface of the item  205  is covered by a single spot  210 , as shown in  FIG. 2 , 7 distinct color combinations can be differentiated, as shown in Table 1 below: 
     
       
         
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 R 
                 G 
                 B 
               
               
                   
               
             
             
               
                 1 
                 1 
                 1 
               
               
                 1 
                 1 
                 0 
               
               
                 1 
                 0 
                 1 
               
               
                 0 
                 1 
                 1 
               
               
                 1 
                 0 
                 0 
               
               
                 0 
                 1 
                 0 
               
               
                 0 
                 0 
                 1 
               
               
                   
               
             
          
         
       
     
     Table 1 shows the level of ink applied to the item. “R” refers to red; “G” to green; and “B” to blue. A “1” in a column represents full coverage of the ink. A “0” in the column indicates that no ink was applied. “0, 0, 0” was intentionally omitted from the table. A “1” in more than one column indicates that more than one color ink was printed and that one layer was printed on top of another. For example, as shown in  FIG. 3 , a red patch  305  may be overlaid by a green patch  310  that may be overlaid by a blue patch  315 . In one embodiment, the mixture of colors is formed, not by overlaying color patches, but by arranging tiny dots corresponding to the primary colors (e.g., red, green, and blue) in close proximity to each other. The camera  115  mixes the colors in the dots much as the eye does. In another embodiment, a computer program mixes colors to simulate the overlaying of single color bar codes prior to sending the resulting bar code to a color printer for printing. 
     The amount of information can be increased by printing 4 distinct patches of ink,  405 ,  410 ,  415 ,  420 , as shown in  FIG. 4 . Each patch can be considered a digit in a 4 digit number. The colors each represent a possible value in each digit of the 4 digit number. If inks are chosen to match the RGB painted pixel filter,  FIG. 4  represents a base 7, four digit number, which results in 7 4  unique codes. The number of unique codes increases as the number of spots (or digits) increases, as shown in Table 2: 
     
       
         
               
               
               
             
           
               
                 TABLE 2 
               
               
                   
               
               
                 Number 
                 Number of Color 
                 Number of  
               
               
                 of Digits 
                 Combinations 
                 Unique Codes 
               
               
                   
               
             
             
               
                 1 
                 7 
                 7 
               
               
                 4 
                 7 
                 2.4 × 10 3   
               
               
                   
                   
                 (7 4 ) 
               
               
                 9 
                 7 
                 4.0 × 10 7   
               
               
                   
                   
                 (7 9 ) 
               
               
                 16  
                 7 
                  3.3 × 10 13   
               
               
                   
                   
                  (7 16 ) 
               
               
                   
               
             
          
         
       
     
     The number of color combinations, and thus the number of unique codes, can be further increased by printing fractional values of each color. Assign “1” as the maximum amount of ink that can be deposited in a spot by the printer. Assign “0” as no ink applied in a spot by a printer. Assign “0.5” as ½ the volume of the amount of ink deposited with “1.” The number of color combinations increases to 19, as shown in Table 3: 
     
       
         
               
               
               
             
               
               
               
             
           
               
                 TABLE 3 
               
               
                   
               
               
                 R 
                 G 
                 B 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 1 
                 1 
                 1 
               
               
                 1 
                 1  
                 0.5 
               
               
                 1 
                 0.5 
                 1 
               
               
                 0.5 
                 1 
                 1 
               
               
                 1 
                 1 
                 0 
               
               
                 1 
                 0.5 
                 0.5 
               
               
                 1 
                 0  
                 1 
               
               
                 0.5 
                 1 
                 0.5 
               
               
                 0.5 
                 0.5 
                 1 
               
               
                 0 
                 1 
                 1 
               
               
                 1 
                 0.5 
                 0 
               
               
                 1 
                 0 
                 0.5 
               
               
                 0.5 
                 1 
                 0 
               
               
                 0.5 
                 0 
                 1 
               
               
                 0 
                 1  
                 0.5 
               
               
                 0 
                 0.5 
                 1 
               
               
                 1 
                 0 
                 0 
               
               
                 0 
                 1 
                 0 
               
               
                 0 
                 0  
                 1 
               
               
                   
               
             
          
         
       
     
     Once again, the information in the bar code can be increased by printing distinct patches of ink. The result is a base 19 number with the number of digits being equal to the number of color patches. The number of unique codes increases quickly as the number of spots (digits) increases, as shown in Table 4: 
     
       
         
               
               
               
             
           
               
                 TABLE 4 
               
               
                   
               
               
                 Number  
                 Number of Color 
                 Number of  
               
               
                 of Digits 
                 Combinations 
                 Unique Codes 
               
               
                   
               
             
             
               
                 1 
                 19 
                 19 
               
               
                 4 
                 19 
                 1.3 × 10 5   
               
               
                   
                   
                 (19 4 ) 
               
               
                 9 
                 19 
                 3.2 × 10 11   
               
               
                   
                   
                 (19 9 ) 
               
               
                 16  
                 19 
                 2.9 × 10 20   
               
               
                   
                   
                  (19 16 ) 
               
               
                   
               
             
          
         
       
     
     The number of color combinations available increases to 61 in a system that has five fractional values or fractional color intensity levels (0, 0.25, 0.5, 0.75, and 1), as shown in Table 5. 
     
       
         
               
               
               
               
               
               
             
               
               
               
               
               
               
             
           
               
                 TABLE 5 
               
               
                   
               
               
                 R 
                 G 
                 B 
                 R 
                 G 
                 B 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 1 
                 1 
                 1 
                 0 
                 1 
                 1 
               
               
                 1 
                 1 
                 0.75 
                 1 
                 0.75 
                 0 
               
               
                 1 
                 0.75 
                 1 
                 1 
                 0.5 
                 0.25 
               
               
                 0.75 
                 1 
                 1 
                 1 
                 0.25 
                 0.5 
               
               
                 1 
                 1 
                 0.5 
                 1 
                 0 
                 0.75 
               
               
                 1 
                 0.75 
                 0.75 
                 0.75 
                 1 
                 0 
               
               
                 1 
                 0.5 
                 1 
                 0.75 
                 0 
                 1 
               
               
                 0.75 
                 1 
                 0.75 
                 0.5 
                 1 
                 0.25 
               
               
                 0.75 
                 0.75 
                 1 
                 0.5 
                 0.25 
                 1 
               
               
                 0.5 
                 1 
                 1 
                 0.25 
                 1 
                 0.5 
               
               
                 1 
                 1 
                 0.25 
                 0.25 
                 0.5 
                 1 
               
               
                 1 
                 0.75 
                 0.5 
                 0 
                 1 
                 0.75 
               
               
                 1 
                 0.5 
                 0.75 
                 0 
                 0.75 
                 1 
               
               
                 1 
                 0.25 
                 1 
                 1 
                 0.5 
                 0 
               
               
                 0.75 
                 1 
                 0.5 
                 1 
                 0.25 
                 0.25 
               
               
                 0.75 
                 0.5 
                 1 
                 1 
                 0 
                 0.5 
               
               
                 0.5 
                 1 
                 0.75 
                 0.5 
                 1 
                 0 
               
               
                 0.5 
                 0.75 
                 1 
                 0.5 
                 0 
                 1 
               
               
                 0.25 
                 1 
                 1 
                 0.25 
                 1 
                 0.25 
               
               
                 1 
                 1 
                 0 
                 0.25 
                 0.25 
                 1 
               
               
                 1 
                 0.75 
                 0.25 
                 0 
                 1 
                 0.5 
               
               
                 1 
                 0.5 
                 0.5 
                 0 
                 0.5 
                 1 
               
               
                 1 
                 0.25 
                 0.75 
                 1 
                 0.25 
                 0 
               
               
                 1 
                 0 
                 1 
                 1 
                 0 
                 0.25 
               
               
                 0.75 
                 1 
                 0.25 
                 0.25 
                 1 
                 0 
               
               
                 0.75 
                 0.25 
                 1 
                 0.25 
                 0 
                 1 
               
               
                 0.5 
                 1 
                 0.5 
                 0 
                 1 
                 0.25 
               
               
                 0.5 
                 0.5 
                 1 
                 0 
                 0.25 
                 1 
               
               
                 0.25 
                 1 
                 0.75 
                 1 
                 0 
                 0 
               
               
                 0.25 
                 0.75 
                 1 
                 0 
                 1 
                 0 
               
               
                   
               
             
          
         
       
     
     The number of unique codes increases as the number of spots (i.e. digits) increases, as shown in Table 6: 
     
       
         
               
               
               
             
           
               
                 TABLE 6 
               
               
                   
               
               
                   
                 # Color 
                 # Unique  
               
               
                 # Digits 
                 Combinations 
                 Codes 
               
               
                   
               
             
             
               
                 1 
                 61 
                 61 
               
               
                 4 
                 61 
                 1.38 × 10 7   
               
               
                   
                   
                 (61 4 ) 
               
               
                 9 
                 61 
                 1.17 × 10 16   
               
               
                   
                   
                 (61 9 ) 
               
               
                 16  
                 61 
                 3.68 × 10 28   
               
               
                   
                   
                  (61 16 ) 
               
               
                   
               
             
          
         
       
     
     Further, in the examples shown in  FIGS. 2 and 4 , the patches are square and they are arranged in square patterns. Many geometrical variations, both in the shape of the patches and their arrangement, are possible. 
     As mentioned above, commercially available color cameras include other painted pixel filters. For example, color cameras using CMY painted pixel filters are available. The same principles would apply to such cameras. 
     Color cameras with 4-color painted pixel filters, such as RGBE, are also commercially available. Having 4 color filters increases the number of distinguishable colors, which increases the number of codes as compared to a camera with 3-color painted pixel filters, as shown in Table 7 and Table 8: 
     
       
         
               
               
               
               
               
               
             
           
               
                 TABLE 7 
               
               
                   
               
               
                 Number of  
                   
                   
                   
                   
                   
               
               
                 Fractional 
                 Num of  
                 1 
                 4 
                 9  
                 16  
               
               
                 Color Intensity 
                 Color Com- 
                 Patch 
                 Patches 
                 Patches 
                 Patches 
               
               
                 Levels 
                 binations 
                 of ink 
                 of ink 
                 of ink 
                 of ink 
               
               
                   
               
             
             
               
                 2 
                  7 
                  7 
                 2.40E + 03 
                 4.04E + 07 
                 3.32E + 13 
               
               
                 3 
                 19 
                 19 
                 1.30E + 05 
                 3.23E + 11 
                 2.88E + 20 
               
               
                 5 
                 61 
                 61 
                 1.38E + 07 
                 1.17E + 16 
                 3.68E + 28 
               
               
                 6 
                 91 
                 91 
                 6.86E + 07 
                 4.28E + 17 
                 2.21E + 31 
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
               
               
               
               
             
           
               
                 TABLE 8 
               
               
                   
               
               
                 Number of  
                   
                   
                   
                   
                   
               
               
                 Fractional 
                 Number of  
                 1  
                 4  
                 9  
                 16  
               
               
                 Color Intensity  
                 Color Com- 
                 Patch 
                 Patches 
                 Patches 
                 Patches 
               
               
                 Levels 
                 binations 
                 of ink 
                 of ink 
                 of ink 
                 of ink 
               
               
                   
               
             
             
               
                 2 
                  15 
                  15 
                 5.06E + 04 
                 3.84E + 10 
                 6.57E + 18 
               
               
                 3 
                  65 
                  65 
                 1.79E + 07 
                 2.07E + 16 
                 1.02E + 29 
               
               
                 5 
                 369 
                 369 
                 1.85E + 10 
                 1.27E + 23 
                 1.18E + 41 
               
               
                 6 
                 671 
                 671 
                 2.03E + 11 
                 2.76E + 25 
                 1.69E + 45 
               
               
                   
               
             
          
         
       
     
     In one embodiment, the camera  115  includes a custom painted picture filter that is designed to match a specific set of ink colors. This increases the number of colors in the painted pixel filter, which increases the number of codes. 
     In one embodiment, the camera  115  is a multi-chip camera, with three of photosensor chips. Each photosensor chip has a different color filter, typically one of the RGB colors. With such a camera, interpolation of the image is not required and the image has higher resolution. 
     In one embodiment, shown in  FIG. 5 , multiple cameras, e.g. cameras  505 ,  515 , and  520 , are aligned to a single area. In one embodiment, each of the cameras  505 ,  515 , and  520  has a different painted pixel filter. 
     In one embodiment, shown in  FIG. 6 , an electronically tunable filter (“ETF”)  605  is inserted in front of the camera  115 . An ETF is a device whose spectral transmission can be electronically controlled. In  FIG. 6 , the control is provided by the processing system  120  through signals  610 . The control can be via applied voltage or acoustic signal. The ETF has no moving parts. Typically, the transmission band of the ETF can be changed in less than 100 ms. 
     There are a number of commercially-available ETFs: (a) liquid crystal tunable filters (LCTF); (b) acousto-optical tunable filters (AOTF); and (c) Fabry-Perot devices. 
     The ETF can be used to take a plurality of pictures of the bar code  130 , each picture being taken in a different frequency range. This allows a variety of photoluminescent compounds to be used to construct the color levels. In addition, it would be difficult for a counterfeiter to know what frequency bands are being interrogated by examining the bar code  130 . 
     In one embodiment, the bar code includes quantum dots (i.e., tiny spheres impregnated with a photoluminescent material) and an ETF is employed, resulting in a large number of codes in a small area. 
     In one embodiment, the light source  110  is a source of white light and the bar code  130  uses visible colors. The photoluminescent embodiments with fluorescent inks use additive color. In contrast, the visible color embodiment uses subtractive colors. Thus, while the photoluminescent embodiments use a dark background behind the bar code  130  and add the RGB color, the visible color embodiments use a white background and subtract the RGB color. 
     The number of dots in typical patches of color printed by a 600 dot per inch printer is illustrated in  FIGS. 7-9 .  FIG. 7  shows a 1 mm square divided into 4 sections.  FIG. 8  shows a 2 mm square divided into 4 sections.  FIG. 9  shows a 2 mm square divided into 9 sections. 
     In one embodiment, a bar code  1005 , illustrated in  FIG. 10 , is made up of patches of color  1010  such as those shown in  FIGS. 7-9 . The bar code  1005  includes a finder pattern  1015  and a locator pattern  1020 . In one embodiment, the finder pattern  1015  is used to locate the bar code  1005 . In one embodiment, the locator pattern  1020  is used to detect the orientation of the bar code  1005 , for example by finding the leftmost edge, as in  FIG. 10 . In one embodiment, the finder pattern  1015  and the locator pattern  1020  are the same thing. The bar code  1005  can be affixed to or printed on an object  1105 , as shown in  FIG. 11 . 
     In one embodiment, the bar code  1005  can include a plurality of layers  1205 ,  1210 , and  1215 , printed one on top of another, as shown in  FIG. 12 . The patches in each of the layers  1205 ,  1210 , and  1215  can have different characteristics. In one embodiment, each of the layers  1205 ,  1210 , and  1215  can be read as a separate bar code. In one embodiment, all of the layers  1205 ,  1210 , and  1215  must be read to interpret the bar code  1005 . 
     Note that in Tables 3 and 5, not all possible codes are present. This is because, for example, the codes (1, 1, 1), (0.75, 0.75, 0.75), (0.5, 0.5, 0.5) and (0.25, 0.25, 0.25) appear the same unless the bar code contains an intensity standard that the bar code reading system  105  can use as a reference by which it can distinguish the intensity of 1 from the other intensities. For this reason, codes that do not contain the value 1 (i.e., (1, X, X), (X, 1, X) and (X, X, 1), where X means “don&#39;t care”) are not used in systems that do not have an intensity standard. For a bar code with N different colors and F intensity levels for each color, that rule eliminates (F−1) N  codes. That means that the total number of codes available in such a bar code is:
 
F N −(F−1) N  
 
     If an intensity reference is available, the total number of available codes in a bar code is:
 
F N −1
 
“1” is subtracted because the (0, 0, 0) code is not available. In one embodiment, the finder pattern  1015  shown in  FIG. 10  is used as an intensity standard. In one embodiment, the locator pattern  1020  shown in  FIG. 10  is used as an intensity standard. The finder pattern  1015  and locator pattern  1020  can serve as intensity standards because they can be fixed in intensity from one bar code to another.
 
     The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.