IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0958701
(2004-10-04)
|
등록번호 |
US-7506816
(2009-03-24)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
5 인용 특허 :
25 |
초록
▼
Methods and systems better detect edges in a binary optical code, such as a bar code. One method constructs a threshold signal to be used for comparison with an equalized undifferentiated scan line signal imperfectly representing a binary optical code. The method comprises detecting peaks in the equ
Methods and systems better detect edges in a binary optical code, such as a bar code. One method constructs a threshold signal to be used for comparison with an equalized undifferentiated scan line signal imperfectly representing a binary optical code. The method comprises detecting peaks in the equalized undifferentiated scan line signal; determining midpoints between successive detected peaks; and generating a smooth signal based on the midpoints. The generated signal is the threshold signal. In one version of the method, the generating step comprises interpolating between successive midpoints so as to result in a signal passing through the midpoints and low-pass filtering the signal passing through the midpoints so as to result in a filtered signal, which is the threshold signal. In another version of the method, the generating step comprises performing regression using the midpoints so as to generate a signal curve that fits the midpoints according to a criterion. Software, digital, and analog techniques are described.
대표청구항
▼
The invention claimed is: 1. A method for constructing a threshold signal to be used for comparison with an equalized undifferentiated scan line signal imperfectly representing a binary optical code, the method comprising: detecting peaks in the equalized undifferentiated scan line signal; determin
The invention claimed is: 1. A method for constructing a threshold signal to be used for comparison with an equalized undifferentiated scan line signal imperfectly representing a binary optical code, the method comprising: detecting peaks in the equalized undifferentiated scan line signal; determining midpoints between successive detected peaks; generating a smooth signal based on the midpoints, the generated signal being the threshold signal. 2. The method of claim 1, wherein generating the smooth signal comprises: interpolating between successive midpoints so as to result in a signal passing through the midpoints; and low-pass filtering the signal passing through the midpoints so as to result in a filtered signal, the filtered signal being the threshold signal. 3. The method of claim 2, wherein interpolating between successive midpoints comprises: linearly interpolating between successive midpoints. 4. The method of claim 3, wherein interpolating comprises: performing linear interpolation using a Bresenham algorithm. 5. The method of claim 2, wherein low-pass filtering comprises: calculating a moving average of the signal. 6. The method of claim 2, wherein low-pass filtering comprises: using a finite impulse response filter. 7. The method of claim 1, wherein generating the smooth signal comprises: performing regression using the midpoints so as to generate a signal curve that fits the midpoints according to a criterion. 8. The method of claim 7, wherein the regression is based on a polynomial model. 9. The method of claim 7, wherein the criterion is minimization of the sum of squared regression errors. 10. The method of claim 1, wherein the midpoints are 50% midpoints in both value and location. 11. The method of claim 1, wherein the optical code is a bar code having relatively light areas and the relatively dark areas. 12. The method of claim 1, further comprising: equalizing an undifferentiated scan line signal so as to generate the equalized undifferentiated scan line signal. 13. The method of claim 1, further comprising: comparing the threshold signal to the equalized undifferentiated scan line signal; determining locations at which the equalized undifferentiated scan line signal crosses the threshold signal; and indicating the determined locations as locations of edges in the binary optical pattern. 14. The method of claim 13, wherein determining locations comprises: interpolating between crossing successive respective samples of the equalized undifferentiated scan line signal and the threshold signal to determine precisely locations at which they cross one another. 15. A computer-readable medium on which are embedded program instructions performing the method of claim 1. 16. A system for constructing a threshold signal to be used for comparison with an equalized undifferentiated scan line signal imperfectly representing a binary optical code, the system comprising: a means for detecting peaks in the equalized undifferentiated scan line signal; a means for detecting midpoints between successive detected peaks; a means for generating a smooth signal based on the midpoints, the generated signal being the threshold signal. 17. A threshold signal generator comprising: a peak detector having an input accepting an equalized scan line signal, the peak detector generating coordinates of local peaks in the scan line signal; a midpoint calculator having an input accepting the coordinates of the local peaks from the peak detector in their order of occurrence, the midpoint calculator generating coordinates of midpoints between successive peaks; and a signal curve generator having an input accepting the coordinates of the midpoints from the midpoint calculator, the signal generator generating a signal that approximately fits the midpoints. 18. The threshold signal generator of claim 17, wherein the signal curve generator comprises: an interpolator having an input accepting the coordinates of the midpoints from the midpoint calculator, the interpolator generating a signal curve passing through the midpoints; and a low-pass filter having an input accepting the signal curve generated by the interpolator, the low-pass filter producing the threshold signal as an output. 19. The threshold signal generator of claim 17, wherein the signal curve generator comprises: a regression model that fits the midpoints to a parameterized signal model according to an optimum fit criterion. 20. The threshold signal generator of claim 19, wherein the regression model has the form of a polynomial. 21. A method for constructing a threshold signal to be used for comparison with an equalized undifferentiated scan line signal imperfectly representing a binary optical code, the method comprising: detecting local peaks in an equalized undifferentiated scan line signal, wherein the peaks are either positive or negative peaks; generating a top curve based on the positive local peaks; generating a bottom curve based on the negative local peaks; and creating a middle curve that is a pointwise average of the top curve and the bottom curve, wherein the middle curve corresponds to the threshold signal. 22. The method of claim 21, wherein generating the top curve comprises: interpolating between successive positive local peaks so as to result in a signal passing through the positive local peaks; and low-pass filtering the signal passing through the positive local peaks so as to result in a filtered signal, the filtered signal being the top curve; and wherein generating the bottom curve comprises: interpolating between successive negative local peaks so as to result in a signal passing through the negative local peaks; and low-pass filtering the signal passing through the negative local peaks so as to result in the bottom curve. 23. The method of claim 22, wherein interpolating comprises: linearly interpolating between successive like-polarity local peaks. 24. The method of claim 23, wherein interpolating comprises: using a Bresenham algorithm to perform linear interpolation. 25. The method of claim 22, wherein low-pass filtering comprises: calculating a moving average of the signal passing through the like-polarity peaks. 26. The method of claim 22, wherein low-pass filtering comprises: using finite impulse response filters. 27. The method of claim 21, wherein generating the top curve comprises: performing regression using the positive local peaks so as to generate a curve that fits the positive local peaks according to a criterion. 28. The method of claim 21, wherein generating the bottom curve comprises: performing regression using the negative local peaks so as to generate a curve that fits the negative local peaks according to a criterion. 29. The method of claim 21, further comprising: equalizing an undifferentiated scan line signal so as to generate the equalized undifferentiated scan line signal. 30. The method of claim 21, further comprising: comparing the threshold signal to the equalized undifferentiated scan line signal; determining locations at which the equalized undifferentiated scan line signal crosses the threshold signal; and indicating the determined locations as locations of edges in the binary optical pattern. 31. The method of claim 30, wherein the determining locations comprises: interpolating between crossing successive respective samples of the equalized undifferentiated scan line signal and the threshold signal to determine precisely locations at which they cross one another. 32. A computer-readable medium on which are embedded program instructions performing the method of claim 21. 33. A threshold signal generator comprising: a peak detector having an input accepting an equalized scan line signal, the peak detector generating coordinates of local peaks in the scan line signal, wherein the local peaks are either positive or negative local peaks; a first signal curve generator having an input accepting the coordinates of the positive local peaks from the peak detector, the first signal curve generator generating a first signal curve that approximately fits the positive local peaks; a second signal curve generator having an input accepting the coordinates of the negative local peaks from the peak detector, the second signal generator generating a second signal curve that approximately fits the negative local peaks; and an averager having inputs accepting the first signal curve and the second signal curve and generating an output that is a pointwise average of the first and second signal curves, wherein the output is the threshold signal. 34. The threshold signal generator of claim 33, wherein each signal curve generator comprises: an interpolator having an input accepting the coordinates of like-polarity peaks from the peak detector, the interpolator generating a signal curve passing through the like-polarity peaks; and a low-pass filter having an input accepting the signal curve generated by the interpolator, the low-pass filter producing an output signal that is the signal that approximately fits the like-polarity local peaks. 35. The threshold signal generator of claim 33, wherein each signal curve generator comprises: a regression model that fits like-polarity peaks to a parameterized signal model according to an optimum fit criterion. 36. A system for binarizing an undifferentiated scan line signal imperfectly representing a binary optical code, the system comprising: an equalizer having an input accepting the undifferentiated scan line signal, the equalizer producing an output that is an equalized undifferentiated scan line signal; a first analog peak detector having an input accepting the equalized undifferentiated scan line signal, the first analog peak detector producing an output that approximates a top envelope of the equalized undifferentiated scan line signal; a second analog peak detector having an input accepting the equalized undifferentiated scan line signal, the second analog peak detector producing an output that approximates a bottom envelope of the equalized undifferentiated scan line signal; a threshold generator connected to the first analog peak detector and to the second analog peak detector, the threshold generator producing one or more threshold signals based on the outputs of the first analog peak detector and the second analog peak detector; and a binarizing comparator having inputs receiving the equalized undifferentiated scan line signal and the one or more threshold signals, the binarizing comparator producing a binary version of the equalized undifferentiated scan line signal based on the one or more threshold signals. 37. The system of claim 36, further comprising: an offset adjuster having an input accepting the undifferentiated scan line signal and producing an output that is connected to the input of the equalizer. 38. The system of claim 36, wherein the one or more threshold signals comprise: a binarizing threshold that is an average of the outputs of the first and second peak detectors. 39. The system of claim 38, wherein the one or more threshold signals comprise: a print contrast threshold that is a predetermined percentage less than the output of the first peak detector. 40. The system of claim 39, wherein the binarizing comparator produces a binary high output when the equalized undifferentiated scan line signal exceeds both the binarizing threshold and the print contrast threshold. 41. The system of claim 38, wherein the one or more threshold signals comprise: a modulation depth threshold, wherein the modulation depth threshold is a constant larger than a noise floor of the system. 42. The system of claim 41, wherein the binarizing comparator produces a binary high output when both the equalized undifferentiated scan line signal exceeds the binarizing threshold and the difference between the first and second peak detectors exceeds the modulation depth threshold. 43. A system for binarizing an undifferentiated scan line signal imperfectly representing a binary optical code, the system comprising: an equalizer having an input accepting the undifferentiated scan line signal, the equalizer producing an output that is an equalized undifferentiated scan line signal; a first analog peak detector having an input accepting the equalized undifferentiated scan line signal, the first analog peak detector producing an output that approximates a top envelope of the equalized undifferentiated scan line signal, the first peak detector having a first decay time constant; a second analog peak detector having an input accepting the equalized undifferentiated scan line signal, the second analog peak detector producing an output that approximates a bottom envelope of the equalized undifferentiated scan line signal, the second peak detector having a second decay time constant approximately equal to the first time constant; a third analog peak detector having an input accepting the equalized undifferentiated scan line signal, the third analog peak detector producing an output that approximates a bottom envelope of the equalized undifferentiated scan line signal, the third peak detector having a third decay time constant longer than either the first of the second decay time constant; a threshold generator connected to the first, second, and third peak detectors, the threshold generator producing a threshold signal on the basis of the outputs of the first, second, and third analog peak detector; and a binarizing comparator having inputs receiving the equalized undifferentiated scan line signal and the threshold signal, the binarizing comparator producing an output signal that is high only when the equalized undifferentiated scan line signal exceeds the threshold signal. 44. The system of claim 43, wherein the threshold signal is computed as �� (White+BlackLevel) where BlackLevel=min (VL, LocalBlack), VL=�� (White-GlobalBlack), White =the output of the first peak detector, LocalBlack=the output of the second peak detector, and GlobalBlack=the output of the third peak detector.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.