An optical reader is provided that can include an image sensor. The optical reader can generate an array of miltibit pixel values. The array of multibit pixel values can be processed. In one embodiment, the image sensor can be provided by a 1D image sensor. In one embodiment, the image sensor can be provided by a 2D image sensor.
|
11. An optical reader for reading a bar code symbol having a series of bars and spaces, said optical reader comprising:
an image sensor and a control circuit, said control circuit being configured to:
(a) generate an array of multi-bit pixel values, wherein intensities of said pixel values define a generally sinusoid pattern, wherein a first set of max-min peaks of said array are attributable to bar-space transitions of said bar code symbol, and wherein a second set of max-min peaks superimposed on a major peak of said array are attributable to noise, wherein amplitudes of said first set of max-min peaks and said second set of max-min peaks have approximately the same value
(b) process said array of multi-bit pixel values to discriminate between said first set and said second set of max-min peaks; and
(c) digitize said first set of max-min peaks without digitizing said second set of max-min peaks.
14. An optical reader having an image sensor, and an illumination system, said reader comprising:
generating circuit for generating an array of multibit pixel values;
establishing circuit for establishing max and min peak tracking lines for said array of pixel values;
developing circuit for developing peak characterizing data characterizing peaks of said array of multibit pixel values, the developing circuit being responsive to a circuit that subjects said array to iteratively aggressive peak sensing thresholds;
determining circuit for determining at least one digitization parameter based on said developed peak characterizing data, wherein said at least one digitization parameter includes at least one of a peak sensing threshold parameter, and a grey band position parameter; and
finding circuit for finding edge positions represented by said array of pixel values utilizing said at least one digitization parameter.
18. A method for decoding a bar code symbol having a series of bars and spaces, said method comprising the steps of:
(a) generating an array of multi-bit pixel values, the intensities of the pixel values defining a generally sinusoidal pattern and having a first set of max-min peaks that are attributable to bar space transitions of said array and a second set of max-min peaks superimposed on a major peak of said array that are attributable to noise, wherein the amplitudes of the first set of max-min peaks and the second set of max-min peaks have approximately the same value,
(b) processing said array of multi-bit pixel values to discriminate whether a certain set of max-min peaks therein are of said first set or said second set; and
(c) digitizing said certain set of max-min peaks conditionally on the condition that in said processing step (b) it is determined that said certain set of max-min peaks is of said first set.
27. An optical reader for reading a bar code symbol having a series of bars and spaces, said optical reader comprising:
an image sensor and a control circuit, said control circuit being configured to:
(a) generate an array of multi-bit pixel values, wherein intensities of said pixel values define a generally sinusoid pattern, wherein a first set of max-min peaks proximate are attributable to bar-space transitions of said bar code symbol, and wherein a second set of max-min peaks are attributable to noise;
(b) process said array of multi-bit pixel values to discriminate between said first set and said second set of max-min peaks, wherein said processing step (b) includes the steps of (i) determining peak tracking lines; (ii) establishing a grey band as a percentage of the peak tracking lines, and (iii) determining whether the set of max-min peaks are within said grey band; and
(c) digitize said first set of max-min peaks without digitizing said second set of max-min peaks.
28. A method for decoding a bar code symbol having a series of bars and spaces, said method comprising the steps of:
(a) generating an array of multi-bit pixel values, the intensities of the pixel values defining a generally sinusoidal pattern and having a first set of max-min peaks that are attributable to bar space transitions of said array and a second set of max-min peaks that are attributable to noise,
(b) processing said array of multi-bit pixel values to discriminate whether a certain set of max-min peaks therein are of said first set or said second set, wherein said processing step (b) includes the steps of (i) determining peak tracking lines; (ii) establishing a grey band as a percentage of the peak tracking lines, and (iii) determining whether the set of max-min peaks are within said grey band; and
(c) digitizing said certain set of max-min peaks conditionally on the condition that in said processing step (b) it is determined that said certain set of max-min peaks is of said first set.
20. An optical reader having an image sensor, and an illumination system, said reader comprising:
generating means for generating an array of multibit pixel values;
establishing means for establishing max and min peak tracking lines for said array of pixel values;
subjecting means for subjecting said array of multibit pixel to a peak characterizing data development routine, wherein said subjecting circuit includes circuit for sensing peaks of said array of pixel values using iteratively aggressive peak sensing thresholds;
developing means responsive to said subjecting circuit for developing peak characterizing data characterizing peaks of said array of multibit pixel values;
determining means for determining a plurality of digitization parameters based on said developed peak characterizing data, wherein said plurality of digitization parameters include a peak sensing threshold parameter, and grey band position parameters; and
finding means for finding edge positions represented by said array of pixel values utilizing said plurality of digitization parameters.
1. An optical reader having an image sensor, and an illumination system, said reader comprising:
generating circuit for generating an array of multibit pixel values;
establishing circuit for establishing max and min peak tracking lines for said array of pixel values;
subjecting circuit for subjecting said array of multibit pixel values to a peak characterizing data development routine, wherein said subjecting circuit includes a circuit for sensing peaks of said array of pixel values using iteratively aggressive peak sensing thresholds;
developing circuit responsive to said subjecting circuit for developing peak characterizing data characterizing peaks of said array of multibit pixel values;
determining circuit for determining a plurality of digitization parameters based on said developed peak characterizing data, wherein said plurality of digitization parameters include a peak sensing threshold parameter, and grey band position parameters; and
finding circuit for finding edge positions represented by said array of pixel values utilizing said plurality of digitization parameters.
2. The reader of
3. The reader of
4. The reader of
5. The reader of
6. The reader of
7. The reader of
8. The reader of
9. The reader of
10. The reader of
12. The optical reader of
13. The method of
15. The reader of
16. The reader of
17. The reader of
19. The method of
21. The reader of
22. The reader of
23. The reader of
25. The reader of
26. The method of
|
This application is a continuation of U.S. patent application Ser. No. 09/810,202, filed on Mar. 16, 2001, now abandoned. The priority of this application is claimed and the disclosure of this application is incorporated herein by reference in its entirety.
The invention relates to optical readers in general and particularly to an image data digitization method for use with an optical reader.
Optical decoding optical readers digitize image data prior to subjecting the image data to decoding processing such as bar code symbology decoding or OCR decoding. It is generally known that the best digitizing algorithm for use in digitizing a certain set of image data depends on features of the image data. A digitization method that may be useful for digitizing image data under a first imaging condition or which correspond to a first type of symbol may not be useful for digitizing image data captured under a second set of imaging conditions or which corresponds to a second type of symbol.
The approach of prior artisans who are cognizant of the fact that a best digitization method for a particular set of image data may vary depending upon features of the image data has been to successively subject the set of image data to multiple digitization algorithms. U.S. Pat. No. 6,082,621, for example, describes an analog digitizer for developing a series of “1” value or “0” value pixel values wherein an analog signal is subjected to multiple grey-to-binary conversion threshold values. If decoding the image data digitized utilizing the first binary conversion threshold fails, the image data is redigitized using a second binary conversion threshold and subjected to decoding again. If decoding again fails, the image data is digitized again using a third binary conversion threshold and so on. In digitization methods which use the reiterative decoding attempt approach method, the digitizing methods useful for digitizing the most commonly encountered image features are tried first, and the least commonly encountered image features last.
It can be seen, therefore, that the above approach can be extremely time consuming. For decoding image data having image features that can be digitized using a method for digitizing rarely seen image features, the image data is subjected to multiple digitation methods and decoding attempts before one is successful. Furthermore, if a symbol representation of a set of image data is of a type that cannot be decoded, several attempts to digitize and decode the symbol representation are nevertheless made.
For a fuller understanding of the nature and objects of the invention, reference should be made to the following detailed description of a preferred mode of practicing the invention, read in connection with the accompanying drawings, in which:
Referring to the flow diagram of
At block 100 an optical reader according to the invention generates an array of multibit (more than one bit) pixel values. The pixel values may correspond to pixels of an image sensor or to samples of pixels from an image sensor. The pixels may be selected from a line of pixels of an image sensor. The line of pixels may comprise pixels from a single row or column of a 2D image sensor or a single row of pixels of a 1D image sensor. The array may also be generated by a reader having a laser scan engine based imaging system. The array may also comprise pixel values representing a diagonal line of pixels in a 2D image sensor and therefore may comprise pixel values of pixels from multiple columns and rows of a 2D image sensor. After generating an array of pixel values at block 100 a reader according to the invention at block 200 establishes max and min peak tracking lines for the array of pixel values. The max and min peak tracking lines track the maximum peaks and minimum peaks of the array of pixels.
At block 300 an optical reader according to the invention then subjects the array of pixel values to a preliminary processing routine which results in the development of peak characterizing data. In one particular embodiment, a reader at block 300 subjects an array of pixel values to iterative peak detection processing utilizing incrementally aggressive peak sensing thresholds. The reader stores data developed as a result of the iterative peak detection processing as peak characterizing data.
The incrementally aggressive peak sensing thresholds which the reader utilizes for peak detection at a particular pixel position of the array preferably depends upon the difference between the max and min peak tracking lines at the particular pixel position, as determined at the tracking line establishing step of block 200.
At block 400 a reader according to the invention determines at least one digitizing parameter based on the peak characterizing data. Utilizing the determined decoding peak sensing threshold and grey band positions, the reader at block 500 determines edge positions for the array of pixel values. If the symbol image representation is of sufficient quality, the message request by the array, of pixel values is then decoded.
Optical readers having image capture capability in which the invention can be employed are described with reference to
Examples of optical readers having advanced user inputs and outputs are shown in physical form in
Block diagrams illustrating various types of optical readers are shown in
Reader processor system 30 of
More particularly, processor 42 is preferably a general purpose, off-the-shelf VLSI integrated circuit microprocessor which has overall control of the circuitry of
The actual division of labor between processor 42 and ASIC 44 will naturally depend on the type of off-the-shelf microprocessors that are available, the type of image sensor which is used, the rate at which image data is output by imaging assembly 33, etc. There is nothing in principle, however, that requires that any particular division of labor be made between processors 42 and 44, or even that such a division be made at all.
With processor architectures of the type shown in
ASIC 44 is preferably devoted primarily to controlling the image acquisition process, the A/D conversion process and the storage of image data, including the ability to access memories 46-1 and 47-1 via a DMA channel. ASIC 44 may also perform many timing and communication operations. ASIC 44 may, for example, control the illumination of LEDs 22, the timing of image sensor 32 and an analog-to-digital (A/D) converter 36-1, the transmission and reception of data to and from a processor system external to assembly 30, through an RS-232, a network such as an Ethernet, a serial bus such as USB, a wireless communication link (or other) compatible I/O interface as is indicated by interface 37-2. ASIC 44 may also control the outputting of user perceptible data via an output device, such as aural output device 14a, a good read LED 14g and/or a display monitor which may be provided by a liquid crystal display such as display 14d. Control of output, display and I/O functions may also be shared between processors 42 and 44, as suggested by bus driver I/O interface 37-3 or duplicated, as suggested by microprocessor serial I/O interface 37-1 and interface 37-2. As explained earlier, the specifics of this division of labor is of no significance to the present invention.
An operator operating optical reader 10b can reprogram reader 10b in a variety of three different ways. In one method for reprogramming reader 10-b, an operator actuates a control button of keyboard 13k which has been pre-configured to result in the reprogramming of reader 10b. In another method for reprogramming reader 10b an operator actuates control of a processor system not integral with reader 10b to transmit an instruction to reprogram reader 10b. According to another method for reprogramming reader 10b, an operator moves reader 10b so that a “menu symbol” is in the field of view of image sensor 32 and then activates trigger 13t of reader 10b to capture an image representation of the menu symbol. A menu symbol is a specially designed bar code symbol which, when read by an appropriately configured optical reader results in a reader being programmed. The reprogramming of an optical reader with use of a menu symbol is described in detail in commonly assigned U.S. Pat. No. 5,965,863 incorporated herein by reference. Because the second and third of the above methodologies do not require actuation of a reader control button of keyboard 13k but nevertheless result in a reader being reprogrammed, it is seen that reader may be keyboardless but nevertheless reprogrammable.
A typical software architecture for an application operating program typically executed by an optical reader as shown in
Referring now to specific aspects of, the software architecture of operating program 60, operating program 60 includes an instruction section 62, and a parameter section 64. Further, instruction section 62 may include selectable routine section 62s. Instructions of instruction section 62 control the overall flow of operation of reader 10. Some instructions of instruction section 62 reference a parameter from a parameter table of parameter section 64. An instruction of instruction section 62 may state in pseudocode, for example, “Set illumination to level determined by [value in parameter row x].” When executing such an instruction of instruction section 62, control circuit 40 may read the value of parameter row 64x. An instruction of instruction section 62 may also cause to be executed a selectable routine, that is selected depending on the status of a parameter value of parameter section 64. For example, if the application program is a bar code decoding algorithm then an instruction of instruction section 62 may state in pseudocode, for example, “Launch Maxicode decoding if Maxicode parameter of parameter row 64y is set to “on.” When executing such an instruction, control circuit 40 polls the contents of row 64y of parameter section 64 to determine whether to execute the routine called for by the instruction. If the parameter value indicates that the selectable routine is activated, control circuit 40, executes the appropriate instructions of routine instruction section 62s to execute the instruction routine.
It is seen, therefore, that the above described software architecture facilitates simplified reprogramming of reader 10. Reader 10 can be reprogrammed simply by changing a parameter of parameter section 64 of program 60, without changing the subroutine instruction section 62s or any other code of the instruction section 62 simply by changing a parameter of parameter section 64. The parameter of a parameter value of section 62 can be changed by appropriate user control entered via keyboard 13k, by reading a menu symbol configured to result in a change in parameter section 64, or by downloading a new parameter value or table via a processor system other than system 40-1. The reprogramming of reader 10b can of course also be accomplished by downloading an entire operating program including sections 62 and 64 from a processor system other than system 40-1.
Another architecture typical of an optical reader is shown in
In architectures shown in
Referring to further aspects of readers 10a, 10b, and 10c at least one I/O interface e.g. interface 37-1, 37-2, and 37-3 facilitates local “wired” digital communication such as RS-232, Ethernet, serial bus including Universal Serial Bus (USB), or local wireless communication technology including “Blue Tooth” communication technology. At least one I/O interface, e.g. interface 37-3, meanwhile, facilitates digital communication with remote processor system 41-1 in one of available remote communication technologies including dial-up, ISDN, DSL, cellular or other RF, and cable. Remote processor assembly 88-1 may be part of a network 88N of processor systems as suggested by assemblies 88-2, 88-3, and 88-4 links 88L and hub 88H e.g. a personal computer or main frame computer connected to a network, or a computer that is in communication with reader 10c only and is not part of a network. The network 88N to which system 88-1 belongs may be part of the internet. Further, assembly 88-1 may be a server of the network and may incorporate web pages for viewing by the remaining processor assemblies of the network. In addition to being in communication with reader 10c, system 88-1 may be in communication with a plurality of additional readers 10′ and 10.” Reader 10c may be part of a local area network (LAN). Reader 10 may communicate with system 88-1 via an I/O interface associated with system 88-1 or via an I/O interface 881 of network 88N such as a bridge or router. While the components of readers 10a, 10b, and 10c are represented in
Furthermore, the number of processors of reader 10 is normally of no fundamental significance to the present invention. In fact if processor 42 is made fast enough and powerful enough special purpose ASIC processor 44 can be eliminated. Likewise referring to reader 10c a single fast and powerful processor can be provided to carry out all of the functions contemplated by processors 40hp, 42, and 44 as is indicated by the architecture of reader 10e of
Referring to the embodiment of
The reader communication system of
As described in U.S. Pat. No. 5,965,863, incorporated herein by reference, one function typically provided by nonintegrated local host processor system 70s is to create operating programs for downloading into reader 10. Processor system 70s typically has an operating system incorporated therein, such as WINDOWS, which enables an operator to develop operating programs using a graphical user interface. Nonintegrated local processor system 70s also can be configured to receive messages an/or image data from more than one reader, possibly in a keyboard wedge configuration as described in U.S. Pat. No. 6,161,760, incorporated herein by reference. It is also convenient to employ processor processing. For example a spreadsheet program can be incorporated in system 70s which is useful for analyzing data messages from reader 10e. An image processing application can be loaded into system 70s which is useful for editing, storing, or viewing electronic images received from reader 10e. It is also convenient to configure reader 10e to coordinate communication of data to and from remote processor assembly 88-1. Accordingly processor assembly 68 typically includes I/O interface 74-2 which facilitates remote digital communication with a remote processor assembly, e.g. assembly 88-1 as shown in
Referring now to aspect of the invention in further detail with reference again to
In one embodiment of the invention, image sensor 32 is a 1D image sensor comprising a single row of pixels and the array of pixel values generated at block 100 comprises one pixel value corresponding to each pixel value of image sensor 32. The embodiment in which the array of pixel values generated at block 100 corresponds to a complete row of pixels of a linear pixel array is expressed in
Alternative embodiments of the array of pixel values which control circuit 40 may generate at block 100 are indicated with references to
Referring again to the flow diagram of
Referring again to the main flow diagram of
A peak sensing threshold is a threshold value used to sense whether an array 210 includes a peak. In an exemplary embodiment of the invention, peak sensing thresholds may be values defining a certain percentage of the difference between the max and min tracking lines 212-1 and 212-2. Thus the peak sensing threshold may depend on the pixel position of a peak. At position 310 in the example of
In a first step of a routine for developing peak characterizing data, referring to the example of
During the course of subjecting array 210-1 to peak detection using a particular peak sensing threshold, control circuit 40 assembles certain data resulting from application of the threshold. Specifically, control circuit 40 records the number of recorded peaks, N, and records a PEAKLEVEL value recorded using the peak sensing threshold. The PEAKLEVEL value can be selected to be the value of the highest new peak sensed by application of the present peak sensing threshold. The PEAKLEVEL value may also be calculated by averaging a plurality and perhaps all recorded peak values recorded during application of the present peak sensing threshold. The PEAKLEVEL value is typically recorded as a percentage of max peak tracking line 212. In applying a 50% peak sensing threshold to array 210-1, control circuit 40 records max peak pixel values 320, 332, 336, and 340 and min peak pixel values 328, 330, 334, and 338 as recorded peak pixel values of array 210-1. The highest max peak of array 7a detected with a 50% peak sensing threshold is peak 332. This peak is at 100% of the max peak tracking line 221. The data developed by application of a 50% peak sensing threshold 15 given by Table 1.
TABLE 1
Threshold
Number of Peaks, N
PEAKLEVEL
50%
7
100%
After developing shape characterizing data using a first peak sensing threshold (e.g., 50%) control circuit 40 develops additional peak characterizing data using a second, more aggressive peak sensing threshold, e.g., 25%. Since it is selected to be smaller than the first, the second peak sensing level will by definition sense all of the peaks sensed using the first threshold. Accordingly, control circuit 40 can be configured to avoid applying the second peak sensing threshold to peaks already sensed using the first peak sensing threshold. During the course of subjecting an array 210 to a second peak sensing threshold, control circuit 40 records data similar to that recorded during the course of sensing peaks using the first peak sensing threshold, except that instead of recording all of the peaks which would be detected by subjecting entire array 210-1 to the threshold, control circuit 40 records only the “new” peaks sensed using the second seeing threshold. Similarly, the PEAKLEVEL value recorded during the course of applying a second threshold to array 210-1 is made to correspond to the maximum “new” peak sensed using the second threshold. Applying a second, 25% peak sensing threshold in the example of
TABLE 2
Threshold
Number of Peaks, N
PEAKLEVEL
25%
6
68%
After developing peak characterizing data applying a second peak sensing threshold, control circuit 40 may apply a third, a fourth, and possibly additional peak sensing thresholds to array 210-1, and record the peak characterizing data resulting from application of the thresholds. The peak characterizing data developed from application of the multiple peak sensing thresholds is conveniently expressed in matrix form, as is indicated herein.
With reference again to the flow diagram of
A set of rules for establishing a digitizing peak sensing level based on a set of peak characterizing data is as follows:
Rule I was determined experimentally. It was found experimentally that if a given threshold yields no peaks, then peaks sensed by subsequent thresholds are mainly attributable to noise. Rule II was also determined experimentally. It was found that if aggressive thresholds yield a small percentage of the total number of peaks, those peaks sensed by the aggressive thresholds are substantially attributable to noise. Rule III is based on the observation that “minor” peaks occurring in a transition region (center region) of an array of pixel values are more likely to be attributable to bar space transitions than are “minor” peaks proximate tracking lines 212 and 213, as is discussed in connection with
In addition to determining a digitization peak sensing threshold based on the developed shape characterizing data, control circuit at block 400 may determine a digitization “grey band” position based on the peak characterizing data. A brief explanation of “grey banding” is provided herein with reference to
A representation of a “noisy” array of pixel values is shown in
In accordance with the invention, control circuit 40 establishes grey band boundary lines 412 and 413 in a manner that depends on peak characterizing data developed at block 300.
For a given digitization peak sensing threshold selection, grey band boundaries 412 and 413 may be established as predetermined percentages of max peak tracking line 212 and min peak tracking line 213. For example if the 50% threshold is selected as the digitization threshold, then grey band boundaries 412 and 413 may be established at the 75% of max peak line 212 and 25% of the min peak tracking line 213 respectively. Similarly, for smaller digitization threshold selections, grey bands 412 and 413 can be established at predetermined percentages of tracking lines 212 and 213 such that they are closer to tracking lines 212 and 213.
However, for improved accuracy in the digitization process, it is normally preferable to establish either or both grey band boundaries 412 and 413 in accordance with an “average high peak” value and “average low peak” value respectively in the case that these values deviate substantially from max and min peak tracking lines 212 and 213. Establishing grey band boundaries at levels determined by the average high peak and average low peak values in the case these values deviate substantially from tracking lines 212 and 213 encourages the establishment of grey band boundaries in areas of an array such that minor peaks likely to be attributable to noise are excluded from the grey band region.
The average max peak value is the average of all maximum peaks, expressed as a percentage of max and min peak tracking lines 212 and 213, detected using the selected digitization thresholds and larger thresholds (e.g. if the 25% threshold is selected, all peaks detected using the 50% and 25% thresholds). The average min peak value is the average of all minimum peaks, expressed as a percentage of the max and min peak tracking lines 212 and 213, detected using the selected digitization threshold and data development thresholds larger than the selected digitization threshold. If all of the detected max peaks fall on max peak tracking line 212 then the average max peak value is 100%. If all of the detected min peaks fall on min peak tracking line 213 then the average min peak value is 0%. The average max peak and min peak values normally deviate from the 100% and 0% values however. In the particular example of
In addition to being made dependent on the average high peak and low peak value, rules for establishing grey band boundaries 412 and 413 are also preferably made dependent on the peak sensing threshold selection.
An exemplary set of rules for establishing grey band boundaries 412 and 413 based on developed peak characterizing data developed at block 300 is as follows:
It is seen from the above grey band positioning rules, that in general the grey band is established closer to the major peaks of an array of pixel values 210 when control circuit 40 selects a more aggressive peak sensing threshold as a digitizing threshold, unless average high and/or low peak values force another result. This general rule is based on the observation that the selection of a more aggressive peak sensing threshold normally indicates that an array 210 comprises a higher signal-to-noise ratio. Wide grey band regions are appropriate for digitizing arrays having higher signal-to-noise ratios.
Examples of the invention illustrating application of the above rules are described with reference to
Referring now to the rules for positioning of grey band boundaries in the example of
Peak characterizing data 430-2 in the example of
In the example of high peak characterizing data 430-2h, Rule III of the peak sensing threshold selection rules applies. Rule I does not apply because there is no applied threshold that yields zero new peaks. Rule II does not apply because the exception to Rule II, Rule III applies. Rule III states that if the PEAKLEVEL values decreases and then increases, establish the peak sensing level to correlate with the row at which the PEAKLEVEL value last decreased. In the example of peak characterizing data 430-2h this threshold is the 12.5% threshold.
Referring now to the low peak shape characterizing data 430-21 shown in
Applying the rules for the positioning of grey band boundaries to the example of
Applying the above digitization peak sensing determination rules to the high peak characterizing data 430-3h, it is seen that Rule III applies (PEAKLEVEL decreases and then increases), and the high digitizing peak sensing threshold is established, therefore, at 12.5%. Applying the above digitization peak sensing determination rules to the low peak characterizing data 430-31, Rule II applies, and the low peak digitization peak sensing threshold is determined to be 6.25%. It is seen that operation of the peak sensing threshold determining rules results in a selection of a more aggressive low peak sensing threshold than a high peak sensing threshold in the case of an overgrown symbol. This is a useful result since high peaks are more likely to be attributable to noise than low peaks in the case of an overgrown symbol.
Applying the grey band position determining rules using high peak shape characterizing data 430-3h, it is seen that the average high peak value (55%) is within the default boundary corresponding to Rule C (87.25%). Accordingly, the upper grey band boundary is determined to be 55%. Applying the grey band position determining rules using the low peak shape characterizing data 430-31, it is seen that average low peak value (27%) is within the default boundary corresponding to Rule D of the grey band positioning rules (6.25%). Accordingly, the low grey band is determined to be 27%. It is seen that operation of the grey band positioning rules operate to bias the grey band toward min tracking line 213-5 in the case of an overgrown symbol.
Applying the above digitization peak sensing determination rules to the high peak characterizing data 430-4h, Rule II applies, and the low peak digitization peak sensing threshold is determined to be 6.25%. Applying the above digitization peak sensing determination rules to the low peak characterizing data 430-41, it is seen that Rule III applies (min PEAKLEVEL increases and then decreases), and the low digitizing peak sensing threshold is, therefore, established at 12.5%. It is seen that operation of the peak sensing threshold determining rules results in a selection of a more aggressive high peak sensing threshold than a low peak sensing threshold in the example provided of an undercut symbol. This is normally a useful result since low peaks are more likely to be attributable to noise than high peaks in the case of an undercut symbol.
Applying the grey band position determining rules using high peak shape characterizing data 430-4h, it is seen that the average high peak value (82%) is within the default boundary corresponding to Rule D (92.75%). Accordingly, the upper grey band boundary is determined to be 82%. Applying the grey band position determining rules using the low peak shape characterizing data 430-41, it is seen that average low peak value (32%) is within the default boundary corresponding to Rule C of the grey band positioning rules (6.25%). Accordingly, the low grey band is determined to be 32%. It is seen that operation of the grey band positioning rules operate to bias the grey band toward max peak tracking line 212-6 in the case of an undercut symbol. This is a useful result since minor peaks attributable to a symbol transition are expected to be found toward max peak tracking line 212-6 in the case of an undercut symbol.
Referring again to the flow diagram of
In the alternative, and in accordance with another aspect of the invention, the transition position between a pair of successive peaks can be derived, in part, from peak characterizing data of an array 210. Specifically a transition position can be derived, in part, based on a relationship between the average high peak value and average low peak value described herein. In the peak characterizing data corresponding to the array of
While the present invention has been explained with reference to the structure disclosed herein, it is not confined to the details set forth and this invention is intended to cover any modifications and changes as may come within the scope of the following claims:
Patent | Priority | Assignee | Title |
7471828, | Mar 16 2001 | Hand Held Products, Inc. | Adaptive digitizer for optical reader |
8192268, | Apr 16 2007 | Instant lottery ticket vending machine with ticket reveal and scan for computer generated display of results | |
8210921, | Apr 16 2007 | Instant lottery ticket vending machine with ticket reveal and scan for computer generated display of results | |
8261179, | Jul 16 2009 | Benevoltek, Inc.; BENEVOLTEK, INC | Web page hot spots |
9818264, | Jul 08 2014 | Pull tab ticket handler and revealer with computer generated display | |
9870520, | Aug 02 2013 | INTUIT INC. | Iterative process for optimizing optical character recognition |
Patent | Priority | Assignee | Title |
3582884, | |||
3723970, | |||
4097847, | Jul 10 1972 | SCAN-OPTICS, LLC | Multi-font optical character recognition apparatus |
4628532, | Jul 14 1983 | SCAN-OPTICS, LLC | Alphanumeric handprint recognition |
4646353, | Mar 25 1983 | Stork Screens B.V. | Method for checking patterns and apparatus to carry out such method |
4794239, | Oct 13 1987 | Intermec IP Corporation | Multitrack bar code and associated decoding method |
4874936, | Apr 08 1988 | UNITED PARCEL SERVICE OF AMERICA, INC , A DE CORP | Hexagonal, information encoding article, process and system |
4896029, | Apr 08 1988 | United Parcel Service of America, Inc.; United Parcel Service of America, Inc | Polygonal information encoding article, process and system |
4901073, | Dec 04 1986 | Regent of the University of California | Encoder for measuring the absolute position of moving elements |
4998010, | Apr 19 1988 | United Parcel Service of America, Inc. | Polygonal information encoding article, process and system |
5138140, | Aug 22 1990 | Symbol Technologies, Inc. | Signature capture using electro-optical scanning |
5153418, | Oct 30 1990 | Omniplanar, Inc. | Multiple resolution machine readable symbols |
5159340, | Aug 31 1990 | PHONE TEL COMMUNICATIONS, INC | Signal digitizer for bar code readers |
5189292, | Oct 30 1990 | Omniplanar, Inc. | Finder pattern for optically encoded machine readable symbols |
5223701, | Oct 30 1990 | Ommiplanar Inc. | System method and apparatus using multiple resolution machine readable symbols |
5227614, | Aug 15 1986 | Intermec Technologies Corporation | Core computer processor module, and peripheral shell module assembled to form a pocket size data capture unit |
5235167, | Oct 21 1989 | Symbol Technologies, Inc. | Laser scanning system and scanning method for reading bar codes |
5272323, | Nov 22 1989 | Symbol Technologies, Inc. | Digitizer for barcode scanner |
5286960, | Nov 04 1991 | Welch Allyn Data Collection, Inc | Method of programmable digitization and bar code scanning apparatus employing same |
5294783, | Jan 10 1992 | Welch Allyn Data Collection, Inc | Analog reconstruction circuit and bar code reading apparatus employing same |
5304786, | Jan 05 1990 | SYMBOL TECHNOLOGIES, INC , A CORP OF DELAWARE | High density two-dimensional bar code symbol |
5304787, | Jun 01 1993 | Symbol Technologies, Inc | Locating 2-D bar codes |
5311001, | Sep 13 1991 | Symbol Technologies, Inc. | Analog waveform decoder utilizing histogram of edge sizes |
5313533, | Jan 25 1991 | Eastman Kodak Company | System and method for bidirectional adaptive thresholding |
5343028, | Aug 10 1992 | United Parcel Service of America, Inc. | Method and apparatus for detecting and decoding bar code symbols using two-dimensional digital pixel images |
5378881, | May 29 1992 | Olympus Optical Co., Ltd. | Bar code reader for accurately reading two-dimensional bar code images |
5412197, | Jan 29 1993 | United Parcel Service of America, Inc. | Method and apparatus for decoding bar code symbols using gradient signals |
5418862, | Aug 10 1992 | United Parcel Service of America | Method and apparatus for detecting artifact corners in two-dimensional images |
5422470, | Aug 31 1992 | Olympus Optical Co., Ltd. | Symbol information reading apparatus |
5428211, | May 02 1994 | United Parcel Service of America, Inc | Postnet bar code decoder |
5430472, | Aug 08 1991 | Xerox Corporation | Method and apparatus for eliminating distortion via overscanned illumination for optical printers and the like having high gamma photosensitive recording media and high addressability |
5463214, | Mar 04 1994 | HAND HELD PRODUCTS, INC | Apparatus for optimizing throughput in decoded-output scanners and method of using same |
5477042, | Jun 01 1993 | Symbol Technologies, Inc | 2-D bar code scanner/decoder having a redundancy canceller |
5478999, | Aug 10 1992 | United Parcel Service of America, Inc. | Method and apparatus for decoding bar code symbols along search steps |
5479515, | May 11 1994 | HAND HELD PRODUCTS, INC | One-dimensional bar code symbology and method of using same |
5487115, | May 14 1992 | United Parcel Service | Method and apparatus for determining the fine angular orientation of bar code symbols in two-dimensional CCD images |
5489769, | May 26 1992 | Olympus Optical Co., Ltd. | Symbol information reading apparatus |
5502297, | Oct 22 1992 | Intermec IP Corporation | Method and apparatus for detecting the presence of a surface bearing a bar code symbol |
5524068, | Aug 21 1992 | United Parcel Service of America, Inc. | Method and apparatus for finding areas of interest in images |
5537431, | Jun 15 1994 | International Business Machines Corporation | Method and apparatus for bar code reading and decoding |
5565669, | Sep 06 1995 | Intermec IP Corporation | Orientation independent method for robust computing of X-dimensions in code one symbols |
5591955, | May 11 1993 | Portable data file readers | |
5591956, | May 15 1995 | Welch Allyn Data Collection, Inc | Two dimensional data encoding structure and symbology for use with optical readers |
5600119, | Oct 21 1988 | Symbol Technologies, Inc. | Dual line laser scanning system and scanning method for reading multidimensional bar codes |
5612524, | Nov 25 1987 | VCODE HOLDINGS, INC | Identification symbol system and method with orientation mechanism |
5621203, | Sep 25 1992 | Symbol Technologies, Inc | Method and apparatus for reading two-dimensional bar code symbols with an elongated laser line |
5637849, | May 31 1995 | Symbol Technologies, LLC | Maxicode data extraction using spatial domain features |
5638465, | Jun 14 1994 | Nippon Telegraph and Telephone Corporation | Image inspection/recognition method, method of generating reference data for use therein, and apparatuses therefor |
5666167, | Sep 15 1992 | Thomson Consumer Electronics, Inc. | Bias control apparatus for a data slicer in an auxiliary video information decoder |
5698833, | Apr 15 1996 | United Parcel Service of America, Inc. | Omnidirectional barcode locator |
5699447, | Nov 16 1990 | Applied Materials Israel Ltd | Two-phase optical inspection method and apparatus for defect detection |
5710417, | Oct 21 1988 | Symbol Technologies, LLC | Bar code reader for reading both one dimensional and two dimensional symbologies with programmable resolution |
5723853, | Jan 10 1995 | HAND HELD PRODUCTS, INC | Bar code reader |
5726435, | Mar 14 1995 | Denso Wave Incorporated | Optically readable two-dimensional code and method and apparatus using the same |
5739518, | May 17 1995 | Symbol Technologies, LLC | Autodiscrimination for dataform decoding and standardized recording |
5773806, | Jul 20 1995 | Welch Allyn Data Collection, Inc | Method and apparatus for capturing a decodable representation of a 2D bar code symbol using a hand-held reader having a 1D image sensor |
5773810, | Mar 29 1996 | Welch Allyn Data Collection, Inc | Method for generating real time degree of focus signal for handheld imaging device |
5774357, | Dec 23 1991 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Human factored interface incorporating adaptive pattern recognition based controller apparatus |
5814801, | May 31 1995 | Symbol Technologies, LLC | Maxicode data extraction using spatial domain features exclusive of fourier type domain transfer processing |
5867594, | Jun 15 1994 | Symbol Technologies, Inc | Recognizing dataforms in image areas |
5867595, | Jun 15 1994 | Symbol Technologies, Inc | Recognizing dataforms in image areas |
5875108, | Dec 23 1991 | Microsoft Technology Licensing, LLC | Ergonomic man-machine interface incorporating adaptive pattern recognition based control system |
5914476, | Nov 04 1997 | Welch Allyn Data Collection, Inc | Optical reader configured to accurately and rapidly read multiple symbols |
5917945, | Jun 15 1994 | Symbol Technologies, LLC | Recognizing dataforms in image areas |
5920477, | Dec 23 1991 | Blanding Hovenweep, LLC; HOFFBERG FAMILY TRUST 1 | Human factored interface incorporating adaptive pattern recognition based controller apparatus |
5932862, | Mar 04 1994 | Welch Allyn Data Collection, Inc | Optical reader having improved scanning-decoding features |
5942741, | Mar 04 1994 | HAND HELD PRODUCTS, INC | Apparatus for optimizing throughput in decoded-output scanners and method of using same |
5949052, | Oct 17 1997 | Welch Allyn Data Collection, Inc | Object sensor system for stationary position optical reader |
5965863, | Mar 04 1994 | HAND HELD PRODUCTS, INC | Optical reader system comprising local host processor and optical reader |
5979763, | Oct 13 1995 | Symbol Technologies, LLC | Sub-pixel dataform reader with dynamic noise margins |
6012640, | Jul 08 1997 | Intermec IP Corporation | Rule based and fuzzy logic method and apparatus for processing reflectance signals from machine-readable symbols or images |
6053407, | May 31 1995 | Symbol Technologies, LLC | Maxicode data extraction using spatial domain features |
6064763, | Jul 26 1996 | Intermec IP Corporation | Time-efficient method of analyzing imaged input data to locate two-dimensional machine-readable symbols or other linear images therein |
6070800, | Dec 10 1996 | Matsushita Electric Industrial Co., Ltd. | Bar code image processing apparatus capable of identifying position and direction of a bar code |
6082619, | Dec 16 1998 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
6082621, | Apr 02 1992 | Symbol Technologies, Inc | Interface between threshold processing digitizer for bar code reader |
6129278, | May 19 1994 | Symbol Technologies, LLC | Detecting image cell position with subpixel accuracy |
6161760, | Sep 14 1998 | Welch Allyn, Inc | Multiple application multiterminal data collection network |
6176428, | Apr 07 1999 | Symbol Technologies, LLC | Techniques for reading postal code |
6264105, | Nov 05 1998 | HAND HELD PRODUCTS, INC | Bar code reader configured to read fine print barcode symbols |
6371373, | May 25 1999 | Matsushita Electric Industrial Co., Ltd. | Method for reading a two-dimensional barcode |
6443360, | Dec 21 2000 | DATALOGIC S P A | Method and device for focusing an electrical signal representative of an optical code |
6508404, | Mar 07 1997 | Accu-Sort Systems, Inc. | Symbology scanning system for efficiently locating coded symbologies |
6547142, | May 31 1995 | Symbol Technologies, LLC | Method of scanning indicia using selective sampling |
6565003, | Dec 16 1998 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
6575367, | Nov 05 1998 | Welch Allyn Data Collection, Inc | Image data binarization methods enabling optical reader to read fine print indicia |
6578768, | Mar 20 1998 | MasterCard International Incorporated | Method and device for selecting a reconfigurable communications protocol between and IC card and a terminal |
6672511, | Jun 03 1996 | Symbol Technologies, LLC | Omnidirectional reading of two-dimensional symbols |
6678412, | Apr 08 1999 | Denso Corporation | Method for detecting a two-dimensional code existing area, method reading two-dimensional code, and a recording medium storing related programs |
6685095, | May 05 1998 | PSION INC | Apparatus and method for decoding damaged optical codes |
6814290, | Nov 05 1998 | Hand Held Products, Inc. | Method for processing images captured with bar code reader having area image sensor |
6834806, | Nov 14 2000 | DATALOGIC S P A | Method for locating the transitions between the elements of a bar code |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 18 2001 | MEIER, TIMOTHY P | Welch Allyn Data Collection, Inc | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 020083 | /0268 | |
Jun 28 2001 | Welch Allyn Data Collection, Inc | HAND HELD PRODUCTS, INC | CHANGE OF NAME SEE DOCUMENT FOR DETAILS | 020083 | /0271 | |
Mar 26 2004 | Hand Held Products, Inc. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 22 2010 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 24 2014 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 05 2018 | M1553: Payment of Maintenance Fee, 12th Year, Large Entity. |
Date | Maintenance Schedule |
Apr 10 2010 | 4 years fee payment window open |
Oct 10 2010 | 6 months grace period start (w surcharge) |
Apr 10 2011 | patent expiry (for year 4) |
Apr 10 2013 | 2 years to revive unintentionally abandoned end. (for year 4) |
Apr 10 2014 | 8 years fee payment window open |
Oct 10 2014 | 6 months grace period start (w surcharge) |
Apr 10 2015 | patent expiry (for year 8) |
Apr 10 2017 | 2 years to revive unintentionally abandoned end. (for year 8) |
Apr 10 2018 | 12 years fee payment window open |
Oct 10 2018 | 6 months grace period start (w surcharge) |
Apr 10 2019 | patent expiry (for year 12) |
Apr 10 2021 | 2 years to revive unintentionally abandoned end. (for year 12) |