Multiple resolution machine readable symbols

Abstract: A multiple resolution optically encoded label (10) is readable at two or more optical resolutions, and is able to store two or more respective channels of optically encoded information. Low resolution information is encoded in a plurality of large cells (12) arranged in a predetermined geometric pattern. Each of the large cells includes a plurality of smaller cells (14) for storing high resolution information. Method and apparatus are disclosed for encoding both high resolution data, and low resolution data, as well as for finding and reading both high resolution and low resolution data.

Description: This invention relates to the field of machine readable symbols, and more particularly, this invention relates to an optically-readable label of the kind having information encoded thereon by means of a plurality of information-bearing cells each of which exhibits an optical property dependent on the information encoded and having an acquisition target. Optically encoded labels using machine readable symbols are well known. For example, U.S. Patent 3,553,438 shows an optically encoded label using a circular wedge data format. U.S. Patents 3,971,917 and 3,916,160 show machine readable labels using concentric ring codes to represent stored data. Other types of machine readable labels, such as labels having data encoded in an array of rectangular grids as shown in U.S. Patent 4,286,146, or labels having data encoded in the form of microscopic spot grids as shown in U.S. Patent 4,634,850, are well known in the prior art. In another instance, U.S. Patent 4,488,679 shows an optically encoded label using densely packed multi-colored data. Other types of machine readable symbols have been developed for many applications. For example, the universal product code (UPC) is a bar code symbology widely used in the U.S. retail industry to identify products at the point of sale, or for inventory control purposes. A bar code is a particular type of machine readable symbol in which data is represented as a series of parallel solid lines, or bars, of varying width and spacing. In the industrial area, other bar codes symbologies have been used for package identification systems. Common bar code symbologies include CODABAR, code 39, interleaved 2 of 5, and code 49. Existing bar code systems typically lack sufficient data density to accommodate the increasing need to encode more information. It is also desirable to reduce label size, which makes it even more difficult to encode more information. For example, in a package sorting operation, a minimum system requires an optically encoded label containing at least a destination code, such as a zip code of 5 to 9 characters. However, it is also desirable for the same label to encode additional information such as the name, address and telephone number of the addressee, as well as the class of service, shipper identification, and the like. Increasing the size of the label in order to accommodate more encoded data is not an adequate solution. First, small packages must be sorted as well as large ones, which places rigid constraints on the maximum allowable label size. Second, increasing the label size increases the label cost, which is a significant factor in high volume operations. The alternative to increasing the label size is to fit more data on the same size label. However, to fit more data on the same size label, the size of the optically encoded features must be reduced. For example, in the case of a bar code label, the bar code size and spacing is reduced in order to encode more data on the same size label. However, a reduction in bar code size requires significant increases in optical resolution, printing accuracy, illumination power, mechanical complexity, and processing speed. The system resulting from a high density, high speed bar code symbology tends to become both technically and economically impractical. Higher density machine readable labels containing data arrays instead of bar codes are known. A prior art example of a label of the kind set forth above and containing a higher density data array is shown in U.S. Patents 4,874,936 and 4,896,029 where data is encoded in the form of an hexagonal data cell array that contains about 100 characters of information. The prior art hexagonal array system requires a scanner and decoder of sufficient resolution to find, digitize and decode the high density data contained in the label. Due to the small optical features of the label, the prior art hexagonal array system also requires the use of powerful illumination, a high resolution imager, a means for sensing the distance of the label from the imager, and a variable focus lens in order to acquire the image, all of which results in a technically complex and expensive system. The present inventors have noted that in many applications for high density data encoded labels, some of the encoded information is more important than the other encoded information. For example, continuing the example of package sorting, the destination code is more important, i.e. has a higher priority, than for example, the shipper identification data. The high priority information, which is required for sorting operations, is critical to system operation and is more frequently used than is the low priority information. In the prior art example of hexagonal data cell arrays disclosed in U.S. Patents 4,874,936 and 4,896,029, cited above, the disclosed label contains a high priority message and a low priority message. In the prior art system, the high priority message data is better protected in terms of error correction and by physical proximity to the center of the label, where it is less likely to be damaged. However, in the prior art, the size of the optical features of the high priority message data is the same size as the optical features of the low priority message data. Therefore, the prior system for reading the label needs to have sufficient resolution and processing power necessary to capture, digitize and decode all of the information present in the label even when a small subset of the information in the label is all that is needed. According to one aspect of the present invention there is provided an optically-readable label of the kind set forth above which is characterized by a plurality of information-bearing cell units each encoded with a part of first information; a plurality of information-bearing cells each of which is smaller than and is contained within the space occupied by a said cell unit, each of said plurality of information-bearing cells being encoded with part of second information; and wherein each of said plurality of cell units encodes part of said first information by exhibiting an optical property dependent on said first information part and is readable at a lower resolution, and in each of said plurality of cell units, the smaller cell or cells contained therein encode part of said second information by exhibiting an optical characteristic dependent on said second information part and readable at a higher resolution, and said plurality of cell units being located outside a finder pattern functioning as said acquisition target. Labels encoded in the manner defined in the preceding paragraph may be referred to as multiple resolution labels. The label may be readable at more than two optical resolutions. The Applicant is aware of a proposal in International Patent Publication No. WO92/00576 (which falls within the terms of Art. 54(3) EPC; not published until 9th January, 1992) to encode information at higher and lower levels of resolution. Specifically disclosed is that the acquisition target is the information encoded at the lower resolution. Typically the information-bearing cell units (larger cells) of the label of the invention are used to encode a higher priority of message data, while the smaller information-bearing cells encode a lower priority of message data. To read the large cells, the label is processed using low resolution image data, while to read the small cells, the label is processed using high resolution image data. Since the smaller high resolution data cells are contained within the larger low resolution data cells, label area is conserved. The use of multiple resolution optically encoded labels improves the speed and ease of reading high priority data. For example, in the package sorting example cited above, a parcel may have zip code data encoded in the large data cells, which is then reliably and rapidly read at low resolution at many different locations, e.g. at many sorting stations while travelling at very high conveyor belt speeds. The small data cells may encode package identification, destination address, class of service, shipper identification and the like, which need not be read at every sorting location. The typical sorting station reader is required to read the large cell zip code data only. Thus, sorting station readers would be simplified, permitting the use of a low resolution imager and fixed focus optics which in turn reduces the required system image memory and necessary data processing speeds. At other optical read stations, where high resolution low priority data (e.g. shipper identification, etc.) is needed, a high resolution reader can be used to read the high resolution data contained in the smaller data cells. In many cases, the high resolution reader may be a low volume type of reader such as a hand-held reader, wherein high resolution image processing is easier to implement than in a high speed conveyor belt reader. In another aspect of the invention there is provided a method of encoding information in optically-readable form on a label in which information is encoded by means of a plurality of information-bearing cells each of which exhibits an optical property dependent on the information encoded, and in which an acquisition target is applied to said label. The method is characterised as set forth in Claim 11. Other aspects of the invention relate to a method and a reader for reading an optically encoded multiple resolution label having lower resolution first information encoded data cell units, higher resolution second information encoded data cells contained within said first information encoded data cell units and encoding data independently of said lower resolution first information encoded data cell units, and a finder pattern functioning as an acquisition target, said first information coded data cell units being located outside said finder pattern. The method and reader are set forth in Claims 24 and 25 respectively. The invention also relates in still further aspects to a sorting system for sorting items each having a multiple resolution optically-encoded label thereon as set forth in Claim 22 and a method for sorting items as set forth in Claim 23. Finally, the use of multiple resolution optically encoded labels in accordance with the present invention permits a complex optical reader system to be deployed in stages. In the first stage, only low resolution labels and low resolution readers are used for basic system functions, in this case, for sorting packages. For the first stage, labels containing only low resolution data are easier to print. At a later stage, printed labels would also contain high resolution data, and high resolution readers would then be deployed whenever needed. The low resolution readers previously installed would not become obsolete since the low resolution readers can still read the low resolution information of the multiple resolution optically encoded label. The invention and its practice will now be further described with reference to the accompanying drawings, in which: Figure 1 illustrates a multiple resolution optically encoded label in accordance with the present invention. Figure 2 illustrates a multiple resolution optically encoded label of the present invention viewed at low resolution. Figures 3a and 3b show various cell shapes which may be used in a multiple resolution optically encoded label in accordance with the present invention. Figure 4a illustrates a multiple resolution optically encoded label in accordance with the present invention using a generally rectangular geometric array of rectangular data cells. Figure 4b is a multiple resolution optically encoded label of Figure 4a when viewed at low resolution. Figures 5a, 5b, and 5c illustrate high resolution encoding techniques for use in the practice of the present invention. Figures 6a, 6b, and 6c illustrate various forms of finder patterns for use in the practice of the present invention. Figures 7a, 7b, and 7c illustrate alternate forms of finder patterns which may be used in the practice of the present invention. Figures 8a through 8f illustrate alternative embodiments of multiple resolution optically encoded data cells in accordance with the present invention. Figure 9 is a detail illustration of a single finder pattern spot for use in the practice of the present invention. Figure 10 is a block diagram of a multiple resolution optically encoded label reader in accordance with the present invention. Figure 11 is flow chart representation of the method of finding and reading a multiple resolution optically encoded label in accordance with the present invention. Figures 12 and 12a is a flow chart representation of the program for detecting a finder pattern for use in the practice of the present invention. Figures 13a and 13b flow chart illustrating the program for reading both high resolution data and low resolution data encoded on a multiple resolution optically encoded label in accordance with the present invention. Figures 14a and 14b illustrate the process for reading low resolution data cells of a multiple resolution optically encoded label in accordance with the present invention. Detailed description A multiple resolution optically encoded label 10 is shown in Figure 1. The label 10 includes 7 white finder spots 16A-16G. Data is encoded in the label in the form of low resolution encoded cells, such as cell 12 and high resolution encoded cells, such as cell 14. At low resolution, the label of Figure 1 appears as shown in Figure 2. At low resolution, the high resolution encoded cell 14 is not visible. However, at low resolution, the low resolution data cell 12 is visible and appears as a dark cell. Seven finder pattern spots 16a through 16f, viewed at low resolution, are visible as light cells. In Figure 3a, a label 19 is illustrated using hexagonally shaped large data cells for encoding low resolution information. A finder spot 18, one of 7 finder spots, is also shown having a generally hexagonal shape. In Figure 3b, a label 21 having low resolution encoded information in the form of circular cells as shown. In this case a finder spot 20, one of 7 finder spots, is formed by the 6 circular low resolution dark data cells surrounding finder spot 20. An alternative embodiment of a multiple resolution optically encoded label 22 is shown in Figure 4a. The label 22 contains low resolution encoded data cells, such as cell 24, and at the same time includes high resolution encoded data cells, such as cell 26. When viewed at low resolution, the label of Figure 4a appears as shown in Figure 4b. At low resolution, the high resolution data cell 26 is not visible. However, at low resolution, the low resolution data cell 24 is visible and appears as a light cell. Four finder pattern spots 28a through 28d, viewed at low resolution, are visible as light cells. A preferred embodiment of an optically encoded label illustrating the manner in which high resolution data is encoded on the same label area as low resolution data, is shown in Figure 5a. A large cell 30 contains two contrasting small cells, or subcells. The small cells can be in any of the positions 1 through 7. High resolution information is encoded by the position of the two contrasting small cells within the large cell 30. In particular, cell 3 and cell 6, have a contrasting optical property as compared to the large cell 30. Similarly, cells 32 and 34 have a contrasting optical property as compared to the large cell 36, but are placed at different small cell positions. Specifically, there are 21 possible combinations for placement of two cells out of 7 having a contrasting optical property. Therefore, each low resolution large cell can encode an additional 4.39 bits of information (logarithm base 2, of 21). The small cells within a large cell should be limited in size and number to keep the optical property of the large cells from changing appreciably. Therefore, during processing of the large data cells, only the large cell low resolution image data is processed, at which time the small cell high resolution image data is not visible so as to not interfere with the decoding of the large cell low resolution image data. To maximize the readability of the high resolution information, cells 3 and 6 could be made black while remainder of the large cell be made white. However, at low resolution, it is desired that the low resolution cell 30 appear as though completely white or black. Therefore, it is preferable that cell 3 and cell 6 be somewhere intermediate on the grey scale between black and white in order to aid in the reliable reading of low resolution data. For example, large cell 36 will appear as a black cell at low resolution. High resolution small cell 32 and small cell 34 have a contrasting optical property somewhere intermediate on the grey scale between black and white. Thus, the contrasting optical property of the small cells should be sufficient to permit the reading of high resolution data, while not appreciably changing the optical property of the large cell 36 when viewed at low resolution. Figure 5b shows how the optical property of the small cells may be further optimized for certain situations. In Figure 5a the contrasting optical property of the small cells 3, 6, 32, 34 are the same grey value for large white cell 30 as for large dark cell 36. However, as shown in Figure 5b, it may be desirable to use light grey small cells 44 and 46 within a large dark cell 48, and dark grey small cells 38 and 40 within a large cell 42 in order to increase the contrast of the small cell to the large cell. Conversely, as shown in Figure 5c, if it is desired to increase the contrast between large cells, i.e. the optical property of large cell compared to other large cells, then dark grey small cells 56 and 58 may be used within a large dark cell 60, and light grey small cells 50 and 52 may be used within a large light cell 54. The choice of grey scale optical value of the small cells is a balance between the ease of reading the high resolution data cell, or the ease of reading the low resolution data cell. In any event, the position of the small cells within the large cell encodes the high resolution information, while the optical property of the large cell viewed at low resolution, including the contribution of the small cells, determines the value of the large cells. Since there are always two small cells within each of the large cells for all values of encoded data, the optical property of the large cells viewed at low resolution does not change appreciably for different encoding of the small cell high resolution data. The total information content of one large cell includes 4.39 bits of small cell information plus 1 bit of large cell information, or a total of 5.39 bits, compared to the 7 bits which could be encoded if only a high resolution black and white system was used. Due to the enhanced data reliability of the large cells and the consequent reduced need for error correction, the data density achieved by the multiple resolution optical encoded label of the present invention is comparable to the data density of prior art high resolution systems, while providing the additional advantages of multiple resolution encoding. Other embodiments of multiple resolution encoding is shown in Figures 8a through 8f. The high resolution information is encoded within low resolution data cells based on the position, number, shape, orientation, optical property, or size of the low resolution data cell. For example, Figure 8a shows how high resolution information can be encoded by placing a small contrasting cell 74 at different cell position 78 within the large low resolution cell 76. Figure 8b shows how high resolution information can be encoded by placing varying numbers of small contrasting cells, i.e. a single cell 80 or two small cells 82 and 84 within a large low resolution cell 76. Figure 8c shows how high resolution information can be encoded by placing small contrasting cells of different shapes within the large cell 76, such as square cell 86 or circular cell 88. Figure 8d shows how high resolution information can be encoded by changing the orientation of a small contrasting cell 90 within the large low resolution cell 76, i.e. at a 45 degree angle shown by the position of cell 92. Figure 8e shows high resolution information encoded by placing small contrasting cells of different optical properties such as light cell 94 or grey cell 96 within the large low resolution cell 76. Finally, Figure 8f shows high resolution information encoded by placing a contrasting cell of different size such as a small square 98 or a larger square 100 within the large low resolution cell 76. Various combinations of the foregoing methods of encoding may be used, as for example, by varying the number of small cells and at varying positions. As will be recalled, the finder pattern consists of an array of 7 spots arranged in a hexagonal geometric pattern. Specifically, Figure 6A shows the finder pattern 62 for use in conjunction with the present embodiment, when viewed at low resolution. The finder pattern 62 consists of 7 spots, 62a through 62g, which are at the 6 points at the vertices of a regular hexagon plus the center point. Alternative finder patterns are shown in Figure 6b wherein a finder pattern 64 consists of 7 hexagonal spots 64a through 64g, and in Figure 6C wherein the finder pattern may alternatively consist of 7 circular spots 66a through 66g. A finder pattern, which is composed of a predetermined geometric array of large data cells provides a pattern which is easy to distinguish from common backgrounds, provides some label orientation information, and also provides large cell to large cell spacing information useful in the decoding process. An apparatus for processing a multiple resolution optically encoded label is shown in Figure 10. The overall method illustrated in the flow chart of Figure 11. As shown in Figure 11, the processing of label 140 to provide a decoded label output 154 is divided into two main processes: a find algorithm, and a read algorithm. An image which may include an optically encoded label is acquired by image acquisition subsystem 142. The spots are detected and the finder pattern is located at step 144. The finding algorithm is carried out by two programmable hardware elements, a digital signal processor (DSP 132 in Figure 10) and an application specific integrated circuit (ASIC 124 in Figure 10). A DSP suitable for use in the present invention is the ADSP 2101 available from Analog Devices, Norwood, Mass. After the label has been located, i.e. found within the image buffer memory, the location and value of the large cells is determined at step 146, and the low resolution data is then read out and decoded at step 148. If the label also contains high resolution data, then the value of the small cells is determined at step 150. The high resolution data read out and decoded at step 152. The read algorithm is carried out by a separate processor (main processor 138 in Figure 10). The main processor 138 may be implemented in a high speed microprocessor such as the TMS320C30 available from Texas Instruments, Dallas Texas. Figure 10 is a block diagram of a multiple resolution reader system implementing the flow chart of Figure 11. The image acquisition system comprises an illumination source 110, and suitable optics 112 for forming an image containing the image of a multiple resolution optically encoded label on image sensor 114. Thereafter, analog to digital converter 116 digitizes the acquired image. If only low resolution data is required, then a low resolution image acquisition system is used. In a low resolution reader, the output of the analog to digital converter 116 would go directly to a low resolution image buffer 120. Alternatively, if both high resolution and low resolution data are required, then a high resolution image acquisition system is used. In a high resolution reader, the output of analog to digital converter 116 would be stored in a then required high resolution buffer 122. A low resolution image of the label, to be used for processing purposes, would be created by down sampling or by using a low pass filter 118 to remove image details thereby creating a low resolution image for storage in low resolution image buffer 120. The low resolution image in buffer 120 is used for label finding and for low resolution data decoding. The image acquisition subsystem is controlled by ASIC 124, which is in turn controlled by digital signal processor (DSP) 132. DSP 132 has an associated DSP program memory 130 and DSP data memory 128. A separate processing element, main processor 138 and its associated main program memory 136 and main data memory 134 is provided for reading the label. In operation, a signal on terminal 126 to initiate label reading is provided to DSP 132. DSP 132 and ASIC 124 control the image acquisition system and process the acquired image so as to find, or locate, a multiple resolution optically encoded image. The location of the acquired image is transferred to main processor 138, where the acquired image is processed to read and decode the encoded label data for output on terminal 139. Figure 12 illustrates the algorithm for finding a multiple resolution optically encoded label which is stored somewhere within the field of view of the image acquisition system buffer memory. The find program is carried out by coordination between the ASIC 124 and the DSP 132 (from Figure 10). The first step in the finding algorithm of Figure 12 is to detect spots at step 156, looking for finder spots. Spots, as characteristic formations, are readily detected and are distinguishable from typical background clutter. The spot detector examines each pixel in the low resolution image buffer looking for pixels of one chosen optical value surrounded by pixels of a contrasting optical value (e.g. light spots surrounded by dark spots). With reference to Figure 9, the spot detector individually compares the value of a chosen pixel, such as at coordinate position (3,3) with the values of selected surrounding pixels that are approximately one large cell, i.e. one spot diameter D away from the chosen pixel, such as (6,3) which is on a circle of radius D, and (5,1) which is close to but not exactly on a circle of radius D. Thus, the 8 pixel values at the coordinate positions shown in Figure 9, which are approximately a distance D from the center of finder spot 101 are compared with the pixel value at the center of spot 101. In this embodiment, spots are equals to one large data cell 101. The spot detector 156 indicates that a spot has been found if 7 of the 8 pixels approximately one cell diameter D away from the center of spot 101 at coordinates (3,3), are of contrasting optical value. Thus, only spots of the correct size (one large cell size) survive the spot detector. Text, bars, constant backgrounds, or anything else of a non-spot nature is not detected. The process is repeated over the entire area of the image memory on a pixel-by pixel basis. As the process is carried out, the coordinates of those pixels which pass the spot detector test are transferred to the DSP 132 (Figure 10) at step 158 in Figure 12. As the DSP accumulates detected spots, each pair of spots is examined in the DSP to find an adjacent pair of spots at step 160. That is, any two spots which are approximately the proper distance apart, i.e. which correspond to the predetermined distance between finder spots, constitute a potential pair of spots at step 160. Thereafter, the DSP will attempt to fit the remaining spots to the known predetermined geometric arrangement of the finder pattern at step 162. Further detail on the steps for fitting detected spots to the finder pattern geometry at step 162 is illustrated in the flow chart program of Figure 12a. The fitting algorithm is based on the observation that any pair of spots of the 7 spot finder pattern constitute either an edge or a radius of the finder pattern. The first step is to assume that the two adjacent spots define an edge of a regular hexagon at step 168 in Figure 12a. Then, at step 170 all the other surrounding spots which had been detected by the spot detector will be compared to the known geometric arrangement of the finder pattern, i.e. a test pattern. If the test match indicates that there is a match, i.e. 5 out 7 potential finder spot locations match actual detected finder spots, at step 170, then the program exits indicating that a label has been found. If the test match does not indicate a match at step 170, then the test pattern used for comparison at step 172 is flipped. Flipping the test pattern corresponds to an assumption that the assumed pair of detected spots do define an edge, but that the remainder of the finder spots fall opposite the assumed test pattern as a mirror image. In the latter case, only 2 out of 7 detected spots, i.e. the adjacent pair of spots, will match the test pattern. Flipping the test pattern at step 172 and again testing whether or not 5 of the 7 spots match the test pattern at step 174 will resolve the ambiguity. If 5 of the 7 spots match the flipped test pattern at step 174, then a label is considered found. If, on the other hand, 5 out of 7 of the spots did not match the test pattern, then an assumption is made that the pair of spots define a radius at step 176. The actual spots detected are again tested to match 5 out of 7 spots to the known geometric arrangement of the finder pattern at step 178. If 5 out of 7 of the spots match, then the label is considered found. However, if the test fails, then the test pattern is flipped at step 180 and again tested for a match at step 182. Flipping the test pattern corresponds to an assumption that the assumed pair of detected spots do define a radius, but that the assumed test pattern of the finder spots is a mirror image of the actual finder pattern. In the latter case, only 4 out of 7 detected spots will match the test pattern. Flipping the test pattern at step 180 and again testing whether or not 5 of the 7 spots match a predetermined test pattern at step 182 will resolve the ambiguity. If 5 out of 7 match at step 182, the label is considered found. However, if all test matches 170, 174, 178, 182 fail, then no label is considered found. Returning to the flow chart of Figure 12, if no label is considered found at step 162, then the program is reentered at step 160 to find a different pair of adjacent spots. The process is carried out continuously as the coordinates of additional detected spots are transferred to the DSP at step 158. Eventually, when a label is found, the coordinates of the 7 cell finder pattern are transferred to the main processor at step 164. The ASIC 124 (Figure 10) is then commanded to transfer the image area of interest surrounding the 7 cell finder pattern to the main processor at step 166, and the read program, stored in the main processor program memory, is entered. The foregoing method of finding allows rapid and reliable finding of a target and label, even when a large amount of area must be processed. Other types of finder patterns consisting of an array of spots in a predetermined geometric pattern may be used. Figures 7a, 7b, and 7c illustrate a variety of alternative finder patterns. Specifically, in Figure 7a an asymmetrical finder pattern 68 consisting of 4 circular spots 68a through 68d is illustrated. A finder pattern 70 consisting of 4 square spots 70a through 70d arranged in a square geometric pattern is shown in Figure 7b. Yet another alternative embodiment of a finder pattern is shown in Figure 7c wherein finder pattern 72 consists of 4 square spots 70a through 70e arranged in a symmetrical cross pattern. The finder pattern can be asymmetrical, or symmetrical about a single axis as in Figure 7a, which also provides non-ambiguous orientation information regarding the found label. The geometric arrangement of the finder pattern need only be predetermined so that detected spots can be matched to the predetermined pattern, and that the location of any one spot of the finder pattern can be determined by geometry from some or all of the other spots of the finder pattern. The geometric pattern of the finder spots can be regular, symmetrical, asymmetrical, or pseudorandom. Once the label has been found, the main processor 138 in Figure 10 reads the label as follows: 1) Construct a 19 point large cell center sampling pattern for sampling large cell centers. 2) Determine the location of the large cell centers using the maximum standard deviation of the 19 point large cell center sampling pattern. 3) Decode large cell information. 4) Determine the position of the small cells within the large cells from the known location of the large cell centers. 5) Decode the small cell information. When both high resolution and low resolution data is present, the reader would first process the low resolution data to find the coordinates of the centers of the large data cells. Once the centers and the optical values of the large data cells are determined, the high resolution data cells may be located relative to the low resolution data cells and then directly read out. The process for reading the large cell low resolution data is the same whether small cell high resolution data is present or not. The read program which is carried out by the main processor is illustrated in the flow chart of Figures 13a and 13b. The first step in reading the label is to construct a 19 point large cell center sampling pattern based on the known geometry of the array of large cells contained in a label as shown in figure 14a. The 19 point large cell center sampling pattern is comprised of a series of coordinates that are relative to and surrounding any arbitrary central pixel 206. The geometry of the 19 point large cell center sampling pattern is constructed such that if the central pixel 206 is the center of a large cell, each of the other points 208, 210 in the 19 point large cell center sampling pattern will also be in the center of the large cells surrounding the central pixel 206 of the central large cell. In order to construct the 19 point large cell center sampling pattern, the accurate location of the 7 finder spots are first determined. Accurate locations (e.g. central pixels) of the finder pattern spots are determined by searching the area in the immediate vicinity of each spot identified by the spot detector for a pixel grouping of maximum value. If the number of spots identified by the finder is less than the expected number of spots, accurate locations of the identified spots are first determined, then using the known expected geometry of the finder and label, the locations of the missing finder spots are computed. Starting from the actual geometry of the detected and/or computed 7 finder spots, and the expected geometry of the label, 12 additional large cell center coordinates are computed. The constructed 19 point large cell center sampling pattern is shown in Figure 14a superimposed on the data array as well as shown separate from the data array for clarity. The 19 point large cell center sampling pattern is used to locate the center of each large cell by choosing a center pixel, and then taking the standard deviation of the center pixel and all of the surrounding pixels determined by the sampling pattern. If the sampling pattern is centered on the cells, the standard deviation will be high. As the sampling pattern is moved away from cell centers, the standard deviation becomes low. The standard deviation is a statistical measure of the differences among a set of values. The standard deviation computation is well known in the field of mathematics. Briefly, if all numbers in a set are approximately equal to each other, the standard deviation is very low. If half the numbers in a set are at some minimum and the other half are at some maximum, the standard deviation will tend to be highest. The standard deviation for the 19 point cell center sampling pattern will be maximum when it is positioned near the center of the large data cells, because at least some of the 19 data cells covered will be of one optical value, while others will be of the opposite optical value. Conversely, the standard deviation for the 19 point cell center sampling pattern will be minimum when it is positioned near the edges of the large data cells, where optical values tend to be grey in the transition areas between large data cells. In operation, the central pixel 206 of the central finder spot or large cell, is used as the starting point of the determination of the locations of all the large cell centers. The sampling pattern is overlaid at this position, and the standard deviation of all pixels of the sampling pattern is computed at step 186. Additional sampling pattern standard deviations are computed using the sampling pattern where each of the pixels surrounding the original central pixel are used as the central pixel in step 188 until all surrounding pixels are used as the central pixel of the 19 point cell center sampling pattern at step 190. The goal is to maximize the standard deviation of the sampling pattern within a small neighborhood of pixels. When the standard deviation is maximized, the coordinates of all points in the sampling pattern at the maximized location are recorded (these are expected centers of large cells). One standard deviation maximization provides a list of coordinates for possible large cell centers for all of the 19 points in the large cell center sampling pattern. Thus, the 19 point cell center pattern position having the maximum standard deviation will be selected as the true centers of the 19 data cells at step 192. The 19 corresponding cell centers are stored in memory at step 192. The process is then repeated for the entire label, each time starting with an unsearched central cell location adjacent to the cell where the standard deviation was greatest. In each new position, the steps of maximizing the standard deviation at steps 186 and 188 is repeated. The result will yield another set of 19 cell centers based on the new computed maximum standard deviation. The process is repeated for each large data cell until the entire label image area has been processed at step 196. The net result of this process is a large quantity of coordinate values for the large cell centers. The final step in determining the cell centers is to take the average of coordinates recorded for each cell at step 198. These are the best cell coordinate estimates. Before reading the data stored in the large cells, a histogram of all grey values at the cell center coordinates is taken in order to determine a threshold level between light and dark cells. The value of each large cell is then determined by comparing it to the computed threshold value. Once the centers of the large cells are known and the optical threshold level is determined, it is a relatively simple matter to read out the pixel values using the computed cell center averages at step 200. If no high resolution data is present, the program exits at this point. If however high resolution data is present, then the high resolution data is read out at step 204. Since the center of the low resolution large cell has been accurately determined, position of the high resolution cells can be determined relative to the computed center and read out directly. This method of dead reckoning from the computed large cell center to find the small cell centers is practical because of the small distances between the center of the large cell and any of the small high resolution cells. It is noted that the finder pattern will determine the orientation of the label along one of six potential axis. The ambiguity is resolved by reading out the data in all six directions. The encoding will only permit a successful decode in the correct orientation. Therefore, decoding is attempted in all six directions until a successful decode is achieved. In the preferred embodiment, there are 150 large cells. The finder target requires 31 cells, leaving 119 large cells (or bits) for low resolution encoding of high priority data. Ultimately, the encoding capability of the 119 low resolution data cells is approximately 5 to 20 characters, depending the type of error correction used and the number of bits per character. In general, since the image acquisition system performs better with larger optical features, i.e. large cell sizes, less error correction is required. High resolution information is encoded on top of the 119 low resolution information large cells, and also on the 24 large dark cells surrounding the 7 light finder target spots. The actual finder target spots are not used for high resolution information due to the critical nature of the finder spots in the label finding process. Therefore, the total large cells available for high resolution encoding is 119 plus 24 or 143 total. At 4.39 bits per large cell, the high resolution cells provide an additional 627 bits available for data encoding. For simplified encoding, each large cell may encode 4 high resolution data bits. Thus, depending on the type of error correction, and the number of bits per character, the high resolution portion of the label can provide between 30 to 150 additional characters of information. Thus, the label contain 119 bits of low resolution information plus 627 bits of high resolution information for a total of 746 bits. The total number of bits in the label, and the allocated portion of the total bits to high priority data (low resolution) versus low priority data (high resolution) data can be increased or decreased by varying the overall size of the label and/or varying the ratio of the large cell size to the small cell size. In general, it is desirable to apply error correction to both the low and high resolution encoding and decoding process to insure a very high degree of data integrity upon decoding the message. Conventional error correcting techniques familiar to those skilled in the art may be used in the encoding and decoding processes. The high resolution decode begins at the center of each large cell and determines the location of the small cells contained within the large cells. Once the locations of the small cells within the large cells are determined, the encoded data can be recovered in a procedure that is the inverse of the encoding procedure. Figure 14b illustrates the effect of a tilted label and how the present system compensates for the resulting distortion. Since the label in Figure 14b is tilted, width 214 will be less than the width 212 in Figure 14a. However, since the geometric arrangement of the finder pattern is analogous to the geometric arrangement of the data array, then the geometric pattern of the 7 cell finder pattern will contain the same distortions along the same axis as the label 10. Consequently in Figure 14b, distance between cell centers 206a and 208a will be less than the distance between cell centers 206 and 208 in Figure 14a. However, since the distortion in this example is only along one axis, the distance between cell center 208a and cell center 210a in Figure 14b will be the same as the distance between cell center 208 and cell center 210 in Figure 14a. In general, the detected 7 cell finder pattern will reflect any distortions found in the label. Furthermore, any distortions in the detected 7 cell finder pattern will be incorporated into the constructed 19 point large cell center sampling pattern, including any distortions due to magnification and tilt. Since the 19 point large cell center sampling pattern shown in the right-hand portion of Figure 14b contains the same distortions as found in label, the locations of the cells in the label will still be accurately found. Finally, averaging the large number of data points collected for each of the large data cell locations using the 19 point large cell center sampling pattern, tends to produce an accurate value of the true center location of each of the large data cells. Most of the advantages of low resolution encoding and decoding are realized in the image acquisition system. The depth of field increases, permitting the use of fixed focus optics having reduced tolerances, and the required illumination power is reduced. The required size of the image buffer memory is reduced, and the data processing requirements are reduced as a result of having less data at a slower rate to process. For example, low resolution information may be sampled at 32 pixels per inch at 4 bits per pixel. A large cell which has a diameter of 3 pixels results in 2 to 3 samples per cell. The diameter of the high resolution cells is approximately 1/3 the diameter of the low resolution cells. Therefore the optics and imager in a high resolution system must resolve features 3 times smaller than a low resolution system. Therefore it may be necessary to use a lens with variable focus and/or zoom, a distance measuring device to measure the label distance in order to set the focus and/or zoom prior to capturing the image. The imager must be of higher resolution. Finally, the high resolution image buffer must be at least 9 times the size of the low resolution image buffer since the sampling factor is increased by a factor of 3 in both directions. The label, process and system of the present invention takes advantage of the the low resolution large cell features, while encoding high resolution data at a very high density. If only low resolution data is necessary, the overall optical reader system is much less complex than a high and low resolution system. Only when high resolution data is necessary, will the additional complexity of a high resolution optical reader system be required.

Claims: An optically-readable label having information encoded thereon by means of a plurality of information-bearing cells each of which exhibits an optical property dependent on the information encoded and having an acquisition target, characterized by: a plurality of information-bearing cell units (24, 30, 36, 42, 48, 54, 60, 76) each encoded with a part of first information; a plurality of information-bearing cells (26, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 74, 78-100) each of which is smaller than and is contained within the space occupied by a said cell unit, each of said plurality of information-bearing cells being encoded with a part of second information; and wherein each of said plurality of cell units encodes part of said first information by exhibiting an optical property dependent on said first information part and is readable at a lower resolution, and in each of said plurality of cell units, the smaller cell or cells contained therein encode part of said second information by exhibiting an optical characteristic dependent on said second information part and readable at a higher resolution, and said plurality of cell units being located outside a finder pattern (62, 64) functioning as said acquisition target. A label as claimed in Claim 1 in which said finder pattern (62, 64) comprises a plurality of finder spots (16A-16G, 28A-28D, 62A-62G) bearing neither first nor second information. A label as claimed in Claim 1 or 2 in which each cell unit contains one or more smaller cells encoding part of said second information by the position of said smaller cell(s) in the cell unit. A label as claimed in Claim 1 or 2 in which each cell unit comprises a plurality of polygonal cells and each of said plurality of smaller cells comprises a respective polygonal cell of a cell unit. A label as claimed in Claim 1 or 2 in which each cell unit comprises seven hexagonal cells and two of said hexagonal cells exhibit a different optical property to the remaining cells, whereby the cell unit exhibits one optical property pertaining to part of said first information at a lower optical resolution, and the positions of said two cells exhibiting a different optical property encode part of said second information detectable at a higher optical resolution. A label as claimed in any one of Claims 1 or 2 in which in each cell unit part of said second information is stored by the number of said second information bearing smaller cells within the cell unit. A label as claimed in any one of Claims 1 or 2 wherein said second information is encoded by the shape of each of said second plurality of smaller cells. A label as claimed in any one of Claims 1 or 2, wherein said second information is encoded by the orientation of each of said plurality of second smaller cells. A label as claimed in any one of Claims 1 or 2, wherein said second information is encoded by the reflective optical property of each of said plurality of second smaller cells. A label as claimed in any one of Claims 1 or 2, wherein said second information is encoded by the size of each of said plurality of second smaller cells. A method of encoding information in optically-readable form on a label in which information is encoded by means of a plurality of information-bearing cells each of which exhibits an optical property dependent on the information encoded, and in which an acquisition target is applied to said label, characterized by: providing first and second information; encoding each of said plurality of cell units (24, 30, 36, 42, 48, 54, 60, 76) with a part of said first information; encoding each of a plurality of cells (26, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 74, 78-100) with part of said second information, each cell being smaller than and contained within the space occupied by a said cell unit; and wherein each of said cell units is encoded with part of said first information to exhibit an optical property dependent on said first information part and is readable at a lower resolution, and in each of said cell units the smaller cell or cells contained therein are encoded to exhibit an optical characteristic dependent on part of said second information and readable at a higher resolution; and providing said acquisition target in the form of a finder pattern (62, 64) such that said cell units are located outside said finder pattern. A method as claimed in Claim 11 in which said finder pattern (62, 64) comprises a plurality of finder spots (16A-16G, 28A-28D, 62A-62G) bearing neither first nor second information. A method as claimed in Claim 11 or 12 in which each cell unit contains one or more smaller cell(s) encoding part of said second information by the position of said smaller cell in the cell unit. A method as claimed in Claim 11 or 12 in which each cell unit comprises a plurality of polygonal cells and each of said plurality of smaller cells comprises a respective polygonal cell of a cell unit. A method as claimed in any one of Claims 11, 12 or 13 in which each of said second plurality of smaller cells is contained within a said cell unit. A method as claimed in Claim 11 or 12 in which each cell unit comprises seven hexagonal cells and two of said hexagonal cells exhibit a different optical property to the remaining cells, whereby the cell unit exhibits one optical property pertaining to part of said first information at a lower optical resolution, and the positions of said two cells exhibiting a different optical property encode part of said second information detectable at a higher optical resolution. A method as claimed in Claim 11 or 12 in which in each cell unit part of said second information is stored by the number of said second information bearing smaller cells within the cell unit. A method as claimed in Claim 11 or 12 wherein said second information is encoded by the shape of each of said second plurality of smaller cells. A method as claimed in Claim 11 or 12, wherein said second information is encoded by the orientation of each of said plurality of second smaller cells. A method as claimed in Claim 11 or 12 wherein said second information is encoded by the reflective optical property of each of said plurality of second smaller cells. A method as claimed in Claim 11 or 12, wherein said second information is encoded by the size of each of said plurality of second smaller cells. A sorting system for sorting items each having a multiple resolution optically encoded label thereon, said multiple resolution optically encoded label having lower resolution first information encoded data cell units (24, 30, 36, 42, 48, 54, 60, 76) encoding sorting information for the item, higher resolution second information encoded data cells (26, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 74, 78-100) contained within said first information encoded data cell units and encoding other identifying information for the item, and a finder pattern (62, 64) functioning as an acquisition target, said first data cell units being located outside said finder pattern, said sorting system being operable to sort items by reading information encoded on the respective label thereon, and comprising: means (112, 114, 120, 124, 132, 138) at a first location in said sorting system for acquiring said label by detecting said finder pattern and decoding a multiple resolution optically encoded label on an item to read said lower resolution sorting information from said first information encoded data cell units; means for sorting the item pertaining to the decoded label in response to said decoded lower resolution sorting information; and means (112, 114, 122, 124, 132, 138) at a second location in said item sorting system for acquiring said label by detecting said finder pattern and decoding said multiple resolution optically encoded label to read said higher resolution encoded other identifying information from said second information encoded data cells. A method for sorting items comprising: optically encoding a label having multiple resolutions of information encoded on each item, said optically encoded label having lower resolution first information encoded data cell units (24, 30, 36, 42, 48, 54, 60, 76) encoding sorting information for the item, higher resolution second information encoded data cells (26, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 74, 78-100) contained within said first information encoded data cell units and encoding other identifying information for the item, and a finder pattern (62, 64) functioning as an acquisition target, said first information encoded data cell units being located outside said finder pattern; acquiring (142, 144) said label by detection of said finder pattern at a first location, and decoding (148) at said first location said multiple resolution optically encoded label on an item to read said lower resolution sorting information from said first information encoded data cell units; sorting the item pertaining to the decoded label in response to said decoded lower resolution sorting information; and acquiring (142, 144) said label by detection of said finder pattern at a second location, and decoding (152) at said second location said multiple resolution optically encoded label to read said higher resolution encoded other identifying information from said second information encoded data cells. A method for reading an optically-encoded multiple resolution label having lower resolution first information encoded data cell units (24, 30, 36, 42, 48, 54, 60, 76), higher resolution second information encoded data cells (26, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 74, 78-100) contained within said first information encoded data cell units and encoding data independently of said lower resolution first information encoded data cell units, and a finder pattern (62, 64) functioning as an acquisition target, said first information encoded data cell units being located outside said finder pattern, said method comprising: capturing (142) a two dimensional image for storage in a memory, said stored two dimensional image containing an image of said optical encoded multiple resolution label anywhere within the field of view of said stored two dimensional image; detecting (144) said finder pattern to locate said optically encoded multiple resolution label within said stored two dimensional image; decoding (148) said lower resolution first information encoded data cell units located outside the finder pattern; and decoding (152) said higher resolution second information encoded data cells. A reader for reading an optically-encoded multiple resolution label having lower resolution first information encoded data cell units (24, 30, 36, 42, 48, 54, 60, 76), higher resolution second information encoded data cells (26, 32, 34, 38, 40, 44, 46, 50, 52, 56, 58, 74, 78-100) contained within said first information encoded data cell units and encoding data independently of said lower resolution first information encoded data cell units, and a finder pattern (62, 64) functioning as an acquisition target, said first information encoded data cell units being located outside said finder pattern, said reader comprising: means (112, 114) for capturing a two dimensional image for storage in a memory, said stored two dimensional image containing an image of said optical encoded multiple resolution label anywhere within the field of view of said stored two dimensional image; means (132) for detecting said finder pattern to locate said optically encoded multiple resolution label within said stored two dimensional image; means (120, 138) for decoding said lower resolution first information encoded data cell units located outside said finder pattern; and means (120, 138) for decoding said higher resolution second information encoded data cells.

Inventors: BATTERMAN ERIC P, CHANDLER DONALD G, BATTERMAN, ERIC P., CHANDLER, DONALD G.
Applicants: OMNIPLANAR INC, OMNIPLANAR, INC.
Application year: 1991
Main classification: G06K19
IPC codes: G06K19, G09F3, G11B7, G06K7