|Publication number||US5523552 A|
|Application number||US 08/327,531|
|Publication date||4 Jun 1996|
|Filing date||19 Oct 1994|
|Priority date||19 Oct 1994|
|Publication number||08327531, 327531, US 5523552 A, US 5523552A, US-A-5523552, US5523552 A, US5523552A|
|Inventors||Stephen J. Shellhammer, Joseph Katz, Ron Goldman|
|Original Assignee||Symbol Technologies, Inc.|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (13), Referenced by (55), Classifications (7), Legal Events (7)|
|External Links: USPTO, USPTO Assignment, Espacenet|
1. Field of the Invention
This invention relates generally to the optical scanning of two dimensional bar code symbols and in particular to the optical scanning of a randomly oriented two-dimensional bar code symbol by first determining the orientation oil the symbol with respect to the field of view of the scanning device and then rotating the field of view accordingly so as to be aligned substantially with the symbol for scanning and further processing and decoding.
2. Description of Related Art
Bar codes have become broadly accepted as a means for automatically identifying objects. A bar code symbol is a pattern of parallel bars and spaces of various widths that represent data elements or characters. The bars represent strings of binary ones and the spaces represent strings of binary zeros. Generally, the bars and spaces can be no smaller than a specified minimum width which is called a "module" or "unit." The bars and spaces are multiples of this module size or minimum width.
The conventional bar code symbol is "one-dimensional" in that the bars and spaces extend only in a single direction. There has been an increasing need, however, for machine-readable symbols that contain more information than conventional bar code symbols. One approach for increasing the information in machine-readable symbols is to reduce the height of the bar codes and stack the bar codes one on top of each other to create a "stacked" or "two-dimensional" bar code. One such two-dimensional bar code is PDF417, which was developed by Symbol Technologies, Inc. The PDF417 symbology utilizes a variable number of codewords which are discrete representations of data. A complete description of the PDF417 code is contained in U.S. Pat. No. 5,304,786, which is assigned to the same assignee as the present invention and which is incorporated by reference herein. Other two dimensional bar code symbologies include Code 1 and Maxicode, which are referred to as matrix codes.
Both one-dimensional and two-dimensional bar code symbols are typically read by optical scanning techniques, such as scanning laser beams, and the resulting electrical signals are then decoded to recover the data encoded in the symbol. In particular, two-dimensional bar code symbols such as those in the PDF417 symbology are advantageously scanned by a two-dimensional rastering laser pattern, which is comprised of a series of horizontal scans repeatedly swept in a vertical direction, as described in U.S. Pat. Nos. 4,816,661 and 5,235,167, which patents are assigned to the assignee of the present application and are incorporated by reference herein. When scanning and decoding a two-dimensional bar code symbol, however, the horizontal scan lines of the laser raster must be aligned substantially with the horizontal rows of the symbol, usually within ±3 as shown in FIG. 1A. In FIG. 1A, the laser scan lines 1 form a field of view and are parallel with the horizontally located rows of a PDF417 symbol 3, which will allow successful decoding (in practice, the laser scanning device generates many more closely spaced scan lines 1 than actually shown in FIG. 1A, which has been simplified for purposes of clear illustration).
In FIG. 1B, however, the symbol 3a is tilted with respect to the scan lines 1 in the field of view such that the symbol 3a cannot be successfully decoded. Although a two-dimensional bar code such as PDF417 allows some deviation, the orientation of the field of view 1 must still be less than some maximum angle relative to the rows of the symbol.
When using a hand-held laser rastering scanner, it is fairly simple for the operator to physically align the raster pattern in the field of view with the two-dimensional symbol by rotating the reader and/or the object bearing the symbol until the requisite alignment of the field of view is obtained visually and the symbol is successfully read and decoded. There are many applications, however, in which it is desirable to be able to read and decode a two-dimensional bar code symbol that may be randomly oriented without having to manually move the reader such that the field of view is aligned with rows of the symbol. For example, in an industrial environment, the symbol may be located on an object moving along a conveyor belt where the reader views the symbol from above. Thus, the symbol may be in any orientation relative to the field of view of the reader. In addition, in a retail point-of-sale environment, the symbol may be located on an item presented to a cashier for purchase. The cashier typically puts the item bearing the symbol under a presentation scan lamp, which provides the appropriate laser scanning pattern. In thus desirable in this situation to allow the cashier to quickly present the item under the scan lamp without having to align the symbol with the raster pattern.
Bar code symbol reading devices are also known in the art which are based upon charge coupled device (CCD) imaging technology. For example, a two dimensional CCD array comprised of 512×512 elements may be used to capture an image of the entire target bar code symbol simultaneously, and the electric charge stored in each element as a function of the amount of light sensed by an area covered by each element is shifted out serially to form electric signals for further processing, digitizing and decoding. Image processing techniques allow such a CCD array to be used to read misoriented bar code symbols. For example, U.S. Pat. No. 5,319,181, issued to the assignee of the present invention, describes a technique to implement a CCD camera to capture a PDF417 symbol, store the image data in memory, and perform virtual scanning of the image data to determine the proper orientation of the symbol and enable successful decoding. These techniques, while satisfactory in many applications, do not allow high speed reading since the image memory must be repeatedly accessed in a random access manner. There is thus a need in the art for CCD based bar code symbol reading devices to be able to perform high speed reading of misoriented two dimensional bar code symbols.
It is therefore an object of the present invention to provide a method and apparatus for reading and decoding a two-dimensional bar code symbol regardless of its orientation with respect to the field of view of the symbol reading device.
It is a further object of the present invention to be able to calculate the angle of skew of the misoriented bar code symbol with respect to the field of view of the reading device in order to correct for the misorientation by rotating the field of view to the calculated angle.
In accordance with these and other objects, provided is a method and apparatus for automatically aligning a field of view of a two-dimensional bar code symbol reading device with a randomly oriented two-dimensional bar code symbol, wherein the symbol comprises a unique locatable pattern located along at least one side thereof, the method comprising the steps of scanning the symbol with a scan line extending through the pattern, detecting the pattern, measuring the length of the pattern detected by the scan line, and rotating by a predetermined amount the scan line about a point central in the field of view. These scanning, detecting, measuring, and rotating steps are repeated for a predetermined number of times. The rotation angle at which the pattern length is smallest is determined as a function of the measured pattern lengths, and the field of view of the symbol reading device is rotated to the determined skew angle so as to be aligned with the symbol for subsequent scanning and decoding.
In the preferred embodiment, a rastering laser two dimensional bar code reading device is used and the scan line is generated by a laser light source which is swept across the target bar code by a scanning element such as an oscillating mirror or the like. When the angle of skew is determined, the field of view of the rastering device is rotated to that angle, and a laser raster pattern is generated which is accordingly aligned with the target symbol.
In an alternative embodiment, a two dimensional CCD reading device is used and the scan lines are generated by a dedicated radial shaped CCD array comprised of a plurality of linear CCD arrays configured in a radial pattern, wherein each the data captured by each line of the array is accessed in a serial fashion. Once the skew angle of the symbol is calculated, the two dimensional CCD array is rotated about its center to the calculated angle, and the entire image of the target bar code symbol may be captured simultaneously.
In either type of reading device, the method of the angle determination step comprises the step of performing a least squares fit of the measured pattern lengths and known rotation angles. In the alternative, the angle estimation step comprises the step of performing a sequential least squares fit of the measured codeword lengths and rotation angles.
FIG. 1A is an illustration of a PDF417 bar code symbol being scanned by a laser raster pattern which is aligned with the horizontal rows of the symbol;
FIG. 1B is an illustration of a PDF417 label being scanned by a laser raster pattern which is tilted with respect to the horizontal rows of the symbol;
FIG. 2 is a diagram illustrating the modules and sequence of bars and spaces forming a codeword in the PDF417 format;
FIG. 3 is a block diagram showing the overall structure of a PDF417 symbol;
FIG. 4 is a functional block diagram of the preferred embodiment of the present invention which utilizes a rotating series of laser scan lines;
FIG. 5 is an illustration of a PDF417 symbol being scanned by a series of laser scan lines rotated at incrementally increasing angles;
FIG. 6 is an illustration of the codeword length and angle parameters implemented by the method of the present invention;
FIG. 7 is a flowchart of a first method of the present invention for aligning a field of view with a two-dimensional symbol;
FIG. 8 is a flowchart of a second method of the present invention for aligning a field of view with a two-dimensional symbol;
FIG. 9 is an illustration of a radial CCD array comprised of linear arrays radiating outwardly from a central point in order to obtain scan lines at incrementally increasing angles in accordance with an alternative embodiment of the invention;
FIG. 10 is a functional block diagram of an alternative embodiment of the present invention which utilizes the radial CCD array of FIG. 9;
FIG. 11 is an illustration of a mounting plate used to hold the radial CCD array of FIG. 9 and a two dimensional CCD array for image capture; and
FIG. 12 is an alternative embodiment of the radial array of FIG. 9.
Reference will now be made in detail to the preferred embodiment of the invention, an example of which is illustrated in the accompanying drawings. The present invention is implemented advantageously in conjunction with a two dimensional bar code symbol having a well defined pattern that is capable of being readily located by the bar code reading device. As will be described herein, the PDF417 symbology features such a pattern in its start and stop codewords, which border the symbol contiguously on the left and right sides, respectively. Thus, the preferred embodiment of the present invention is advantageously implemented in conjunction with two-dimensional bar code symbols encoded in the PDF417 format, which is described herein.
Each PDF417 symbol is composed of a stack of rows of bar-coded information. Each row in the symbol consists of a start pattern, several codewords, and a stop pattern. A codeword is the basic unit for encoding a value representing, or associated with, certain numbers, letters, or other symbols. Collectively, the codewords in each row form data columns.
Both the number of rows and the number of data columns of the PDF417 symbol are variable. The symbol must have at least three rows and may have up to ninety rows. Likewise, within each row, the number of codewords or data columns can vary from three to thirty.
Each PDF417 codeword consists of seventeen nodules or units. There are four bars and four spaces in each codeword. Individual bars or spaces can vary in width from one to six modules, but the combined total per codeword is always seventeen modules. Thus, each codeword can be defined by an eight-digit sequence, which represents the four sets of alternating bar and space widths within the codeword. This is called the "X-sequence" of the codeword and may be represented by the sequence X0, X1, . . . X7. For example, for an X-sequence of "51111125", the first element is five modules wide, followed by five elements one module wide, one element two modules wide, and the last element five modules wide. This example is illustrated in FIG. 2.
Given the constraints that there are seventeen modules per codeword, that there are four bars and four spaces per codeword, and that individual bars and spaces can vary from one to six modules, there are 10,480 unique codewords possible. This set of possible codewords is further partitioned into three available mutually exclusive subsets called "clusters." In the PDF417 symbol, each row uses only one of the three clusters to encode data, and each cluster repeats sequentially every third row. Because any two adjacent rows use different clusters, the decoder is able to discriminate between codewords from different rows within the same scan line.
The cluster number of a codeword may be determined from its X-sequence using the following formula:
cluster number=(X0-X2+X4-X6)mod 9
where "mod 9" is the remainder after division by nine. Referring to the codeword in FIG. 2, the cluster number is calculated as follows:
To minimize error probabilities, PDF417 uses only three clusters, even though nine are mathematically possible. Thus, each row uses only one of the clusters 0, 3, or 6, to encode data, with the same cluster repeating sequentially every third row. Row 0 codewords, for example, use cluster 0, row 1 uses cluster 3, and row 2 uses cluster 6, etc. In general, the cluster number may be determined from the row number as follows:
cluster number=((row number)mod 3)*3
There are 929 codeword values defined in PDF417. These values are 0 through 928. Each cluster presents the 929 available values with distinct bar-space patterns so that one cluster cannot be confused with another.
FIG. 3 is a block diagram showing the overall structure of a PDF417 symbol. Each row of the symbol consists of a start pattern, a left row indicator codeword, one or more data codewords, a right row indicator codeword, and a stop pattern. The minimum number of codewords in a row is three, including the left row indicator codeword, at least one data codeword, and the right row indicator codeword. The right and left row indicator codewords help synchronize the structure of the symbol.
The start and stop patterns identify where each row of the symbol begins and ends. Advantageously for implementation with the present invention, PDF417 uses unique start and stop patterns. The start pattern, or left side of each row, has the unique pattern, or X-sequence, of "81111113". The stop pattern, or right side of each row, has the unique X-sequence of "71131121". Since the start and stop patterns are the same for each row, these patterns form solid "structures" on the left and right sides of the symbol, respectively (as shown in FIG. 3). The entire symbol is surrounded by clear spaces or "quiet zones" which contain no dark marks.
Further details regarding the PDF417 symbology may be found in U.S. Pat. No. 5,304,786, which is incorporated by reference herein.
It is the uniqueness of the start and stop codewords and their visual contiguousness along the vertical dimension of the PDF417 symbol which facilitate the method of the present invention. Thus, as will be evident, the present invention is well suited to determine the skew angle for any symbology or graphic which is surrounded by a similarly unique start and/or stop pattern.
Referring to the preferred embodiment illustrated in FIG. 4, an object bearing a PDF417 symbol 2 is placed under a presentation-type laser scan lamp 4 for scanning and decoding. The scan lamp 4 produces a laser raster pattern 6 as shown in FIG. 1A. The alignment of the field of view of the raster pattern 6 may be rotated by the laser scanner 4 as desired, but is initially set to an arbitrary but predetermined angle with respect to the target area. The field of view of a rastering laser scanner is the area over which the raster pattern scans.
Typically, in the laser scanner 4, a laser beam is generated and reflected off of scanning optics such as an oscillating mirror, the motion of which is controlled by scan pattern control means 12 to generate the desired pattern. In the preferred embodiment, the laser raster pattern is generated by any means known in the art; for example, U.S. patent application Ser. No. 08/153,053, owned by the assignee of the present invention and which is incorporated by reference herein, discloses various means of generating scan patterns for laser bar code readers which can be controlled as desired.
The PDF417 symbol 2 is placed under the scan lamp 4 in the middle of the field of view, at any random orientation angle with respect to the raster pattern 6. The scan lamp 4 operates in a pattern that is designed to decode conventional one dimensional bar codes at any orientation. If in this mode of operation a PDF417 start or stop character is detected (an X-sequence of "81111113" or "71131121"), the scan lamp 4 switches into an angle determination mode in accordance with the present invention. In this mode of operation a single high speed scan line 8 is rotated in fixed angular increments, typically 5°. FIG. 5 shows a typical PDF417 symbol with a number of scan lines 8 at fixed angular increments.
A single cross section of the symbol is obtained from each single scan line 8. The PDF417 symbol cannot be distinguished from other graphics if the scan line 8 is not aligned with the horizontal rows of the symbol 2. However, the PDF417 start and stop codewords are unique and can be detected at an angle in excess of 45°. Thus, the information available to determine the rotation angle of the symbol 2 may be found in the start and stop codewords. The information that is available from the start codeword is: the length of the codeword, the distance from the beginning of the scan to the start codeword, and whether the start codeword was scanned in either the forward or reverse direction. The stone information is available about the stop codeword.
The detected signals from the laser scanner 4 are input into start codeword measurement means 14, which measures the length Li of the start codeword. Li is used by the skew angle calculation means 16 to determine the skew angle in accordance with the present invention as will be described below. Once the skew angle is determined, the scan pattern control means 12 is instructed to generate a raster pattern and rotate it accordingly for subsequent reading and decoding of the bar code symbol 2. The start codeword measurement means 14 and the skew angle calculation means 16 may be advantageously implemented, in accordance with the calculation methods to be described below, by any appropriate computing means known in the art such as a general purpose microprocessor with supporting circuitry such as a math coprocessor.
Referring to FIG. 6, the length of the start codeword is used in the present invention to determine the skew angle of the symbol 2. The length of the start codeword is at a minimum when the scan line 8 is aligned with the rows 9 of the symbol 2 and it increases as the angle between the scan line 8 and the rows of the symbol 2 increases. The length of the scan line 8 through the start codeword is proportional to cos (θ0)-1, where θ0 is the angle between the scan line 8 and the rows of the symbol 2.
Two alternative methods can be implemented in the present invention in order to determine the skew angle of the symbol. The first method rotates a scan line in fixed angular increments, collects all the measurement data of the start codeword, and estimates the rotation angle of the symbol with a least square fit of a second order polynomial to the measured start codeword lengths. Once the polynomial has been found, the angle at which the polynomial is at a minimum is the estimate of the symbol rotation angle. The second method of the present invention, which is preferred due to a faster angle calculation time, uses a sequential least square fit in which an estimate is updated each time a new start codeword measurement is made. In both cases, the skew angle is used to rotate the raster pattern so as to be aligned with the symbol for subsequent reading and decoding.
Reference is made herein to Parameter Estimation: Principles and Problems (1980), H. W. Sorenson, in establishing the use of the least squares fit and sequential least squares fit of the present invention, which text is incorporated by reference herein.
Referring to the flowchart in FIG. 7, the first method, which utilizes all the measurement data prior to performing any calculations, operates as follows. Li is the length of the start codeword at the scan angle θ. Then the observation equation is:
aθi 2 +bθi +c=Li (1)
where a, b, and c are the parameters of the second order polynomial that must be solved. This observation equation can be put in matrix notation, ##EQU1## If N observations are made, we can form the following matrix equation combining all the observations: ##EQU2## which can be written as
where ##EQU3## The least squares estimate x of the parameters of the quadratic equation is given by: ##EQU4## Once the value of x has been found, the angle at which the quadratic formula is a minimum is an estimate of the label rotation angle ##EQU5##
Least squares is an excellent method of estimating x, however, it requires collecting all the observations before any calculations can be performed and it involves inversion of a N×N dimensional symmetric matrix. There exist in the prior art many methods of solving this type of equation, but for a large value of N the time required can be long and no calculations can begin until all the observations have been made.
In the alternative, to avoid having to wait until all the observations have been made until any calculations can be performed, one can use the method of sequential least squares whereby an estimate is updated every time a new measurement is made. Referring to the flowchart in FIG. 8 the measurement equation at each observation is:
Li =Hi x+v (7)
where Li is the observed start codeword length, the observation vector is Hi =(θi 2 θi 1) and v is the random error in the observation. The set of equations for performing the sequential least squares estimation are given in the Sorenson reference. The gain matrix is given by
Kk =Pk Hk T rk -1 (8)
where Pk is the covariance matrix of the estimate of x, at step k. The scalar rk is the variance of v. The estimate of x, at step k, is given by
xk =xk-1 +Kk [Lk -Hk xk-1 ] (9)
and its covariance is
Pk =Pk-1 [I-Hk T (Hk Pk-1 Hk T +rk)-1 ]Hk Pk-1. (10)
These matrix equations are easier to solve than (5) and since Li is a scalar there is no need to invert any matrices; the inversions in (8) and (10) are for scalars. Also, these three equations can be performed each time a new observation is made and once all the observations are made the estimate of x is complete and one does not have to spend time solving (5). Then x is used to find θo using (6).
Once the skew angle has been calculated, the field of view of the laser raster pattern is rotated to this angle so as to be aligned with the symbol, and the symbol is read and decoded in accordance with methods well known in the art.
As is clear from the above description, the present invention is applicable to rotating a raster pattern for reading and decoding any graphic or indicia which is defined by a unique pattern contiguous along at least one side thereof. Once the start pattern is detected and measured throughout a plurality of scan lines as described, the angle of rotation can be ascertained in accordance with the present invention and the raster pattern can be rotated accordingly.
An alternative mode of reading bar code symbols is by the use of CCD image sensor arrays. As is known in the art, CCD sensor arrays are used to capture the images of the target symbol wherein each CCD element of the array (each pixel) senses the amount of light reflected off of a discrete area of the target symbol which is mapped to that element. A linear array (e.g. 1024 or 2048 pixels in a single line) is capable of imaging a linear bar code, wherein the entire bar code image is sampled at once by the linear array and shifted electronically to processing and decoding circuitry means. Similarly, a two dimensional array (e.g. 512 by 512 pixels) can capture a two dimensional symbol, and each row of the array is shifted out one at a time to image processing circuitry means which is known in the art.
The rotating scan lines of the present invention can be implemented using CCD imaging technology by fabricating a dedicated radial CCD array 40 as shown in FIG. 9. The radial CCD array 40 is comprised of a plurality of linear CCD arrays 42 arranged in a radial pattern at small angular increments with respect to each other. In the preferred embodiment, seventy two such linear arrays 42 will comprise the radial array 40, each at 5° angular increments (for clear illustrative purpose, the radial array 40 shown in FIG. 9 comprises only sixteen linear arrays 42 at 22.5° increments).
Each linear array 42 can be accessed individually by addressing the array 42 and shifting data out in a manner well known in the art. The radial CCD array 40 is located over a target area so that its field of view encompasses the target bar code symbol 2, as shown in FIG. 10. A two dimensional CCD array 50 is mounted on a rotating turntable 51, which is rotatably mounted in a housing 48. The radial array 40 and the two dimensional array 50 are positioned at a slight angle towards each other such that the field of view of each intersects at a common plane, which coincides with the location of the target bar code symbol 2. Thus, each of the radial array 40 and the two-dimensional array 50 can view the target symbol 2 simultaneously. A plan view of the bottom of the housing 48 is shown in FIG. 11, which shows the juxtaposition of the radial array 40 and the two dimensional array 50 as mounted on the turntable 51.
The CCD based system of FIG. 10 operates in the same fashion as that described in FIG. 4 for the laser raster based embodiment of the present invention, with the following differences. The radial CCD array 40 captures that portion of a randomly oriented two dimensional bar code symbol 2 to which the elements 44 are mapped in its field of view. Each linear array 42 is then accessed by appropriate circuitry well known in the art. The PDF417 start codewords are detected for each radial scan and the skew angle is calculated as described above in conjunction with the laser-based embodiment. A CCD rotation control block 13 then sends appropriate electrical signals to the housing 48 in order to rotate the disc 51 about its center by the calculated skew angle such that the horizontal rows 52 of the two dimensional array 50 are substantially aligned with the horizontal rows of codewords in the two dimensional bar code symbol 2 within the field of view. The two dimensional CCD array 50 then captures a properly aligned image of the two dimensional symbol 2 and the image is processed and decoded by the decoder 18 accordingly by means well known in the art.
In an alternative embodiment, the CCD array 50 is "rotated" or imaged logically rather than physically. The two dimensional array 50 remains stationary and captures the randomly oriented symbol 2 at the same time as the radial array 40. Each linear array 42 of the radial array 40 is accessed, the PDF417 start codewords are detected for each radial scan and the skew angle is calculated as described above. This information is then provided to the decoder 18, which can then execute an imaging process or "virtual scan" of the misaligned symbol 2 as described in U.S. Pat. No. 5,319,181, which patent is incorporated by reference herein.
Although the illustrative embodiments presented herein implement a radial CCD array 40 having linear arrays 42 arranged in a full 360° layout, it is understood that alternate arrangements may also be implemented which take advantage of the symmetry of a target symbol such as a PDF417 symbol. Thus, a semicircular shaped array 43 as shown in FIG. 12 is contemplated by the present invention, which will capture either a PDF417 start codeword or stop codeword. Since the start and stop codewords are unique, the system will ascertain the skew angle with the same accuracy as the full circular embodiment described above.
Without further analysis, the foregoing will so fully reveal the gist of the present invention that others can, by applying current knowledge, readily adapt it for various applications without omitting features that, from the standpoint of prior art, fairly constitute essential characteristics of the generic or specific aspects of this invention and, therefore, such adaptations should and are intended to be comprehended within the meaning and range of equivalence of the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US3847346 *||21 Jan 1974||12 Nov 1974||Scanner||Data field recognition and reading method and system|
|US4816661 *||22 Dec 1986||28 Mar 1989||Symbol Technologies, Inc.||Scan pattern generators for bar code symbol readers|
|US5126544 *||12 Apr 1991||30 Jun 1992||Eastman Kodak Company||Bar code reader|
|US5138140 *||22 Aug 1990||11 Aug 1992||Symbol Technologies, Inc.||Signature capture using electro-optical scanning|
|US5151581 *||3 May 1991||29 Sep 1992||Symbol Technologies, Inc.||Point-of-sale system including detachable infinitely adjustable optical scanner with selection of scan pattern|
|US5235167 *||14 Jun 1991||10 Aug 1993||Symbol Technologies, Inc.||Laser scanning system and scanning method for reading bar codes|
|US5243655 *||16 Mar 1992||7 Sep 1993||Symbol Technologies Inc.||System for encoding and decoding data in machine readable graphic form|
|US5278398 *||28 Oct 1991||11 Jan 1994||Symbol Technologies, Inc.||Decoding bar code symbols by determining the best alignment of partial scans|
|US5304786 *||5 Jan 1990||19 Apr 1994||Symbol Technologies, Inc.||High density two-dimensional bar code symbol|
|US5319181 *||16 Mar 1992||7 Jun 1994||Symbol Technologies, Inc.||Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera|
|US5369265 *||24 May 1993||29 Nov 1994||Olympus Optical Co., Ltd.||Bar-code reader apparatus with an automatic read starting function|
|US5378881 *||28 May 1993||3 Jan 1995||Olympus Optical Co., Ltd.||Bar code reader for accurately reading two-dimensional bar code images|
|US5414250 *||4 Jan 1993||9 May 1995||Symbol Technologies, Inc.||Method and apparatus for reading two-dimensional bar code employing bit-mapped imaging|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US5736724 *||10 May 1995||7 Apr 1998||Metanetics Corporation||Oblique access to image data for reading dataforms|
|US5844222 *||2 Jul 1996||1 Dec 1998||Intermec Corporation||Rastering laser scanner with beam location feedback|
|US5988505 *||3 Jun 1997||23 Nov 1999||Symbol Technologies, Inc.||Omnidirectional reading of two-dimensional symbols|
|US5992748 *||7 Aug 1997||30 Nov 1999||Riso Kagaku Corporation||Two-dimensional color code, preparing and restoring method for the code and apparatus therefor|
|US6000618 *||30 Dec 1997||14 Dec 1999||Datalogic S.P.A.||Method of reading an object-applied bar code|
|US6064763 *||26 Jul 1996||16 May 2000||Intermec Ip Corporation||Time-efficient method of analyzing imaged input data to locate two-dimensional machine-readable symbols or other linear images therein|
|US6123262 *||23 Nov 1999||26 Sep 2000||Symbol Technologies, Inc.||Omnidirectional reading of two-dimensional bar code symbols|
|US6126074 *||28 Jan 1998||3 Oct 2000||Symbol Technologies, Inc.||Error correction in macro bar code symbols|
|US6343740||17 Dec 1997||5 Feb 2002||Paul P. Ju||Oblique access to image data for reading apparatus|
|US6439459||24 Nov 2000||27 Aug 2002||Interval Research Corporation||Methods and systems for providing human/computer interfaces|
|US6490376||17 Sep 1998||3 Dec 2002||Metrologic Instruments, Inc.||Skew processing of raster scan images|
|US6540141||20 Jun 2002||1 Apr 2003||Interval Research Corporation||Methods and systems for providing human/computer interfaces|
|US6651893||21 Dec 1999||25 Nov 2003||Symbol Technologies, Inc.||Error correction in macro bar code symbols|
|US6672511||25 Jul 2000||6 Jan 2004||Symbol Technologies, Inc.||Omnidirectional reading of two-dimensional symbols|
|US6700997 *||5 Jun 2000||2 Mar 2004||Glenn Steven Spitz||Method of evaluating the print quality of 2-dimensional data carrying graphical symbols|
|US6751352||25 May 2000||15 Jun 2004||Hewlett-Packard Development Company, L.P.||Method and apparatus for generating and decoding a visually significant barcode|
|US6895116 *||7 Jun 2001||17 May 2005||Hewlett-Packard Development Company, L.P.||Automatically extracting graphical bar codes|
|US6938017||1 Dec 2000||30 Aug 2005||Hewlett-Packard Development Company, L.P.||Scalable, fraud resistant graphical payment indicia|
|US6941026||13 Jun 2000||6 Sep 2005||Cognex Corporation||Method and apparatus using intensity gradients for visual identification of 2D matrix symbols|
|US6963074 *||10 Sep 2003||8 Nov 2005||Psc Scanning, Inc.||Omni-directional optical code reader using scheimpflug optics|
|US6989816||8 Oct 2002||24 Jan 2006||Vulcan Patents Llc||Methods and systems for providing human/computer interfaces|
|US7007846 *||9 May 2003||7 Mar 2006||Symbol Technologies, Inc.||Omnidirectional reading of two-dimensional symbols|
|US7026606 *||16 May 2001||11 Apr 2006||Accu-Sort Systems, Inc.||Auto-focus system with 2-D or 3-D compensation|
|US7028911 *||5 Aug 2003||18 Apr 2006||Shenzhen Syscan Technology Co. Limited||Methods and systems for encoding and decoding data in 2D symbology|
|US7107453||1 Dec 2000||12 Sep 2006||Hewlett-Packard Development Company, L.P.||Authenticatable graphical bar codes|
|US7175090||30 Aug 2004||13 Feb 2007||Cognex Technology And Investment Corporation||Methods and apparatus for reading bar code identifications|
|US7181066||26 Dec 2002||20 Feb 2007||Cognex Technology And Investment Corporation||Method for locating bar codes and symbols in an image|
|US7328847 *||30 Jul 2003||12 Feb 2008||Hewlett-Packard Development Company, L.P.||Barcode data communication methods, barcode embedding methods, and barcode systems|
|US7427028||21 Dec 2006||23 Sep 2008||Cognex Corporation||Methods and apparatus for reading bar code identifications|
|US7548130||19 Feb 2004||16 Jun 2009||Seiko Epson Corporation||Characteristic automatic compensating apparatus, characteristic automatic compensating method, characteristic automatic compensating program of oscillator and positioning signal receiver|
|US7748628||18 Dec 2006||6 Jul 2010||Mckesson Automation Inc.||Systems and methods for scanning an identification code of an unknown orientation|
|US7963448||6 May 2005||21 Jun 2011||Cognex Technology And Investment Corporation||Hand held machine vision method and apparatus|
|US8009913||29 May 2007||30 Aug 2011||Mckesson Automation, Inc.||System, method, apparatus and computer program product for capturing human-readable text displayed on a unit dose package|
|US8011586 *||7 Jul 2009||6 Sep 2011||Canon Kabushiki Kaisha||Apparatus, method, program, and storage medium|
|US8027802||2 May 2007||27 Sep 2011||Cognex Corporation||Method and apparatus for verifying two dimensional mark quality|
|US8036773||10 May 2006||11 Oct 2011||Mckesson Automation Inc.||System, method and corresponding apparatus for storing, retrieving and delivering unit dose blisters|
|US8108176||29 Jun 2006||31 Jan 2012||Cognex Corporation||Method and apparatus for verifying two dimensional mark quality|
|US8169478||14 Dec 2006||1 May 2012||Cognex Corporation||Method and apparatus for calibrating a mark verifier|
|US8201742||8 Mar 2010||19 Jun 2012||Kabushiki Kaisha Toshiba||Barcode processing apparatus and barcode processing method|
|US8265404||17 Jul 2009||11 Sep 2012||Cognex Technology And Investment Corporation||Method and apparatus for high resolution decoding of encoded symbols|
|US8313029||31 Jan 2008||20 Nov 2012||Seiko Epson Corporation||Apparatus and methods for decoding images|
|US8483867||18 Oct 2010||9 Jul 2013||Mckesson Automation Inc.||System, method and corresponding apparatus for storing, retrieving and delivering unit dose blisters|
|US8929641||17 Mar 2009||6 Jan 2015||Aesynt Incorporated||System and method for determining the orientation of a unit dose package|
|US9036929||10 Sep 2012||19 May 2015||Cognex Technology And Investment Llc||Method and apparatus for high resolution decoding of encoded symbols|
|US20010047476 *||1 Dec 2000||29 Nov 2001||Jonathan Yen||Authenticatable graphical bar codes|
|US20040065853 *||10 Sep 2003||8 Apr 2004||Psc Scanning, Inc.||Omni-directional optical code reader using scheimpflug optics|
|US20040089727 *||24 Oct 2003||13 May 2004||Izhak Baharav||Method and apparatus for generating and decoding a visually significant barcode|
|US20040124347 *||16 May 2001||1 Jul 2004||Kurt Hecht||Auto-focus system with 2-d or 3-d compensation|
|EP0833278A2 *||20 Aug 1997||1 Apr 1998||Abbott Laboratories||Data carrier|
|EP0881601A2 *||26 May 1998||2 Dec 1998||Pitney Bowes Inc.||Method and system for automatic recognition of digital indicia images deliberately distorted to be non readable|
|EP0958546A1 *||24 Nov 1997||24 Nov 1999||Metrologic Instruments, Inc.||System and method for accessing internet-based information resources by scanning java-applet encoded bar code symbols|
|EP2064651A1 *||20 Jan 2004||3 Jun 2009||Scanbuy, Inc.||System and method for decoding and analyzing barcodes using a mobile device|
|EP2088533A1 *||16 May 2008||12 Aug 2009||Seiko Epson Corporation||Apparatus and methods for decoding digital codes|
|EP2256664A2 *||10 Mar 2010||1 Dec 2010||Kabushiki Kaisha Toshiba||Barcode processing apparatus and barcode processing method|
|WO1998024050A1||24 Nov 1997||4 Jun 1998||Carl Harry Knowles||System and method for accessing internet-based information resources by scanning java-applet encoded bar code symbols|
|U.S. Classification||235/462.09, 235/462.11, 235/462.38|
|International Classification||G06K7/10, G06K7/015|
|21 Oct 1994||AS||Assignment|
Owner name: SYMBOL TECHNOLOGIES, INC., NEW YORK
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHELLHAMMER, STEPHEN J.;KATZ, JOSEPH;GOLDMAN, RON;REEL/FRAME:007224/0835;SIGNING DATES FROM 19941018 TO 19941020
|22 Nov 1999||FPAY||Fee payment|
Year of fee payment: 4
|4 Nov 2003||FPAY||Fee payment|
Year of fee payment: 8
|5 Jan 2005||AS||Assignment|
|21 Sep 2007||FPAY||Fee payment|
Year of fee payment: 12
|3 Dec 2010||AS||Assignment|
Owner name: SYMBOL TECHNOLOGIES, INC., NEW YORK
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:JPMORGANCHASE BANK, N.A.;REEL/FRAME:025441/0228
Effective date: 20060901
|31 Oct 2014||AS||Assignment|
Owner name: MORGAN STANLEY SENIOR FUNDING, INC. AS THE COLLATE
Free format text: SECURITY AGREEMENT;ASSIGNORS:ZIH CORP.;LASER BAND, LLC;ZEBRA ENTERPRISE SOLUTIONS CORP.;AND OTHERS;REEL/FRAME:034114/0270
Effective date: 20141027