Autodiscriminating optical reader
DCFirst Claim
1. A method for operating an optical reader, said method comprising the steps of:
- acquiring a set of image data elements representing a 2D image;
calculating the activities of predetermined ones of said image data elements and attempting to decode a bar code symbol in said 2D image representation if at least one of said calculated activities indicates that a high activity region is present in a said 2D image representation.
2 Assignments
Litigations
0 Petitions
Accused Products
Abstract
A method and apparatus for autodiscriminating and decoding any of a plurality of 1D linear bar code symbols which use different 1D symbologies and of 2D matrix bar code symbols which use different 2D finder patterns and 2D symbologies. A processor stores a plurality of 1D decoding programs, a plurality of 2D decoding programs, and a parameter table that specifies which of said programs are to be enabled. During 1D autodiscriminating, the processor makes not attempt to decode unknown symbols in accordance with 1D decoding programs that are not enabled. During 2D autodiscrimination, the processor makes not attempt to decode unknown 2D symbols in accordance with 2D decoding programs that are not enabled.
-
Citations
86 Claims
-
1. A method for operating an optical reader, said method comprising the steps of:
-
acquiring a set of image data elements representing a 2D image;
calculating the activities of predetermined ones of said image data elements and attempting to decode a bar code symbol in said 2D image representation if at least one of said calculated activities indicates that a high activity region is present in a said 2D image representation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
selecting a position of an initial working scan line by analysis of gray scale image data without binarization of said gray scale image data; and
binarizing image data of said initial working scan line after a position of said initial working scan line is selected.
-
-
8. The method of claim 1, wherein said method further comprising the steps of:
-
using a hand held reader including all integrated display to execute said method; and
displaying on said display, an indicator of a decoding program which is employed during said attempt to decode step.
-
-
9. The method of claim 1, wherein said method further comprises the step of determining a position of a high activity candidate symbol region by analysis of gray scale image data without binarization of said gray scale image data.
-
10. The method of claim 1, wherein said calculating step includes the step of analyzing gray scale image data values without conversion of those image data values to two state values.
-
11. The method of claim 1, wherein said acquiring step includes the step of obtaining a gray scale image.
-
12. The method of claim 1, further comprising the step of finding a position of a high activity candidate symbol region by analyzing gray scale image data without conversion of said gray scale image data into two state values.
-
13. The method of claim 1, further comprising the steps of:
-
finding a position of a high activity candidate symbol region by analyzing gray scale image data without conversion of said gray scale image data into two state values; and
attempting to decode image data of said candidate symbol region using a 1D decoding program.
-
-
14. The method of claim 1, farther comprising the steps of:
-
finding a position of a high activity candidate symbol region by analyzing gray scale image data without conversion of said gray scale image data into two state values; and
determining a direction in which to apply an initial working scan line within said high activity candidate symbol region by analysis of gray scale image data without conversion of said gray scale image data to two state values.
-
-
15. The method of claim 1, wherein said method further includes the steps of:
-
determining which of said activities exceeds a threshold; and
subjecting to a first decode attempt image data elements corresponding to a most centrally located of threshold-exceeding activities.
-
-
16. The method of claim 1, wherein said method further includes the steps of:
-
determining which of said activities exceeds a threshold; and
subjecting to a first decode attempt image data elements corresponding to a highest of threshold-exceeding activities.
-
-
17. The method of claim 1, wherein said method farther comprises the steps of;
-
identifying a high activity candidate symbol region by evaluation of said activities;
defining a plurality of exploratory scan lines relative to said identified high activity candidate symbol region; and
determining activities along said exploratory scan lines to select a direction of highest activity.
-
-
18. The method of claim 1, wherein said method further comprises the steps of:
-
identifying a plurality of high activity candidate symbol regions; and
selecting for subjecting to a first decode attempt a high activity candidate symbol region which out of said plurality of high activity candidate symbol regions has a highest associated activity.
-
-
19. The method of claim 1, wherein said method further comprises the steps of:
-
defining a plurality of exploratory scan lines relative to all identified high activity region, wherein said high activity region is represented by gray scale image data; and
determining activities along said exploratory scan lines using said gray scale image data to determine a direction of highest activity of said high activity region.
-
-
20. The method of claim 1, wherein said acquiring step includes the step of obtaining a 2D image using a 1D reader by asynchronously moving said 1D reader across a target area.
-
21. The method of claim 1, wherein said method further includes the steps of:
-
identifying high activity candidate symbol regions by evaluating said activities; and
determining a direction of highest activity of one of said identifying high activity candidate symbol regions.
-
-
22. The method of claim 1, wherein said calculating step includes the step utilizing gray scale image data values to determine said activities.
-
23. The method of claim 1, wherein said method farther includes the steps of:
-
evaluating said and calculated activities to identify at least one high activity region;
selecting a working scan line within said at least one high activity region; and
binarizing image data of said selected working scan line within said high activity region.
-
-
24. The method of claim 1, wherein said method further includes the steps of:
-
evaluating one of said activities to identify whether said activity indicates a high activity region;
defining exploratory scan lines relative to an identified high activity region; and
using gray scale image data, determining activities along said exploratory scan lines to select a direction of highest activity within said high activity region.
-
-
25. The method of claim 24, wherein said method Other includes the steps of finding a centroid of said identified high activity region and defining said exploratory scan lines through said centroid.
-
26. The method of claim 1, wherein said calculating step includes the step, for each one of said predetermined data elements, of selecting data points from lines that are perpendicular from one another and which include at least one of said predetermined ones of said data elements.
-
27. The method of claim 1, wherein said calculating of activities step includes the step of determining a rate of change of image data in positional proximity with respect to at least one of said predetermined ones of said data elements.
-
28. The method of claim 1, wherein said calculating of activities step includes the step of calculating a rate of change of image data using gray scale image data along a line in proximity with at least one of said predetermined ones of said data elements.
-
29. The method of claim 1, wherein said calculating of activities step includes the step of calculating a rate of change of image data in two mutually perpendicular directions.
-
30. The method of claim 1, wherein said method further includes the steps of:
-
evaluating several of said activities to identify which of said activities indicate the presence of a high activity region;
defining exploratory scan lines relative to said identified high activity region;
determining which of said exploratory scan lines includes a highest activity;
selecting an initial working scan line along a direction in accordance with a direction of an exploratory scan line having a highest activity; and
interpolating sample points along said selected initial working scan line based on neighboring gray scale image data elements.
-
-
31. The method of claim 30, further including the step of binarizing data of said selected initial working scan line.
-
32. The method of claim 1, wherein said method further includes the steps of:
-
selecting an initial working scan line;
binarizing image data along said working scan line;
subjecting said binarized image data to at least one decode attempt in accordance with at least one decoding program; and
selecting a further scan line parallel with said initial working scan line if said at least one decode attempt is unsuccessful.
-
-
33. The method of claim 1, wherein said acquiring step includes the step of acquiring image data elements corresponding to a nonplanar surface and wherein said attempting to decode step includes the step of applying a curvilinear scan line for use in decoding image data.
-
34. The method of claim 1, wherein said method further includes the steps of:
-
determining a position of a high activity candidate symbol region by analysis of gray scale image data; and
finding a direction for applying an initial working scan line within said high activity candidate symbol region by analysis of gray scale image data.
-
-
35. The method of claim 34, further comprising the step of binarizing image data of said initial working scan line.
-
36. The method of claim 34, further comprising the steps of:
-
binarizing image data of said initial working scan line; and
subjecting said binarized image data of said initial working scan line to a decode attempt using a 1D decoding program.
-
-
37. An optical reader comprising:
-
an imaging assembly;
a processor in communication with said imaging assembly, wherein said processor is adapted to;
acquire a set of image data elements representing a 2D image;
calculate the activities of predetermined ones of said image data elements; and
attempt to decode a bar code symbol in said 2D image representation if at least one of said calculated activities indicates that a high activity region is present in said 2D image representation. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86)
determine whether there exists at least one finder pattern indicative of the presence of a 2D bar code symbol; and
if at least one finder pattern indicative of one such pattern is found, launch a 2D decoding program corresponding to said finder pattern.
-
-
43. The reader of claim 37, wherein processor is further adapted to:
-
select a position of an initial working scan line by analysis of gray scale image data without binarization of said gray scale image data; and
binarize image data of said initial working scan line after a position of said initial working scan line is selected.
-
-
44. The reader of claim 37, wherein processor is further adapted to determine a position of a high activity candidate symbol region by analysis of gray scale image data without binarization of said gray scale image data.
-
45. The reader of claim 37, wherein said processor in calculating said activities analyzes gray scale image data values without conversion of those image data values to two state values.
-
46. The reader of claim 37, wherein said processor in acquiring said image data elements obtains gray scale image data.
-
47. The reader of claim 37, wherein said processor is further adapted to find a position of a high activity candidate symbol region by analyzing gray scale image data without conversion of said gray scale image data into two state values.
-
48. The reader of claim 37, wherein said processor is further adapted to:
-
find a position of a high activity candidate symbol region by analyzing gray scale image data without conversion of said gray scale image data into two state values; and
attempt to decode image data of said candidate symbol region using a 1D decoding program.
-
-
49. The reader of claim 37, wherein said processor is further adapted to:
-
find a position of a high activity candidate symbol region by analyzing gray scale image data without conversion of said gray scale image data into two state values; and
determine a direction in which to apply an initial working scan line within said him activity candidate symbol region by analysis of gray scale image data without conversion of said gay scale image data to two state values.
-
-
50. The reader of claim 37, wherein said processor is firer adapted to:
-
determine which of said activities exceeds a threshold; and
subject to a first decode attempt image data elements corresponding to a most centrally located of threshold-exceeding activities.
-
-
51. The reader of claim 37, wherein said processor is further adapted to:
-
determine which of said activities exceeds a threshold; and
subject to a first decode attempt image data elements corresponding to a highest of threshold-exceeding activities.
-
-
52. The reader of claim 37, wherein said processor is further adapted to:
-
identify a high activity candidate symbol region by evaluation of said activities;
define a plurality of exploratory scan lines relative to said identified high activity candidate symbol region; and
determine activities along said exploratory scan lines to select a direction of highest activity.
-
-
53. The reader of claim 37, wherein said processor is further adapted to:
-
identify a plurality of high activity candidate symbol regions; and
select one of said high activity candidate symbol regions as a first region to subject to a decode attempt on the basis of which region exhibits a highest activity.
-
-
54. The reader of claim 37, wherein said processor is further adapted to:
-
define a plurality of exploratory scan lines relative to an identified high activity region, wherein said high activity region is represented by gray scale image data; and
determine activities along said exploratory scan lines using said gray scale image data to determine a direction of highest activity of said high activity region.
-
-
55. The reader of claim 37, wherein said processor is further adapted to:
-
identify high activity candidate symbol regions by evaluating said activities; and
determine direction of highest activity of one of said identifying high activity candidate symbol regions.
-
-
56. The reader of claim 37, wherein said processor in calculating said activities utilizes gray scale image data values.
-
57. The reader of claim 37, wherein said processor is further adapted to;
-
evaluate calculated activities to identify at least one high activity region;
select a working scan line within said at least one high activity region; and
binarize image data of a selected working scan line within said high activity region.
-
-
58. The reader of claim 37, wherein said processor is firer adapted to:
-
evaluate one of said activities to identify whether said activity indicates a high activity region;
define exploratory scan lines relative to an identified high activity region; and
determine from gray scale image data activities along said exploratory scan lines to select a direction of highest activity within said high activity region.
-
-
59. The reader of claim 37, wherein said processor is further adapted to find a centroid of said identified high activity region and to define exploratory scan lines through said centroid.
-
60. The reader of claim 37, wherein said processor in calculating said activities selects data points from lines that are perpendicular from one another and which include at least one of said image data elements.
-
61. The reader of claim 37, wherein said processor in calculating said activities determines a rate of change of image data in positional proximity with respect to at least one of said image data elements.
-
62. The reader of claim 37, wherein said processor in calculating said activities calculates a rate of change of image data along a line in proximity with at least one of said image data elements.
-
63. The reader of claim 37, wherein said processor in calculating said activities calculates a rate of change of image data in two mutually perpendicular directions.
-
64. The reader of claim 37, wherein said processor is firer adapted to:
-
evaluate several of said activities to identify which of said activities indicate the presence of a high activity region;
define exploratory scan lines relative to said identified high activity region, determine which of said exploratory scan lines includes a highest activity;
select an initial working scan line along a direction in accordance with the direction of the exploratory scan line having the highest activity; and
interpolate sample points along said selected initial working scan line based on neighboring gray scale image data elements.
-
-
65. The reader of claim 64, wherein said processor is further adapted to binarize gray scale image data of said selected initial working scan line.
-
66. The reader of claim 37, wherein said processor is further adapted to:
-
select an initial working scan line;
binarize image data along said working scan line;
subject said binarized image data to at least one decode attempt in accordance with at least one decoding program; and
select a further scan line parallel with said initial working scan line if said decode attempt is unsuccessful.
-
-
67. The reader of claim 37, wherein said processor is further adapted to:
-
acquire image data elements corresponding to a nonplanar surface; and
apply a curvilinear scan line while attempting to decode said bar code symbol.
-
-
68. The reader of claim 37, wherein said processor is further adapted to:
-
determine a position of a high activity candidate symbol region by analysis of gray scale image data; and
find a direction for applying an initial working scan line within said high activity candidate symbol region by analysis of gray scale image data.
-
-
69. The reader of claim 68, wherein said processor is her adapted to binarize image data of said initial working scan line.
-
70. The reader of claim 68, wherein said processor is further adapted to:
-
binarize image data of said initial working scan line; and
subject said binarized image data of said working scan line to a decode attempt using a 1D decoding program.
-
-
71. The reader of claim 37, wherein said reader further includes an artificial light source in communication with said processor for illuminating a target area.
-
72. The reader of claim 37, wherein said reader further includes a display.
-
73. The reader of claim 37, wherein said reader further comprises a display, and wherein said reader is adapted so that said reader displays on said display indicia indicating a symbology type which said reader is presently adapted to attempt to decode.
-
74. The reader of claim 37, wherein said reader further comprises a display, and wherein said reader is adapted to display on said display an indicator indicating whether a multiple symbol option in enabled.
-
75. The reader of claim 37, wherein said reader is in communication with a nonintegrated host processor.
-
76. The reader of claim 37, wherein said reader is in communication with a nonintegrated host processor, and wherein said reader is adapted so that a decoding program which said reader is presently configured to execute is at least one of enabled and disabled via data received from said nonintegrated host processor.
-
77. The reader of claim 37, wherein said reader is configured so that a decoding program which said reader is presently adapted to execute is at least one of enabled and disabled by reading of a menu symbol, wherein said menu symbol encodes a command to change an aspect of operation of said reader.
-
78. The reader of claim 37, wherein said reader is in communication with a memory including a parameter table, said parameter table storing an enabled/disabled status of a plurality decoding programs, wherein said processor is adapted so tat said processor reads data from said parameter table.
-
79. The reader of claim 78, wherein said parameter table is integrated in said reader.
-
80. The reader of claim 78, wherein said parameter table is included in a memory associated with a nonintegrated host processor in communication with said reader.
-
81. The reader of claim 78, wherein said plurality of decoding programs include both 1D and 2D decoding programs.
-
82. The reader of claim 37, wherein said reader includes a trigger in communication with said processor, and wherein said processor is adapted so that, in response to a single actuation of said trigger, said processor attempts to decode and output a plurality of decoded out messages by processing of a single 2D image representation.
-
83. The reader of claim 37, wherein said processor is adapted to receive a command to disable said processor from executing a decoding program for decoding symbols of one certain symbology.
-
84. The reader of claim 37, wherein said processor is adapted to receive a command to disable said processor from executing all decoding programs for decoding 2D symbols.
-
85. The reader of claim 37, wherein said processor is adapted to receive a command to disable said processor from executing all decoding programs for decoding 1D symbols.
-
86. The reader of claim 37, including a 1D image sensor, wherein said processor in acquiring said data elements assemblies 1D slice image representations to generate a 2D image representation.
Specification