P
US6840450B2ExpiredUtilityPatentIndex 63

Ink-spread compensated bar code symbology and compensation methods

Assignee: SYMBOL TECHNOLOGIES INCPriority: Dec 15, 2000Filed: Apr 23, 2004Granted: Jan 11, 2005
Est. expiryDec 15, 2020(expired)· nominal 20-yr term from priority
Inventors:SCHUESSLER FREDERICK
G06K 19/06028
63
PatentIndex Score
3
Cited by
18
References
51
Claims

Abstract

A method for producing an ink-spread compensated variant of an existing optical code encodation scheme, wherein the existing encodation scheme has printed areas and spaces having a length in at least one dimension being a function of a given unit length for encoding information. In the method, the pattern of printed areas and spaces for a given data input is determined and a given length is added to the length of each space while the length of the printed areas remains unchanged to enlarge the overall length of the resulting code symbol in the at least one dimension.

Claims

exact text as granted — not AI-modified
1. An optical code reading device for reading presented compensated optical codes having printed areas and spaces, the reading device comprising:
 a decoder module for decoding a presented compensated optical code, wherein the decoder module includes software instructions executable on a processor for performing an algorithm including the steps of: 
 uncompensating the compensated optical code by compensating for a predetermined adjustment in length of a dimension of individual spaces of the optical code without compensating for a change in the length of the dimension of individual printed areas of the compensated optical code for generating an uncompensated optical code; and  
 decoding the uncompensated optical code.  
 
 
   
   
     2. The device according to  claim 1 , wherein the uncompensating step includes the step of normalizing the compensated optical code in accordance with a sum of the length of the dimension of the printed areas and spaces of the compensated optical code. 
   
   
     3. The device according to  claim 1 , wherein the normalizing step includes the steps of:
 determining an edge to similar edge distance for respective adjacent printed areas and spaces of the compensated optical code; and  
 normalizing the respective determined edge to similar edge distances for generating the uncompensated optical code.  
 
   
   
     4. The device according to  claim 1 , wherein the decoding the uncompensated code step includes the steps of:
 performing a look-up operation in a table stored in a database that is accessible by the decoder module by looking up the uncompensated optical code; and  
 retrieving a corresponding decoded code.  
 
   
   
     5. The device according to  claim 1 , wherein the algorithm further comprises the step of determining the value of the predetermined change from at least a portion of the compensated optical code. 
   
   
     6. The device according to  claim 1 , wherein the optical code reading device is a laser scanning device. 
   
   
     7. The device according to  claim 1 , wherein the optical code is encoded by a bar code encodation scheme. 
   
   
     8. The device according to  claim 1 , wherein the optical code is encoded by an n,k bar code encodation scheme, wherein the predetermined length is a function of a module width of a symbol for a bar code of the compensated optical code. 
   
   
     9. The device according to  claim 8 , wherein the predetermined length is x modules, 0<x≦2. 
   
   
     10. The device according to  claim 1 , wherein the optical code is encoded by a two-dimensional encodation scheme. 
   
   
     11. The device according to  claim 1 , wherein the algorithm further includes the step of automatically discriminating a presented compensated optical code from a presented uncompensated optical code. 
   
   
     12. The device according to  claim 11 , wherein the discriminating step is performed on a presented compensated optical code without uncompensating the compensated optical code. 
   
   
     13. The device according to  claim 11 , wherein the discriminating step includes the step of recognizing a pattern of at least a portion of the bars and spaces which indicates that the presented optical code is a compensated optical code. 
   
   
     14. The device according to  claim 13 , wherein the pattern is included in at least one of a stop and start pattern of the presented optical code. 
   
   
     15. The device according to  claim 13 , wherein the pattern is included in a data portion of the presented optical code. 
   
   
     16. The device according to  claim 11 , wherein the discriminating step includes the step of checking parity of a predetermined entity of the presented optical code, and the discriminating step uses a result of the parity check. 
   
   
     17. The device according to  claim 16 , wherein the algorithm further includes the step of performing ink spread correction on the predetermined entity before performing the step of checking parity. 
   
   
     18. The device according to  claim 1 , wherein the uncompensating step is performed using a first predetermined change, and when a result of the decoding the resulting uncompensated code step is invalid, performing the uncompensating step with a second predetermined number and performing the decoding the resulting uncompensated code step using the uncompensated code obtained using the second predetermined number. 
   
   
     19. The device according to  claim 1 , wherein:
 the uncompensating step is performed using at least first and second respective predetermined changes; and  
 the decoding the uncompensated code step includes the steps of: 
 decoding respective results of the uncompensating step for generating at least first and second corresponding decoded codes; and  
 selecting a best decoded code of the generated at least first and second decoded codes.  
 
 
   
   
     20. A decoder module for decoding presented compensated optical codes having printed areas and spaces, wherein the decoder module includes software instructions executable on a processor for performing an algorithm including the steps of:
 uncompensating the compensated optical code by compensating for a predetermined adjustment in length of a dimension of individual spaces of the optical code without compensating for a change in the length of the dimension of individual printed areas of the compensated optical code for generating an uncompensated optical code; and  
 decoding the uncompensated optical code.  
 
   
   
     21. The decoder module according to  claim 20 , wherein the uncompensating step includes the step of normalizing the compensated optical code in accordance with a sum of the length of the dimension of the printed areas and spaces of the compensated optical code. 
   
   
     22. The decoder module according to  claim 20 , wherein the algorithm further includes the step of determining the value of the predetermined adjustment from at least a portion of the compensated code. 
   
   
     23. The decoder module according to  claim 20 , wherein the algorithm further includes the step of automatically discriminating a presented compensated code from a presented uncompensated optical code. 
   
   
     24. The decoder module according to  claim 23 , wherein the discriminating step includes the step of recognizing a pattern of at least a portion of the bars and spaces which indicates that the presented optical code is a compensated optical code. 
   
   
     25. A method for decoding presented compensated optical codes having printed areas and spaces comprising the steps of:
 uncompensating a presented compensated optical code by compensating for a predetermined adjustment in length of a dimension of individual spaces of the optical code without compensating for a change in the length of the dimension of individual printed areas of the compensated optical code for generating an uncompensated optical code; and  
 decoding the uncompensated optical code.  
 
   
   
     26. The method according to  claim 25 , wherein the uncompensating step includes normalizing the compensated optical code in accordance with a sum of the length of the dimension of the printed areas and spaces of the compensated optical code. 
   
   
     27. The method according to  claim 25 , further comprising the step of determining the value of the predetermined adjustment from at least a portion of the compensated code. 
   
   
     28. The method according to  claim 25 , further comprising the step of discriminating a presented compensated code from a presented uncompensated code. 
   
   
     29. The method according to  claim 28 , wherein the discriminating step includes recognizing a pattern of at least a portion of the bars and spaces which indicates that the presented optical code is a compensated optical code. 
   
   
     30. A module including software instructions executable on a processor for performing the steps of:
 compensating an existing optical code having signals corresponding to a symbol having a pattern of spaces and printed areas which represents the existing optical code, the device executing software instructions for performing an algorithm including the steps of: 
 determining a length of a dimension of respective spaces of the symbol; and  
 producing a compensated optical code that corresponds to a compensated symbol in which the length of the dimension of the respective spaces is adjusted by a predetermined length, while the length of the dimension of respective printed areas of the compensated symbol remains unchanged.  
 
 
   
   
     31. The module according to  claim 30 , wherein the compensated optical code is provided to a printing device for printing a symbol represented by the compensated optical code. 
   
   
     32. The module according to  claim 30 , wherein the compensating step is performed on a data portion of the optical code. 
   
   
     33. The module according to  claim 30 , wherein the compensating step is performed only on a data portion of the optical code. 
   
   
     34. The module according to  claim 30 , wherein the existing optical code is encoded with a bar code encodation scheme. 
   
   
     35. The module according to  claim 30 , wherein the existing optical code is encoded with an n,k bar code encodation scheme, and wherein the predetermined length is a function of a module width of the resulting bar code symbol. 
   
   
     36. The module according to  claim 30 , wherein the algorithm further comprises the step of incorporating auto-discrimination code into the compensated code to enable an optical code reader to discriminate the compensated symbol which corresponds to the compensated optical code from the symbol which corresponds to the existing optical code symbol. 
   
   
     37. The module according to  claim 30 , wherein the algorithm further comprises the step of incorporating a length indication into the compensated code to indicate the predetermined length to enable an optical reader to determine the predetermined length from the compensated symbol. 
   
   
     38. The module according to  claim 30 , wherein the predetermined length is x modules, 0<x≦2. 
   
   
     39. The module according to  claim 30 , wherein the existing optical code is encoded with a two-dimensional code encodation scheme which corresponds to a two-dimensional symbol. 
   
   
     40. The module according to  claim 30 , the algorithm further comprising the step of dividing an encodation scheme of the existing optical code and resulting compensated optical code into at least a first and a second set of data characters represented by at least a portion of the pattern, wherein the first and second sets of data characters provide an auto-discrimination feature for discriminating compensated optical codes and existing optical codes, and wherein at least one of a symbol and a compensated symbol to be presented to an optical reader include a pattern that is selected to represent a data character from the first and second sets, respectively. 
   
   
     41. The module according to  claim 30 , further comprising the step of including at least one auto-discrimination feature in the compensated optical code to enable a reader to discriminate between compensated optical code and an existing optical code for the decoding thereof. 
   
   
     42. The module according to  claim 41 , wherein code symbols generated according to an encodation scheme of the existing optical code have an existing first start pattern and an existing first stop pattern, the step of including at least one auto-discrimination feature comprising at least one of:
 (a) using a second start pattern in place of the existing first start pattern in the compensated symbol, and  
 (b) using a second stop pattern in place of the existing stop pattern in the compensated symbol.  
 
   
   
     43. The module according to  claim 41 , wherein symbols corresponding to an encodation scheme of the existing optical code have a first finder pattern and wherein the step of including at least one auto-discrimination feature comprises providing a second finder pattern in the compensated symbol in place of the first finder pattern. 
   
   
     44. The module according to  claim 30 , further comprising the step of including a pattern in the compensated symbol to identify the compensated symbol as corresponding to a compensated optical code. 
   
   
     45. A method of producing an ink-spread compensated variant of an existing optical code encodation scheme comprising the steps of:
 determining a pattern of printed areas and spaces in the existing encodation scheme for a data input; the printed areas and spaces each having a respective length in at least one dimension as a function of a given unit length for encoding information; and  
 adjusting the length of respective spaces by a predetermined length while the length of respective printed area remains unchanged to produce a modified code symbol.  
 
   
   
     46. The method according to  claim 45 , further comprising the steps of:
 dividing the encodation scheme into at least a first and a second set of data characters; and  
 the step of determining selecting the pattern from the second set, the different characters in the first and second sets providing an auto-discrimination feature to identify an ink-spread compensated code symbol.  
 
   
   
     47. The method according to  claim 45 , further comprising the step of including at least one auto-discrimination feature in the modified code symbol to enable a reader to determine that the modified code symbol is an ink-spread compensated variant for the decoding thereof. 
   
   
     48. The method according to  claim 47 , wherein code symbols generated according to the existing optical code encodation scheme have an existing first start pattern and an existing first stop pattern, the step of including at least one auto-discrimination feature comprising at least one of:
 (a) using a second start pattern in place of the existing first start pattern in the modified code symbol; and  
 (b) using a second stop pattern in place of the existing stop pattern in the modified code symbol.  
 
   
   
     49. The method according to  claim 47 , wherein code symbols generated according to the existing optical code encodation scheme have a first finder pattern and wherein the step of including at least one auto-discrimination feature comprises providing a second finder pattern in the modified code symbol in place of the first finder pattern. 
   
   
     50. The method according to  claim 45 , further comprising the step of including in the modified code symbol a value of the magnitude of the predetermined length to enable a reader to determine the magnitude of the predetermined length for the decoding of the modified code symbol. 
   
   
     51. The method according to  claim 45 , further comprising the step of including a data character pattern in the modified code symbol to identify the modified code symbol as an ink-spread compensated variant.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.