WO2005067533A2 - Scannable virtual bar code image compensating for distortions - Google Patents

Scannable virtual bar code image compensating for distortions Download PDF

Info

Publication number
WO2005067533A2
WO2005067533A2 PCT/US2005/001290 US2005001290W WO2005067533A2 WO 2005067533 A2 WO2005067533 A2 WO 2005067533A2 US 2005001290 W US2005001290 W US 2005001290W WO 2005067533 A2 WO2005067533 A2 WO 2005067533A2
Authority
WO
WIPO (PCT)
Prior art keywords
bar code
curved surface
compensated
determining
bars
Prior art date
Application number
PCT/US2005/001290
Other languages
French (fr)
Other versions
WO2005067533A3 (en
Inventor
Allen Lubow
Original Assignee
International Barcode Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Barcode Corporation filed Critical International Barcode Corporation
Priority to JP2006549641A priority Critical patent/JP2007520001A/en
Priority to EP05705740A priority patent/EP1711911A4/en
Priority to BRPI0506877-0A priority patent/BRPI0506877A/en
Publication of WO2005067533A2 publication Critical patent/WO2005067533A2/en
Publication of WO2005067533A3 publication Critical patent/WO2005067533A3/en

Links

Classifications

    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/146Methods for optical code recognition the method including quality enhancement steps
    • G06K7/1473Methods for optical code recognition the method including quality enhancement steps error correction

Definitions

  • the present invention generally relates to a system and method for modifying bars and spaces in a bar code symbol. Specifically, the bars in a bar code are modified for applying the bar code symbol to a non-flat, or irregular surface.
  • the present invention is directed to creating and reading a bar code symbol on an irregular surface by compensating for distortions caused by the non-flat or irregular surface.
  • Bar code technology is the most economical, popular means to provide that machine-readable data.
  • Bar code symbologies of various types have been developed to meet the specific needs of different activities including manufacturing warehouse storage, shipping, and merchandising.
  • a bar code is a series of printed vertical bars and spaces, applied in one way or another to a surface, that are read by a scanner as digital information, h any case, the successful reading of a bar code relies on several factors.
  • Most scanners "read” by projecting many thousands of pulses of light in a line across the code.
  • the bars and spaces are of regular widths (all multiples of a Unit-Measure or X- Dimension). Bars and spaces are defined by a degree of contrast, and absorb or reflect these pulses accordingly.
  • the scanner tallies these "yes” or “no” signals as binary digits to be translated by the scanner's software into the information encoded.
  • the scanner's projected pulses of light must meet the surface upon which the bar code is imprinted at a constant angle, so that a constant relationship exists between the width of a bar or space and the number of pulses of light it reflects.
  • This means that the bar code must be printed on a flat surface.
  • not every surface is flat and, as a result, there are obvious limits to where (and to what) a bar code can be applied.
  • the Uniform Code Council (UCC), part of the UCC/EAN writes the global bar code standards for UPC and EAN bar codes and has addressed various readability issues.
  • the most robust codes, (binary codes) have only two bar thicknesses ("Thick” and "Thin") and can be read successfully despite bar width variations of up to 50%.
  • the bars of a standard UPC however, have four distinct thicknesses and are much less tolerant of dimensional error. Because the error allowance is a percentage, the code becomes more and more prone to readability problems as its size decreases.
  • the UCC specifies the minimum width of a UPC, for example, as just over 1 inch.
  • the UCC standard for maximum curve across the bars of a bar code is a function of the size of the bar code.
  • a bar code may occupy no greater than 60° of the circumference of a cylinder. For this reason, typically, the smallest cylinder to which a UPC can be applied is just over 6" in circumference.
  • a system for creating a compensated bar code from a desired standard bar code.
  • the compensated bar code is applied onto a curved surface.
  • the system has a means for determining the radius of the curved surface.
  • the system also has a means for changing the dimensions of bars and spaces of the standard bar code as a function of the distance from the center of the bar code on the curved surface. In this way, when the compensated bar code is applied to the curved surface, the compensated bar code has compensated for distortion caused by the curved surface and may be read by a scanner.
  • Another aspect of the present invention is a system for reading a bar code that has been distorted by its application to a curved surface.
  • the system has a means for determining the radius of the curved surface.
  • the system also has a means for altering standard reading of the dimensions of bars and spaces of the bar code as a function of the distance from the center of the bar code on the curved surface for compensating for the distortion. In this way, the bar code is able to be read by a scanner.
  • Another aspect of the present invention is a method of creating a compensated bar code from a desired standard bar code for applying the compensated bar code onto a curved surface.
  • the method includes determining the radius of the curved surface and changing the dimensions of bars and spaces of the standard bar code as a function of the distance from the center of the bar code on the curved surface, so that when the compensated bar code is applied to the curved surface to the curved surface, the compensated bar code has compensated for distortion caused by the curved surface and may be read by a scanner.
  • a still further aspect of the invention includes a method of reading a bar code that has been distorted by its application to a curved surface.
  • the method comprises determining the radius of the curved surface and altering standard reading of the dimensions of bars and spaces of the bar code as a function of the distance from the center of the bar code on the curved surface for compensating for the distortion, so that the bar code is able to be read by a scanner.
  • the present invention is a method of creating a compensated bar code from a desired standard bar code for applying the compensated bar code onto a non-flat surface.
  • the method comprises determining the mathematical equation describing the non-flat surface and changing the dimensions of the bars and spaces of the standard bar code as a function the mathematical equation. In this way, when the compensated bar code is applied to the non-flat surface, the compensated bar code has compensated for distortion caused by the non-flat surface and may be read by a scanner.
  • Another still further aspect of the present invention is a method of reading a bar code that has been distorted by its application to a non-flat surface.
  • This method comprises determining the mathematical equation describing the non-flat surface and altering the standard reading of the dimensions of the bars and spaces of the bar code as a function of the mathematical equation for compensating for the distortion, so that the bar code is able to be read by a scanner.
  • a major advantage provided by the present invention is to be able to create bar codes for products having a non-flat surface. It is therefore an object of the present invention to modify bars in a bar code symbol so that a bar code symbol may be applied to non-flat surfaces. It is another object of the present invention to read bar codes from a non-flat surface. Additional objects of the present invention will become apparent from the following description. [0017] The method and apparatus of the present invention will be better understood by reference to the following detailed discussion of specific embodiments and the attached figures which illustrate and exemplify such embodiments.
  • FIGURE 1 is an orthogonal depiction of a cylinder having a bar code placed thereon.
  • FIGURE 2 is a cross section of the cylinder shown in FIGURE 1.
  • FIGURE 3 is a flow chart illustrating the steps involved in creating the compensated bar code of the present invention.
  • FIGURE 4 is a flow chart illustrating the steps of the present invention involved in reading a distorted bar code when the surface radius has been specified.
  • FIGURE 5 is a flow chart illustrating the steps of the present invention involved in reading a distorted bar code when the surface radius is unknown.
  • Fig. 1 there is a cylinder with radius R.
  • a bar code graphic in a rectangular shape and one of the sides of the graphic is smaller than the diameter of the cylinder (2R).
  • the graphic may be transformed or modified in such a way that when the result is applied to the surface of the cylinder, its projection back to a flat surface is the same as the original. The result of this is that a bar code reader, positioned normally, will successfully read the code.
  • A is the axis and C is the central line of the resulting graphic when it is applied to the surface of the cylinder, which is parallel to A.
  • S is a sectional line passing the graphic.
  • PI is the intersection of C and S.
  • P is an arbitrary point on S and on the graphic.
  • L the distance or the arc length between PI and P is what in question. If this is solved, any point on the original graphic will have a determined new value for its distance to C in the resulting graphic.
  • Figure 2 illustrates the section where A, PI, and P can be seen. The problem is to get the value of L by the given R and X which is the x-value of P, or the projection of P, on the x-axis.
  • the system and method of the present invention can be used for creating the bar code, thus producing a distorted code that scans normally once it is applied to a cylindrical surface.
  • the data that is to be transformed into a bar code is imprinted into the system. This data is then encoded. Encodation entails transforming given data input to an image of bar code - i.e. bars and spaces - the location and relative sizes of which are mapped graphically by any known bar code creation software for creating a standard or normal bar code image.
  • the non-flat surface upon which the bar code is to be applied is then determined. It may be physically measured, or, more likely, has been specified at an earlier point in time as part of the overall specifications of the package or product.
  • the non-flat surface is the surface of a cylinder, which has a specified radius of 1 inch.
  • a compensated bar code is created, thereby remapping the locations and relative sizes of the bar code elements by processing them as a function of the radius of the surface to which the bar code will be applied, h this way, the noraial bar code image is distorted in a predetermined way so that when the created compensated bar code image is viewed perpendicularly, the compensated bar code has compensated for the distortion caused by the curved surface.
  • Existing bar code software typically includes input fields for symbology, linear and 2-D data input, target printer resolution, X-Dimension and Bar Width Reduction. Now, the radius of the curved surface can also be considered. As shown in Figure 3, a bar code graphic can now be produced which is distorted as a function of the radius entered.
  • a barcode graphic in accordance with the present invention could also be produced which is a function of any non-flat regular surface.
  • To produce a bar code image for any regular, mathematically described non-flat surface as many points as necessary to produce a readable bar code image must be hypothetically plotted on this surface.
  • the preceding example of a cylinder is merely a particular example of the general example that will follow. The surface and subsequent formulae are described as follows.
  • S S(x,y) is an arbitrary continuous and single-valued surface (no holes or undercuts); that is, for any given (x,y) there is a determined value of S(x,y), and for any given (x,y) and (xl,yl), S(x,y) ' S(xl,yl) if x ' xl or y ' yl.
  • x is the distance from the origin to x.
  • XI is the distance from the origin along the surface S(x,y) to X.
  • y Y is the distance from the origin to y.
  • Yl meanwhile, is the distance from the origin along the surface S(x,y) to Y.
  • a scanner can be taught to correct for distortion in UPC (A) (and other bar codes of fixed length) by examining the guard bars in the center of the code.
  • Figure 4 illustrates how the scanner can read the distorted bar code when the radius has been previously specified into the system. Based on the dimensions of these bars the scanner can determine the total length of the code (in unit-bars), were it not distorted, and thus a value for L in the algorithm diagrammed above. Solving this equation in reverse, the radius (R) and arc angle ( ⁇ ) could be determined and the distorted bar code could be remapped and correctly read.
  • this may, in one example, be a procedure wherein either the radius is initially unknown, or is contingent on a bar code not reading correctly at first.
  • the procedure would not guarantee a good read but instead better equips the scanner to read codes previously thought "unreadable".
  • the radius may be first inputted into the scanner so that a normal bar code, that has been distorted by its placement on a non-flat surface is readable.
  • the designer is provided with dimensions and specifications for the package.
  • the package is taken to be a small cylindrical can which is to be bar-coded with a UPC (A).
  • UPC UPC
  • the designer is asked to design a label 1" tall, to be wrapped around the can.
  • the can itself is 4" tall and has a 1" diameter.
  • the designer specifies UPC (A) as the symbology, the numeric data, X-dimension, and specifies the radius as one inch.
  • UPC UPC
  • the nomenclature and the units may be altered to fit the designer's whim or to adhere to any other necessary specification to which the bar code must satisfy.
  • a distorted bar code graphic is created that the designer then places in his design. The code, despite its unorthodox orientation, is readable by ordinary scanners.
  • Another option utilizing the system and method for the present invention is to program a scanner with the method of the present invention and have the scanner apply it as it interprets the data read.
  • One way to implement this feature smoothly within the normal procedure of reading a bar code would be to program the scanner to first determine the degree of distortion and then to correct for its distortion by applying the method of the present invention into the reading capabilities of a scanner.
  • a scanner looks for "START" and "STOP" characters in a pattern of bars and spaces to determine the symbology. In the case of UPC (A), it sees three pairs of thin "guard bars" at the beginning, middle, and end of the code. In normal (undistorted) UPCs these three pairs of bars are identical.

Abstract

The present invention generally relates to a system and method for modifying bars for applying to a non-flat, or irregular surface. A bar code symbol is created for and read from a non-flat or irregular surface by compensating for distortions caused by the non-flat or irregular surface.

Description

SCANNABLE VIRTUAL BAR CODE IMAGE COMPENSATING FOR DISTORTIONS
BACKGROUND OF INVENTION [0001] This application claims the benefit of U.S. provisional patent application No. 60/536,480, filed on January 14, 2004, entitled, "Scannable Virtual Bar Code Image Compensating for Non-Flat Surfaces", and incorporated herein by reference.
Field Of The Invention
[0002] The present invention generally relates to a system and method for modifying bars and spaces in a bar code symbol. Specifically, the bars in a bar code are modified for applying the bar code symbol to a non-flat, or irregular surface. In particular, the present invention is directed to creating and reading a bar code symbol on an irregular surface by compensating for distortions caused by the non-flat or irregular surface. By creating a compensated bar code, by applying a compensated bar code symbol upon, and by reading a bar code symbol applied to a non-flat surface, bar codes may be now applied on and read from many surfaces heretofore unable to be bar coded.
Description Of The Related Art
[0003] There is a great need in manufacturing to provide machine-readable information. Bar code technology is the most economical, popular means to provide that machine-readable data. Bar code symbologies of various types have been developed to meet the specific needs of different activities including manufacturing warehouse storage, shipping, and merchandising. [0004] In its simplest form, a bar code is a series of printed vertical bars and spaces, applied in one way or another to a surface, that are read by a scanner as digital information, h any case, the successful reading of a bar code relies on several factors. Most scanners "read" by projecting many thousands of pulses of light in a line across the code. The bars and spaces are of regular widths (all multiples of a Unit-Measure or X- Dimension). Bars and spaces are defined by a degree of contrast, and absorb or reflect these pulses accordingly. The scanner tallies these "yes" or "no" signals as binary digits to be translated by the scanner's software into the information encoded.
[0005] In order for this to happen successfully, the scanner's projected pulses of light must meet the surface upon which the bar code is imprinted at a constant angle, so that a constant relationship exists between the width of a bar or space and the number of pulses of light it reflects. This means that the bar code must be printed on a flat surface. Of course, not every surface is flat and, as a result, there are obvious limits to where (and to what) a bar code can be applied.
[0006] The Uniform Code Council (UCC), part of the UCC/EAN writes the global bar code standards for UPC and EAN bar codes and has addressed various readability issues. The most robust codes, (binary codes), have only two bar thicknesses ("Thick" and "Thin") and can be read successfully despite bar width variations of up to 50%. The bars of a standard UPC, however, have four distinct thicknesses and are much less tolerant of dimensional error. Because the error allowance is a percentage, the code becomes more and more prone to readability problems as its size decreases. Thus, the UCC specifies the minimum width of a UPC, for example, as just over 1 inch. In a similar way, the UCC standard for maximum curve across the bars of a bar code is a function of the size of the bar code. According to the UCC, a bar code may occupy no greater than 60° of the circumference of a cylinder. For this reason, typically, the smallest cylinder to which a UPC can be applied is just over 6" in circumference.
[0007] There are wide variety of other technical challenges to applying and reading bar codes on products. Many products on a productive line have irregular non-flat surfaces, such as ribbed, cylindrical or spherical. It is quite difficult to apply a bar code to these surfaces that are not flat. That is, if a standard bar code is applied to an irregular surface, the bars of the bar code appear to the scanner to be distorted when they are applied to these surfaces. The spaces between these bars will necessarily also be distorted. Such distortions can make the bar code either subject to reading errors or entirely unreadable.
[0008] Accordingly, there is therefore a great need in the art for a device and way by which to apply bars and spaces of a bar code to an irregular, or non-flat surface. There is a concomitant need in the art for a way by which to read bar codes from an irregular or non-flat surface.
[0009] Accordingly, there is now provided with this invention an improved method and system for effectively overcoming the difficult and longstanding problems inherent in creating, applying, and reading bar codes on irregular, non-flat surfaces. These problems have been solved in a highly effective way to compensate for distortions caused by these surfaces.
SUMMARY OF THE INVENTION
[0010] According to one aspect of the invention, a system is described for creating a compensated bar code from a desired standard bar code. The compensated bar code is applied onto a curved surface. The system has a means for determining the radius of the curved surface. The system also has a means for changing the dimensions of bars and spaces of the standard bar code as a function of the distance from the center of the bar code on the curved surface. In this way, when the compensated bar code is applied to the curved surface, the compensated bar code has compensated for distortion caused by the curved surface and may be read by a scanner.
[0011] Another aspect of the present invention is a system for reading a bar code that has been distorted by its application to a curved surface. The system has a means for determining the radius of the curved surface. The system also has a means for altering standard reading of the dimensions of bars and spaces of the bar code as a function of the distance from the center of the bar code on the curved surface for compensating for the distortion. In this way, the bar code is able to be read by a scanner.
[0012] Another aspect of the present invention is a method of creating a compensated bar code from a desired standard bar code for applying the compensated bar code onto a curved surface. The method includes determining the radius of the curved surface and changing the dimensions of bars and spaces of the standard bar code as a function of the distance from the center of the bar code on the curved surface, so that when the compensated bar code is applied to the curved surface to the curved surface, the compensated bar code has compensated for distortion caused by the curved surface and may be read by a scanner.
[0013] A still further aspect of the invention includes a method of reading a bar code that has been distorted by its application to a curved surface. The method comprises determining the radius of the curved surface and altering standard reading of the dimensions of bars and spaces of the bar code as a function of the distance from the center of the bar code on the curved surface for compensating for the distortion, so that the bar code is able to be read by a scanner.
[0014] As still further aspect of the present invention is a method of creating a compensated bar code from a desired standard bar code for applying the compensated bar code onto a non-flat surface. The method comprises determining the mathematical equation describing the non-flat surface and changing the dimensions of the bars and spaces of the standard bar code as a function the mathematical equation. In this way, when the compensated bar code is applied to the non-flat surface, the compensated bar code has compensated for distortion caused by the non-flat surface and may be read by a scanner.
[0015] Another still further aspect of the present invention is a method of reading a bar code that has been distorted by its application to a non-flat surface. This method comprises determining the mathematical equation describing the non-flat surface and altering the standard reading of the dimensions of the bars and spaces of the bar code as a function of the mathematical equation for compensating for the distortion, so that the bar code is able to be read by a scanner.
[0016] As will be appreciated by those persons skilled in the art, a major advantage provided by the present invention is to be able to create bar codes for products having a non-flat surface. It is therefore an object of the present invention to modify bars in a bar code symbol so that a bar code symbol may be applied to non-flat surfaces. It is another object of the present invention to read bar codes from a non-flat surface. Additional objects of the present invention will become apparent from the following description. [0017] The method and apparatus of the present invention will be better understood by reference to the following detailed discussion of specific embodiments and the attached figures which illustrate and exemplify such embodiments.
DESCRIPTION OF THE DRAWINGS [0018] A specific embodiment of the present invention will be described with reference to the following drawings, where:
FIGURE 1 is an orthogonal depiction of a cylinder having a bar code placed thereon. FIGURE 2 is a cross section of the cylinder shown in FIGURE 1. FIGURE 3 is a flow chart illustrating the steps involved in creating the compensated bar code of the present invention. FIGURE 4 is a flow chart illustrating the steps of the present invention involved in reading a distorted bar code when the surface radius has been specified. FIGURE 5 is a flow chart illustrating the steps of the present invention involved in reading a distorted bar code when the surface radius is unknown.
DESCRIPTION OF THE PREFERRED EMBODIMENT [0019] The following preferred embodiment as exemplified by the drawings is illustrative of the invention and is not intended to limit the invention as encompassed by the claims of this application. A system and method for creating bar codes for a non-flat surface and for reading bar codes from a non-flat surface is disclosed herein. [0020] When a normal bar code is applied to the surface of a cylinder, for example, the image gets distorted since the distance and angle from the bar code scanner to the bar code continually changes. If the cylinder is small enough in diameter, the dimension of a unit bar (as the scanner perceives it) will vary across the length of the code to unacceptable degrees.
[0021] It has now been found that to solve this problem, compensation can occur in one of at least two ways, each utilizing the same basic system and method. The solution outlined below is based upon the radius of the cylinder to which the bar code is to be applied. Of course, a similar solution could be applied to any regular surface, non-flat surface. Regular, here refers to that surface able to be described by a mathematical equation.
[0022] As shown in Fig. 1, there is a cylinder with radius R. There is a bar code graphic in a rectangular shape and one of the sides of the graphic is smaller than the diameter of the cylinder (2R). The graphic may be transformed or modified in such a way that when the result is applied to the surface of the cylinder, its projection back to a flat surface is the same as the original. The result of this is that a bar code reader, positioned normally, will successfully read the code.
[0023] A is the axis and C is the central line of the resulting graphic when it is applied to the surface of the cylinder, which is parallel to A. S is a sectional line passing the graphic. PI is the intersection of C and S. P is an arbitrary point on S and on the graphic. Now, L, the distance or the arc length between PI and P is what in question. If this is solved, any point on the original graphic will have a determined new value for its distance to C in the resulting graphic. To solve this problem, Figure 2 illustrates the section where A, PI, and P can be seen. The problem is to get the value of L by the given R and X which is the x-value of P, or the projection of P, on the x-axis. By using the following equations, the bar code may be distorted as a function of the distortion caused by the non-flat surface: sin β = X/R β = arcsin (X/R) L = βR= arcsin) (X/R) R β is the angle between A-P and A-Pl . L thus serves as a factor by which the locations of each point in the original (unaltered) bar code graphic can be changed to produce the distortion.
[0024] hi one embodiment of this invention, the system and method of the present invention can be used for creating the bar code, thus producing a distorted code that scans normally once it is applied to a cylindrical surface.
[0025] Following the flow chart depicted in Figure 3, the data that is to be transformed into a bar code is imprinted into the system. This data is then encoded. Encodation entails transforming given data input to an image of bar code - i.e. bars and spaces - the location and relative sizes of which are mapped graphically by any known bar code creation software for creating a standard or normal bar code image.
[0026] The non-flat surface upon which the bar code is to be applied is then determined. It may be physically measured, or, more likely, has been specified at an earlier point in time as part of the overall specifications of the package or product. In this example, the non-flat surface is the surface of a cylinder, which has a specified radius of 1 inch. By applying a 1 inch radius to sin β = X/R β = arcsin (X/R) L = βR = arcsin) (X/R) R a compensated bar code is created, thereby remapping the locations and relative sizes of the bar code elements by processing them as a function of the radius of the surface to which the bar code will be applied, h this way, the noraial bar code image is distorted in a predetermined way so that when the created compensated bar code image is viewed perpendicularly, the compensated bar code has compensated for the distortion caused by the curved surface. Existing bar code software typically includes input fields for symbology, linear and 2-D data input, target printer resolution, X-Dimension and Bar Width Reduction. Now, the radius of the curved surface can also be considered. As shown in Figure 3, a bar code graphic can now be produced which is distorted as a function of the radius entered.
[0027] Of course, a barcode graphic in accordance with the present invention could also be produced which is a function of any non-flat regular surface. To produce a bar code image for any regular, mathematically described non-flat surface, as many points as necessary to produce a readable bar code image must be hypothetically plotted on this surface. As is well known to those skilled in the art, the preceding example of a cylinder is merely a particular example of the general example that will follow. The surface and subsequent formulae are described as follows.
[0028] Suppose S = S(x,y) is an arbitrary continuous and single-valued surface (no holes or undercuts); that is, for any given (x,y) there is a determined value of S(x,y), and for any given (x,y) and (xl,yl), S(x,y) ' S(xl,yl) if x ' xl or y ' yl. [0029] For any given point X, there is a value x. X is the distance from the origin to x. XI, meanwhile, is the distance from the origin along the surface S(x,y) to X. Likewise, for any given point Y, there is a value y. Y is the distance from the origin to y. Yl, meanwhile, is the distance from the origin along the surface S(x,y) to Y.
[0030] An image can be generated on this surface by using the formula F(x) = xl and the fonnula G(y) = y 1. When a graphic is created for applying to S for subsequent reading by a reading device, it should preferentially be created on a different surface SI (where SI is flat and for any point (x,y) on S we draw it on SI with the coordinates (xl,yl)). When this graphic is then read after it is applied to S, the reader perceives the projection of the drawn graphic as the original, undistorted, graphic.
[0031] h another embodiment of this invention, as shown in Figures 4 and 5, the system and method of the present invention can be used for reading a normal bar code, that has been distorted by its placement on a non-flat surface.
[0032] A scanner can be taught to correct for distortion in UPC (A) (and other bar codes of fixed length) by examining the guard bars in the center of the code. Figure 4 illustrates how the scanner can read the distorted bar code when the radius has been previously specified into the system. Based on the dimensions of these bars the scanner can determine the total length of the code (in unit-bars), were it not distorted, and thus a value for L in the algorithm diagrammed above. Solving this equation in reverse, the radius (R) and arc angle (β) could be determined and the distorted bar code could be remapped and correctly read.
[0033] As illustrated in Figure 5, this may, in one example, be a procedure wherein either the radius is initially unknown, or is contingent on a bar code not reading correctly at first. The procedure would not guarantee a good read but instead better equips the scanner to read codes previously thought "unreadable". In other examples, the radius may be first inputted into the scanner so that a normal bar code, that has been distorted by its placement on a non-flat surface is readable. BAR CODE CREATION EXAMPLE
[0034] It is to be understood that the following example of the present invention is not intended to restrict the present invention since many more modifications may be made within the scope of the claims without departing from the spirit thereof.
[0035] Typically, the designer is provided with dimensions and specifications for the package. In this example, the package is taken to be a small cylindrical can which is to be bar-coded with a UPC (A). The designer is asked to design a label 1" tall, to be wrapped around the can. The can itself is 4" tall and has a 1" diameter.
[0036] The designer realizes that, a UPC (A) being 1.25" at minimum width, the most common orientation of the bar code will not work (this would be "ladder-style", with the bars horizontally spanning the curved surface). The label is not tall enougli to fit the code, so the designer decides to rotate the bars 90° and to use the invention described herein to distort the code for readability.
[0037] Using the disclosed invention, the designer specifies UPC (A) as the symbology, the numeric data, X-dimension, and specifies the radius as one inch. Of course, both the nomenclature and the units may be altered to fit the designer's whim or to adhere to any other necessary specification to which the bar code must satisfy. [0038] By using the system and method described, a distorted bar code graphic is created that the designer then places in his design. The code, despite its unorthodox orientation, is readable by ordinary scanners.
Figure imgf000014_0001
Above is a normal UPC (A) graphic.
Figure imgf000014_0002
[0039] Above is the same UPC (A) graphic, altered by the system and method of the present invention for making the bar code readable when wrapped around a cylinder 1 inch in diameter. Although to the naked eye it is hard to distinguish between the altered and unaltered code, the altered code, on a flat surface (such as a sheet of paper) is in fact unreadable unless wrapped around a cylinder of the correct proportions.
BAR CODE READING EXAMPLE
[0040] Another option utilizing the system and method for the present invention is to program a scanner with the method of the present invention and have the scanner apply it as it interprets the data read. One way to implement this feature smoothly within the normal procedure of reading a bar code would be to program the scanner to first determine the degree of distortion and then to correct for its distortion by applying the method of the present invention into the reading capabilities of a scanner. [0041] For example, typically a scanner looks for "START" and "STOP" characters in a pattern of bars and spaces to determine the symbology. In the case of UPC (A), it sees three pairs of thin "guard bars" at the beginning, middle, and end of the code. In normal (undistorted) UPCs these three pairs of bars are identical. However, when the UPC is applied to a curved surface the START and STOP pairs of guard bars are distorted a certain amount relative to the center pair, according to the radius of the curve. The scanner can now be programmed to determine this radius mathematically prior to reading so that the scanning reader may correct for the distorted data for thereby making a successful read (see the flow chart of Figure 5).
[0042] Apart from these solutions described, there are other ways to use the same invention to correct for other types of distortions. The semispherical bottom of a test tube, for example, would distort a bar code in more directions than would a simple curve, but this distortion is no less scrutable mathematically. When this shaped is mathematically applied to the system and method of the present invention a properly compensated bar code is created. Of course, any mathematical formulation describing a non-flat surface may be used for creating compensated bar codes which are adaptable to nearly every surface.
[0043] Although the particular embodiments shown and described above will prove to be useful in many applications in the bar code symbol imprinting art to which the present invention pertains, further modifications of the present invention will occur to persons skilled in the art. All such modifications are deemed to be within the scope and spirit of the present invention as defined by the appended claims.

Claims

What is claimed is: 1. A system for creating a compensated bar code from a desired standard bar code for applying the compensated bar code onto a curved surface, comprising: a) a means for determining the radius of the curved surface; and b) a means for changing the dimensions of bars and spaces of the standard bar code as a function of the distance from the center of the bar code on the curved surface, so that when the compensated bar code is applied to the curved surface, the compensated bar code has compensated for distortion caused by the curved surface and may be read by a scanner.
2. The system of Claim 1, wherein said determining means comprises an input device.
3. The system of Claim 2, wherein said determining means further comprises a storage device.
4. The system of Claim 1, wherein said changing means comprises a computer processor.
5. A system for reading a bar code that has been distorted by its application to a curved surface, comprising: a) a means for determining the radius of the curved surface; and b) a means for altering standard reading of the dimensions of bars and spaces of the bar code as a function of the distance from the center of the bar code on the curved surface for compensating for the distortion, so that it is able to be read by a scanner.
6. The system of Claim 5, wherein said determining means comprises accessing a previously specified radius.
7. The system of Claim 5, wherein said determining means comprises a scanning device.
8. The system of Claim 7, wherein said determining means further comprises a storage device.
9. The system of Claim 5, wherein said changing means comprises a computer processor.
10. A method of creating a compensated bar code from a desired standard bar code for applying the compensated bar code onto a curved surface, comprising: a) determining the radius of the curved surface; and b) changing the dimensions of bars and spaces of the standard "bar code as a function of the distance from the center of the bar code on the curved surface, so that when the compensated bar code is applied to the curved surface to the curved surface, the compensated bar code has compensated for distortion caused by the curved surface and may be read by a scanner.
11. The method of Claim 10, wherein said determining step comprises scanning the surface.
12. The method of Claim 10, wherein said determining step comprises accessing a data file having a previously specified radius.
13. The method of Claim 10, wherein said changing step comprises a computer processor.
14. A method of reading a bar code that has been distorted by its application to a curved surface, comprising: a) determining the radius of the curved surface; and b) altering standard reading of the dimensions of bars and spaces of the bar code as a function of the distance from the center of the bar code on the curved surface for compensating for the distortion, so that it is able to be read by a scanner.
15. The method of Claim 14, wherein said determining step comprises scanning the surface.
16. The method of Claim 14, wherein said determining step comprises accessing a previously specified radius.
17. The method of Claim 14, wherein said changing step comprises a computer processor.
18. A compensated bar code created from a standard bar code by determining the radius of the curved surface, and changing the dimensions of bars and spaces of the standard bar code as a function of the distance from the center of the bar code on the curved surface, so that when the compensated bar code is applied to the curved surface, the compensated bar code has compensated for distortion caused by the curved surface and may be read by a scanner.
19. The bar code of Claim 18, wherein said function comprises: sin β = X/R β = arcsin (X/R) L = βR = arcsin) (X/R) R
20. A method of creating a compensated bar code from a desired standard bar code for applying the compensated bar code onto a non-flat surface, comprising: a) determining the mathematical equation describing the non-flat surface; and b) changing the dimensions of the bars and spaces of the standard bar code as a function of the mathematical equation, so that when the compensated bar code is applied to the non-flat surface, the compensated bar code has compensated for distortion caused by the non-flat surface and may be read by a scanner.
21. The method of Claim 20, wherein said determining step comprises scanning the surface.
22. The method of Claim 20, wherein said determining step comprises accessing a data file having a previously specified mathematical equation.
23. The method of Claim 20, wherein said changing step comprises a computer processor.
24. A method of reading a bar code that has been distorted by its application to a non- flat surface, comprising: a) determining the mathematical equation describing the non-flat surface; and b) altering standard reading of the dimensions of the bars and spaces of the bar code as a function of the mathematical equation for compensating for the distortion, so that it is able to be read by a scanner.
25. The method of Claim 24, wherein said determining step comprises scanning the surface.
26. The method of Claim 24, wherein said determining step comprises accessing a previously specified mathematical equation describing the non-flat surface.
27. The method of Claim 24, wherein said changing step comprises a computer processor.
PCT/US2005/001290 2004-01-14 2005-01-14 Scannable virtual bar code image compensating for distortions WO2005067533A2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006549641A JP2007520001A (en) 2004-01-14 2005-01-14 Scanable distortion compensation virtual barcode image
EP05705740A EP1711911A4 (en) 2004-01-14 2005-01-14 Scannable virtual bar code image compensating for distortions
BRPI0506877-0A BRPI0506877A (en) 2004-01-14 2005-01-14 scannable virtual barcode image compensating for distortion

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53648004P 2004-01-14 2004-01-14
US60/536,480 2004-01-14

Publications (2)

Publication Number Publication Date
WO2005067533A2 true WO2005067533A2 (en) 2005-07-28
WO2005067533A3 WO2005067533A3 (en) 2005-09-09

Family

ID=34794410

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2005/001290 WO2005067533A2 (en) 2004-01-14 2005-01-14 Scannable virtual bar code image compensating for distortions

Country Status (7)

Country Link
US (1) US7380717B2 (en)
EP (1) EP1711911A4 (en)
JP (1) JP2007520001A (en)
CN (1) CN1922613A (en)
BR (1) BRPI0506877A (en)
EC (1) ECSP066762A (en)
WO (1) WO2005067533A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3104306A1 (en) 2015-06-11 2016-12-14 Scantrust SA Two dimensional barcode

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490773B2 (en) * 2004-12-03 2009-02-17 Mcvicker Henry J Apparatus and method for obtaining an image of an arcuate surface
JP5013699B2 (en) * 2005-10-21 2012-08-29 株式会社キーエンス Three-dimensional machining data setting device, three-dimensional machining data setting method, three-dimensional machining data setting program, computer-readable recording medium, recorded device, and laser machining device
JP5132900B2 (en) * 2006-06-28 2013-01-30 株式会社キーエンス Laser processing condition setting device, laser processing device, laser processing condition setting method, laser processing condition setting program
JP4958489B2 (en) * 2006-06-30 2012-06-20 株式会社キーエンス Laser processing device, laser processing condition setting device, laser processing condition setting method, laser processing condition setting program
GB0613360D0 (en) * 2006-07-05 2006-08-16 Iti Scotland Ltd Bar code authentication
JP4795886B2 (en) 2006-07-27 2011-10-19 株式会社キーエンス Laser processing device, laser processing condition setting device, laser processing condition setting method, laser processing condition setting program
JP4956107B2 (en) * 2006-09-15 2012-06-20 株式会社キーエンス Laser processing data generation apparatus, laser processing data generation method, computer program, and laser marking system
JP5027606B2 (en) * 2007-09-26 2012-09-19 株式会社キーエンス Laser machining apparatus, machining data generation method, and computer program
JP2009129269A (en) * 2007-11-26 2009-06-11 Nec Soft Ltd Information reader and information reading method
JP2011225232A (en) * 2010-04-16 2011-11-10 Nippon Steel Corp Coil binding hoop with bar code printed thereon
US9224120B2 (en) * 2010-04-20 2015-12-29 Temptime Corporation Computing systems and methods for electronically indicating the acceptability of a product
CN102156849B (en) * 2011-04-21 2014-02-05 西北工业大学 Reading device and reading method of two-dimensional bar code marked on metal cylindrical surface directly
US20120291647A1 (en) * 2011-05-20 2012-11-22 Illinois Tool Work Inc. Method of printing scannable codes on packaging
KR101322953B1 (en) 2011-05-31 2013-10-29 라쿠텐 인코포레이티드 Image processing device, image processing method, and recording medium
CN102289653A (en) * 2011-08-29 2011-12-21 我查查信息技术(上海)有限公司 Method for increasing identification rate of optical identifier and optical identifier
JP5489247B2 (en) * 2011-09-26 2014-05-14 Necインフロンティア株式会社 Bar code reader and method
US8763918B2 (en) * 2012-03-06 2014-07-01 Insight Beverages, Inc. Container for improved beverage identification system and method of use thereof
EP2790125B1 (en) * 2013-04-10 2015-06-03 Alcatel Lucent Method and apparatus for decoding a non-planar barcode
US8777107B1 (en) * 2013-04-25 2014-07-15 Shanghai Shengxiang Science and Technology Co., Ltd. Wheel type laser encoding device and code reading method
US20150028110A1 (en) * 2013-07-29 2015-01-29 Owens-Brockway Glass Container Inc. Container with a Data Matrix Disposed Thereon
CN104091141B (en) * 2014-06-30 2018-02-06 立德高科(北京)数码科技有限责任公司 Identification is implanted in the method and device of the dot pattern of curved surface article surface
CN106203564B (en) * 2016-06-23 2019-02-01 北京印刷学院 A kind of generation of the two dimensional code on circle-prism assembly surface and acquisition method
CN106127097B (en) * 2016-06-23 2019-03-12 北京印刷学院 A kind of generation of the two dimensional code on prism surface and acquisition method
CN107392283B (en) * 2017-07-04 2020-02-21 新大陆数字技术股份有限公司 Method and system for generating cylindrical surface deformed bar code
JP2019144793A (en) * 2018-02-20 2019-08-29 富士ゼロックス株式会社 Information processing device and program
JP7078486B2 (en) * 2018-08-01 2022-05-31 株式会社トプコン Angle detection system and angle detection method
EP3899793A4 (en) * 2018-12-20 2022-08-10 Hewlett-Packard Development Company, L.P. Read curved visual marks
CN109684889B (en) * 2018-12-26 2022-07-12 阳光电源(南京)有限公司 Curved noodle shape code recognition method and device and code scanning station building system
CN113551578B (en) * 2021-08-01 2023-07-07 李里 Bar-type displacement code, bar-type displacement code ruler and displacement detection device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864112A (en) 1986-11-26 1989-09-05 Nippondenso Co., Ltd. Bar code label

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4115011A (en) * 1976-10-07 1978-09-19 Coulter Electronics, Inc. Cuvette configured for photoanalysis use
JPH0673144B2 (en) * 1986-07-01 1994-09-14 キヤノン株式会社 How to read the serial code
US4914828A (en) * 1988-08-09 1990-04-10 Ppg Industries, Inc. Surface inspection device and method
US5015832A (en) * 1989-02-27 1991-05-14 Kensington Laboratories, Inc. Method of and apparatus for decoding bar code symbols
JPH02244293A (en) 1989-03-17 1990-09-28 Hitachi Ltd Information medium
JP2706824B2 (en) 1989-05-24 1998-01-28 株式会社倉本産業 Label sticking method and device
US5203591A (en) * 1992-09-28 1993-04-20 Computype, Inc. Multicode barcode label
US5395181A (en) * 1993-05-10 1995-03-07 Microcom Corporation Method and apparatus for printing a circular or bullseye bar code with a thermal printer
JP3372359B2 (en) * 1994-08-12 2003-02-04 松下電工株式会社 Pattern matching method
US5552593A (en) * 1995-05-17 1996-09-03 Psc Inc. Template or reticule for quality control of a hexagonal code having an acquisition target and an alignment target
JP3676443B2 (en) * 1995-09-01 2005-07-27 オリンパス株式会社 Information reproducing apparatus and information reproducing method
JP3324374B2 (en) * 1995-12-25 2002-09-17 富士通株式会社 Barcode demodulation method and barcode reader
US5854478A (en) * 1996-10-11 1998-12-29 Intermec Ip Corp. Method and apparatus for reading machine-readable symbols having surface or optical distortions
US5861613A (en) * 1996-10-25 1999-01-19 Becton Dickinson And Company Circular bar code data analysis method
US5864640A (en) * 1996-10-25 1999-01-26 Wavework, Inc. Method and apparatus for optically scanning three dimensional objects using color information in trackable patches
DE69830597D1 (en) * 1997-04-08 2005-07-21 Zih Corp FORMATION FIXES, DOUBLE DATA CORRECTING, COLOR TRANSITION CODE, AND ITS PRODUCTION AND USE METHOD
JP3111923B2 (en) * 1997-04-10 2000-11-27 松下電器産業株式会社 Method and apparatus for recording information on optical disc
US6088482A (en) * 1998-10-22 2000-07-11 Symbol Technologies, Inc. Techniques for reading two dimensional code, including maxicode
DE19910226B4 (en) * 1999-03-09 2007-05-24 Bruker Biospin Gmbh Device and method for identifying and identifying a sample vial
US6556690B1 (en) * 1999-06-17 2003-04-29 Eastman Kodak Company Articles bearing invisible encodements on curved surfaces

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4864112A (en) 1986-11-26 1989-09-05 Nippondenso Co., Ltd. Bar code label

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3104306A1 (en) 2015-06-11 2016-12-14 Scantrust SA Two dimensional barcode
WO2016199004A1 (en) 2015-06-11 2016-12-15 Scantrust Sa Two dimensional barcode

Also Published As

Publication number Publication date
ECSP066762A (en) 2006-11-16
JP2007520001A (en) 2007-07-19
EP1711911A4 (en) 2008-07-02
BRPI0506877A (en) 2007-06-12
WO2005067533A3 (en) 2005-09-09
US20050150957A1 (en) 2005-07-14
US7380717B2 (en) 2008-06-03
CN1922613A (en) 2007-02-28
EP1711911A2 (en) 2006-10-18

Similar Documents

Publication Publication Date Title
US7380717B2 (en) System and method for compensating for bar code image distortions
US7997504B2 (en) Surface having optically readable printed tags
US10133973B2 (en) Two dimensional barcode
US7510125B2 (en) Multi-dimensional symbologies and related methods
EP1316061B1 (en) Data package template with data embedding
US20030190056A1 (en) System and method for encoding and decoding data and position information using angular symbology and beacons
AU2000253747B2 (en) Data package template with data embedding

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 2006549641

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWW Wipo information: withdrawn in national office

Country of ref document: DE

WWE Wipo information: entry into national phase

Ref document number: 2005705740

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200580005902.3

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2005705740

Country of ref document: EP

ENP Entry into the national phase

Ref document number: PI0506877

Country of ref document: BR