Method and apparatus for decoding two-dimensional symbols in the spatial domain
First Claim
1. A method of finding collinear elements in a graphic image comprising an array of said elements, regardless of the pattern of gray scale intensities of said collinear elements, comprising the steps of:
- developing a sampling template for plotting data acquisition locations in said image, said template having two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements measured perpendicular to the parallel lines, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line;
positioning said template on said image data;
acquiring gray scale intensities at said data acquisition locations indicated by said template;
comparing gray scale intensities corresponding to the first points of said pairs to gray scale intensities corresponding to respective second points of said pairs to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the two sequences of points;
moving said sampling template into varying orientations with respect to said image and determining said correlation factor for each position of said template; and
identifying one or more sets of collinear elements in said image by finding one or more template positions associated with characteristic values of said correlation factor.
0 Assignments
0 Petitions
Accused Products
Abstract
A method and system for decoding a two-dimensional optical symbol in the spatial domain. The system determines the orientation of an imaged symbol in the spatial domain by using a template to derive a correlation coefficient between radially adjacent signals at a given angle of the template and comparing the correlation coefficients as the template is rotated with respect to the image. The angle of the highest correlation coefficient corresponds to the orientation of a set of symbol axes which include contiguous elements whose centers are collinear. The system then locates each individual information-encoded element of the symbol by using segments of the symbol defined by the axes, first adjusting for each segment the axis position and element size for subsequent determination of the location of all elements for decoding. The system is disclosed as applied to a symbol constructed as a matrix of hexagonal information-encoding elements arranged in a square, with, at its center, an acquisition target consisting of six concentric rings of alternating light and dark reflectivity.
138 Citations
25 Claims
-
1. A method of finding collinear elements in a graphic image comprising an array of said elements, regardless of the pattern of gray scale intensities of said collinear elements, comprising the steps of:
-
developing a sampling template for plotting data acquisition locations in said image, said template having two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements measured perpendicular to the parallel lines, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line; positioning said template on said image data; acquiring gray scale intensities at said data acquisition locations indicated by said template; comparing gray scale intensities corresponding to the first points of said pairs to gray scale intensities corresponding to respective second points of said pairs to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the two sequences of points; moving said sampling template into varying orientations with respect to said image and determining said correlation factor for each position of said template; and identifying one or more sets of collinear elements in said image by finding one or more template positions associated with characteristic values of said correlation factor. - View Dependent Claims (2)
-
-
3. An image processor for locating in an image one or more sets of contiguous elements whose centers are collinear, comprising:
-
a sampling template for plotting data acquisition locations in said image, said template having two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements measured perpendicular to the parallel lines, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line; a positioner for positioning said template on said image and for moving said sampling template into varying orientations with respect to said image; a comparator for comparing gray scale intensities of the first points of said pairs to gray scale intensities of respective second points of said pairs to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the two sequences of points; and a finder for identifying said one or more set of collinear elements by finding one or more template positions associated with characteristic values of said correlation factor. - View Dependent Claims (4)
-
-
5. A method of determining the orientation of a two-dimensional, optically readable symbol of the type having elements of at least two different reflectivities, and at least one radial set of contiguous elements whose centers lie along a line passing through an origin point of said symbol, comprising the steps of:
-
deriving a multiple-row image including said symbol from a pixel matrix and storing said image; developing a sampling template for plotting data acquisition locations in said image, said template having two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line; comparing gray scale intensities at the first points of said pairs to gray scale intensities at the second points of said pairs to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the two sequences of points; rotating said sampling template in increments about said origin and repeatedly determining said correlation factor for each rotational position of said template; and identifying said radial set of contiguous elements by finding the rotational position associated with characteristic values of said correlation factor. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A method of determining the orientation of a two dimensional, optically readable symbol of the type having a plurality of radial sets of contiguous elements whose centers lie along axes passing through an origin point of said symbol and spaced evenly around said origin, said elements being one of at least two different reflectivities, comprising the steps of:
-
deriving a multiple-row image including said symbol from a pixel matrix and storing said image; developing a sampling template for plotting data acquisition locations in said image, said template having a plurality of sets of data acquisition locations, each of said sets including two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line, the number and spacing of said sets being equal to the number and spacing of said symbol axes; comparing gray scale intensities at the first points of said pairs to gray scale intensities at the second points of said pairs for all of said sets, to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the sequences of points, for all of said sets; rotating said sampling template in increments about said origin and repeatedly determining said correlation factor for each rotational position of said template; and identifying the position of said axes of said radial sets of contiguous elements by finding the rotational position of said template associated with the highest correlation factor. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of reading an optically encoded, two dimensional symbol of the type having elements of at least two different reflectivities, a key element, said key element being a geometrically symmetric, bounded element of a first reflectivity completely surrounded by an area of a second reflectivity, and a plurality of radial sets of contiguous elements whose centers lie along axes passing through an origin point at the center of said key element, said axes being spaced evenly around said origin and each axis of said symbol having associated therewith a unique pattern of orientation elements, comprising the steps of:
-
deriving a multiple-row image including said symbol from a pixel matrix and storing said image; locating said key element by; scanning said stored image along a scanning direction to detect a candidate bounded element demonstrating symmetry along said scanning direction; and determining whether said candidate bounded element is symmetric along a second direction; locating said origin point by examining gray scale intensifies within said key element to locate a center of said key element; determining the approximate size of the elements of said symbol by averaging a plurality of different diameters of said key element; locating the position of said axes of said radial sets of contiguous elements by developing a sampling template for plotting data acquisition locations in said image, said template having a plurality of sets of data acquisition locations, each of said sets including two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line, the number and spacing of said sets being equal to the number and spacing of said symbol axes; comparing gray scale intensities at the first points of said pairs to gray scale intensities at the second points of said pairs for all of said sets, to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the sequences of points, for all of said sets; rotating said sampling template in increments about said origin and repeatedly determining said correlation factor for each position of said template; and finding the position of said template associated with the highest correlation factor; identifying each of said axes by determining which pattern of orientation elements is associated with said axis; determining the center coordinates of each element of said symbol using the coordinates of said origin point, the orientation of said axes, and the estimated size of said elements; and determining the reflectivity of each of said elements by analyzing gray scale intensity near its center.
-
-
21. A system for determining the orientation of an optically readable, two dimensional symbol of the type having elements of at least two different reflectivities, and a plurality of radial sets of contiguous elements whose centers lie along axes passing through an origin point of said symbol and spaced evenly around said origin, comprising:
-
a light source; a detector comprising an array of pixels positioned to receive light from said light source reflected by said symbol; a read-out circuit connected to obtain data signals from said pixels and to form in a memory device an image including said symbol; and a processor configured to locate the position of said axes of said radial sets of contiguous elements by; developing a sampling template for plotting data acquisition locations in said image, said template having a plurality of sets of data acquisition locations, each of said sets including two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line, the number and spacing of said sets being equal to the number and spacing of said symbol axes; comparing gray scale intensities at the first points of said pairs to gray scale intensities at the second points of said pairs for all of said sets, to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the sequences of points, for all of said sets; rotating said sampling template in increments about said origin and repeatedly determining said correlation factor for each position of said template; and finding the position of said template associated with the highest correlation factor. - View Dependent Claims (22)
-
-
23. A system for reading an optically encoded, two dimensional symbol of the type having elements of at least two different reflectivities, a key element, said key element being a geometrically symmetric, bounded element of a first reflectivity completely surrounded by an area of a second reflectivity, and a plurality of radial sets of contiguous elements whose centers lie along axes passing through an origin point at the center of said key element, said axes being spaced evenly around said origin and each axis of said symbol having associated therewith a unique pattern of orientation elements, comprising:
-
a light source; a detector comprising an array of pixels positioned to receive light from said light source reflected by said symbol; a read-out circuit connected to obtain data signals from said pixels and to form in a memory device an image including said symbol; and a processor configured to locate said key element, locate the position of said axes of said radial sets of contiguous elements, and locate each of said elements by; deriving a multiple-row image including said symbol from a pixel matrix and storing said image; locating said key element by; scanning said stored image along a scanning direction to detect a candidate bounded element demonstrating symmetry along said scanning direction; and determining whether said candidate bounded element is symmetric along a second direction; locating said origin point by examining gray scale intensities within said key element to locate a center of said key element; determining the approximate size of the elements of said symbol by averaging a plurality of different diameters of said key element; locating the position of said axes of said radial sets of contiguous elements by developing a sampling template for plotting data acquisition locations in said image, said template having a plurality of sets of data acquisition locations, each of said sets including two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line, the number and spacing of said sets being equal to the number and spacing of said symbol axes; comparing gray scale intensities at the first points of said pairs to gray scale intensities at the second points of said pairs for all of said sets, to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the sequences of points, for all of said sets; rotating said sampling template in increments about said origin and repeatedly determining said correlation factor for each position of said template; and finding the position of said template associated with the highest correlation factor; identifying each of said axes by determining which pattern of orientation elements is associated with said axis; determining the center coordinates of each element of said symbol using the coordinates of said origin point, the orientation of said axes, and the estimated size of said elements; and determining the reflectivity of each of said elements by analyzing gray scale intensity near its center. - View Dependent Claims (24)
-
-
25. A method of finding collinear elements in a graphic image comprising an array of said elements, regardless of the pattern of gray scale intensities of said collinear elements, comprising the steps of:
-
acquiring gray scale intensities of said image at two sequences of data acquisition points, each sequence spaced along one of two parallel lines spaced apart by a distance shorter than a width of each of said elements measured perpendicular to the parallel lines, the sequences together defining pairs of points having a first point positioned on one of the parallel lines across from a second point of said pair on the other parallel line; comparing gray scale intensities corresponding to the first points of said pairs to gray scale intensities corresponding to respective second points of said pairs to determine a correlation factor between said sequences of said first points and said second points, representing a measure of the pair-by-pair difference in gray scale value between the two sequences of points; moving said parallel lines defining data acquisition points into varying orientations with respect to said image and determining said correlation factor for each orientation of said parallel lines; and identifying one or more sets of collinear elements in said image by finding one or more of said positions of said parallel lines associated with characteristic values of said correlation factor.
-
Specification