CA1341134C - Dynamically variable machine readable binary code and method for reading and producing thereof - Google Patents
Dynamically variable machine readable binary code and method for reading and producing thereofInfo
- Publication number
- CA1341134C CA1341134C CA000597699A CA597699A CA1341134C CA 1341134 C CA1341134 C CA 1341134C CA 000597699 A CA000597699 A CA 000597699A CA 597699 A CA597699 A CA 597699A CA 1341134 C CA1341134 C CA 1341134C
- Authority
- CA
- Canada
- Prior art keywords
- matrix
- data
- perimeter
- density
- cells
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06037—Record 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 multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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
- G06K2019/06215—Aspects not covered by other subgroups
- G06K2019/06262—Aspects not covered by other subgroups with target- or other orientation-indicating feature
Abstract
A machine readable binary code which is dynamically variable in size, format and density of information is provided.
The binary code is formed as a matrix having a perimeter and data contained therein. The perimeter is provided with density indicia for indicating the density of data contained within the matrix.
By utilizing the density indicia and size indicia, a scanning device is able to calculate the size and information density of the binary code.
The binary code is formed as a matrix having a perimeter and data contained therein. The perimeter is provided with density indicia for indicating the density of data contained within the matrix.
By utilizing the density indicia and size indicia, a scanning device is able to calculate the size and information density of the binary code.
Description
DYNAMICALLY VARI;~BLE MACHINE READABLE BINARY CODE
AND METHOD FOF; READING AND PRODUCING THEREOF
BACKGROUND OF THE INVENTION
This invention relates to a binary code which is optically readable by a machine, and in particular, to a binary code which allows for dynamic variability.
Optically readable codes are known in the art. One such code is formed as a "checker board symbol that represents information in the form of black and white squares. Each square contained within the checker board matrix is of equal size to every other square. Furthermore, the number and size of the squares contained within the matrix is predetermined, accordingly the computer receiving or producing the data expects a specific number of squares contained within the matrix each being of a preset size.
This code has not been satisfactory. The code is unable to dynamically expand or contract data capacity to meet changing user requirements without tlZe intervention of re-programming the software of the scanning computer. Accordingly, the user of the code must identify the data requirement prior to implantation of the software system. Additionally, since each square must be of the exact same size and the number of squares is predetermined, the scanning computer must be preset for the expected matrix size thereby limiting the user- to a single sized checker board code for each scanner. This necessitates a plurality of code scanners and a system for separating each different sized, different density code and forwarding it to the appropriate scanner.
Codes which overcome these shortcomings by providing indicia associated with the code for informing the computer as to the size of the code are known in the art. One example of such a code is U.S. Patent No. 3,763,467 which discloses the optical reading of data set up _Ln box fashion upon a card. The card is marked at its periphery with two field defining marks located at the front and trailing edges of the box indicating the size of the field containing binary code decimal data stored within the box.
The first row of data within the box, forming the perimeter edge, contains format information identifying which of the columns within the box is to be read. This code has also been less than satisfactory i.n that it suffers from density and size problems.
Even though the size of 'the field is variable the actual size of the characters within the field is not, accordingly a smaller field size results in smaller amounts of stored information.
Furthermore, the size indicia being read must be in a particular location in order to be received and understood by the scanning equipment.
Accordingly, it is desirable to provide a dynamically variable machine optically readable binary code and method for reading and producing thereof which overcomes the shortcomings of the prior art devices described above.
SUMMARY OF THE INVENTION
Generally speaking, in accordance with the invention, an optically readable binary code which is dynamically variable in size, format and density of information .is provided. The code is formed of a matrix containing data having a first side and a second side each being formed of identical broken line patterns of alternating darkened and. lightened areas. The first side and second side intersect at a first corner. The product of the number of lightened areas and darkened areas of the first side and the number of lightened areas and darkened areas of the second side corresponds to the amount of information contained within the code.
A third side and a fourth side are each formed as a solid line of equal darkness intersecting at a second corner. The solid lines correspond to the length, height and area of the code.
The information contained within the code perimeter may appear once or a number of times providing redundancy in the recorded information. The information may also be stored in a plurality of patterns wiithin the matrix.
The code is read by an optical scanner and by measuring the solid black lines the physical size of the matrix is determined. By scanning the broken line pattern of the other perimeter sides, the amount of information contained within the matrix may be determined. The computer may then independently determine both size and density of the matrix being scanned.
Accordingly, it: is an object of this invention to provide an improved optically re<~dable binary code.
Another object: of this invention is to provide an optically readable binary code which allaws a scanning computer to independently recognize, understand and act upon the encoded information regardless of the actual physical size or volume of data contained. within thE~ symbol.
A further object of this invention is to provide an optically readable binary code which may be read and processed regardless of the angle orientation of the symbol to the scanner.
Yet another object of this invention is to provide an optically readable binary code which may dynamically encode large quantities of information in any physical size.
AND METHOD FOF; READING AND PRODUCING THEREOF
BACKGROUND OF THE INVENTION
This invention relates to a binary code which is optically readable by a machine, and in particular, to a binary code which allows for dynamic variability.
Optically readable codes are known in the art. One such code is formed as a "checker board symbol that represents information in the form of black and white squares. Each square contained within the checker board matrix is of equal size to every other square. Furthermore, the number and size of the squares contained within the matrix is predetermined, accordingly the computer receiving or producing the data expects a specific number of squares contained within the matrix each being of a preset size.
This code has not been satisfactory. The code is unable to dynamically expand or contract data capacity to meet changing user requirements without tlZe intervention of re-programming the software of the scanning computer. Accordingly, the user of the code must identify the data requirement prior to implantation of the software system. Additionally, since each square must be of the exact same size and the number of squares is predetermined, the scanning computer must be preset for the expected matrix size thereby limiting the user- to a single sized checker board code for each scanner. This necessitates a plurality of code scanners and a system for separating each different sized, different density code and forwarding it to the appropriate scanner.
Codes which overcome these shortcomings by providing indicia associated with the code for informing the computer as to the size of the code are known in the art. One example of such a code is U.S. Patent No. 3,763,467 which discloses the optical reading of data set up _Ln box fashion upon a card. The card is marked at its periphery with two field defining marks located at the front and trailing edges of the box indicating the size of the field containing binary code decimal data stored within the box.
The first row of data within the box, forming the perimeter edge, contains format information identifying which of the columns within the box is to be read. This code has also been less than satisfactory i.n that it suffers from density and size problems.
Even though the size of 'the field is variable the actual size of the characters within the field is not, accordingly a smaller field size results in smaller amounts of stored information.
Furthermore, the size indicia being read must be in a particular location in order to be received and understood by the scanning equipment.
Accordingly, it is desirable to provide a dynamically variable machine optically readable binary code and method for reading and producing thereof which overcomes the shortcomings of the prior art devices described above.
SUMMARY OF THE INVENTION
Generally speaking, in accordance with the invention, an optically readable binary code which is dynamically variable in size, format and density of information .is provided. The code is formed of a matrix containing data having a first side and a second side each being formed of identical broken line patterns of alternating darkened and. lightened areas. The first side and second side intersect at a first corner. The product of the number of lightened areas and darkened areas of the first side and the number of lightened areas and darkened areas of the second side corresponds to the amount of information contained within the code.
A third side and a fourth side are each formed as a solid line of equal darkness intersecting at a second corner. The solid lines correspond to the length, height and area of the code.
The information contained within the code perimeter may appear once or a number of times providing redundancy in the recorded information. The information may also be stored in a plurality of patterns wiithin the matrix.
The code is read by an optical scanner and by measuring the solid black lines the physical size of the matrix is determined. By scanning the broken line pattern of the other perimeter sides, the amount of information contained within the matrix may be determined. The computer may then independently determine both size and density of the matrix being scanned.
Accordingly, it: is an object of this invention to provide an improved optically re<~dable binary code.
Another object: of this invention is to provide an optically readable binary code which allaws a scanning computer to independently recognize, understand and act upon the encoded information regardless of the actual physical size or volume of data contained. within thE~ symbol.
A further object of this invention is to provide an optically readable binary code which may be read and processed regardless of the angle orientation of the symbol to the scanner.
Yet another object of this invention is to provide an optically readable binary code which may dynamically encode large quantities of information in any physical size.
Still another object of thi$ invention is to provide an optically readable binary code which enables the computer to independently recognize and decode the information contained within the code regardless of the physical size, data density, or angle of rotation of the code :relative to the reader.
Yet another ob~j ect of this invention is to provide an optically readable binary code which allows the density of the code matrix to be dynamically determined and computer generated without requiring user involvement.
Yet another object of the present invention is to provide an optically readable binary code and method for processing thereof which gives the user absolute control over a selection of a physical size of the code as well as the volume of the data which is encoded therein.
Still other objects and advantages of the invention will in part be obvious and will in part be apparent from the specification and drawings.
The invention accordingly comprises the several steps in their relation of one or more such steps with respect to each of the others and the article possessing features, properties and relation of elements, which are exemplified in the following detailed disclosure, and the scope of the invention will be indicated in the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a fuller understanding of the invention, reference is had to the following description, taken in connection with the accompanying drawings, in which:
Figs » la and lb depict two binary codes in accordance with the invention; of different sizes, but containing the same information;
Figs. 2a - 2d illustrate the arrangement of data within the perimeter of the binaz-y code in accordance with the invention;
Figs. 3a - 3d illustrate the redundant formation of visual cells within the matrix in accordance with the invention;
Fig. 4 is a block diagram of an apparatus for processing and scanning the code in accordance with the invention; and Fig. 5 is a flowchart depicting the process for reading the binary code.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference is made to Fig. la, wherein a binary code, generally indicated as a matrix 10, constructed in accordance with the invention is presented. Binary code matrix 10 has a perimeter 11 formed by intersecting sides 12 formed of solid lines and intersecting perimeter sides 14 formed of dark perimeter squares 16 and light perimeter squares 18 in an alternating pattern. Data, generally indicated as 19, is stored within perimeter 11 of matrix 10.
Data 19 is stored within the perimeter of matrix 10 by converting each character to be stored into a visual binary code represented by dark and light squares corresponding to ones and zeros of binary information. Accordingly, a letter or number represented by the binary code 0001 may be represented by a string of data cells, each cell containing either a dark square or light square. Accordingly, the data representing 0001 would appear as a series of three light data cells and ane dark data cell. For example, the numbers 0 through 9 are stored within matrix 10 as a pattern of light cells 20 and dark cells 22.
Binary representation of the one hundred twenty-eight (128) US-ASCII letters, (used by way of example of alphanumeric data) numbers and symbols requires eight binary bits, or in the case of matrix 10, eight visual squares or cells to represent a character. However, by defining the maximum range of characters that may appear at each position of the input string, it is possible to suppress those binary bits which contain information redundant and common to the entire range of characters thereby compressing the required number of visual squares to represent a single character to less 'than eight. In one embodiment, in which only the letters A through D are anticipated to appear in the first position of an input string, only two visual squares are required to reflect the four possible binary bit configurations. Where the presence of a dark cell is indicated by '°D" and the light cell is indicated by "L," the letter A would be represented as LD. The letter B would be represented as DL, the letter C as DD and the letter D as LL, all represented by using only two cells of visual binary information. Similarly, if in a second character position of the input string it i;s known that only numeric values from 0 through 9 will appear, only four visual cells need be reserved to accommodate the ten possible binary variations for forming this character. Accordingly, in the above embodiment, a total of six visual squares or cells need be reserved to reflect the two characters of encoded information rather than the sixteen cells of the US-ASCII system.
The size of the square and the number of cells contained within the perimeter of 'the square are determined from the code perimeter 11. Solid liner 12 indicate the physical size of matrix 10.
For ease of explanation a square matrix 10 having equal sides 12 is presented, However any parallagram, such as a rectangle, having an area, computable by length and height may be used.
Side 14 indicates the density ar number of cells 20, 22 contained within matrix 10. The number of alternating squares 16, 18 beginning with first :light square 18 adjacent each perimeter line 12, corresponds to i~he square root of the number of visual cells 20, 22 contained within the perimeter of matrix 10 rounded up to the nearest number. In this example the square adjacent perimeter line 12 is a light square 18, however, in a matrix having a different number of cells 20, 22 contained therein side 14 may begin with a dark square J.6 to obtain an appropriate value for the number of alternating squares 16, 18.
In an exemplary embodiment, the numerals 0 through 9 are encoded within matrix 10 utilizing thirty-six visual cells 20, 22 and being encased in a matrix 10 having a perimeter side 14 containing six alternating dark squares 16 and light squares 18.
By providing a perimeter which indicates the matrix size as well as the number of visual cells contained within matrix 10 and in binary form, a binary code matrix 10 is provided which, as will be discussed below, is recognizable and identifiable by a scanning computer regardless of physical size or information density.
~ 341 134 By comparison, a matrix lOA depicted in Fig. lb contains the same information in the same format as matrix 10 and has a perimeter lla but at a smaller scale having smaller perimeter sides 12a and 14a. Accordingly, physical size of the code may be unlimited. By providing a format for indicating to the scanning computer the size and density of the matrix in machine readable form, machine readability of a variety of different size and information density binary codes by a single optical scanner computer system is posaible. In exemplary embodiments, the physical size may range from one-tenth of an inch square to seven inches square, but is limited only by the ability of the user's print device to create the selected size.
Reference is now also made to Figs. 2a through 2d in which the arrangement of visual cells 22 within matrix 10 is depicted, like elements from Fig. la being assigned like reference numerals. A character may be represented by dark visual cells 22a, 22b, 22c, 22d and 22e. Visual cells 22a through 22e may be situated in a variety of patterns within matrix 10. Visual cells 22 maybe in serial order in one corner of matrix 10(Fig. 2a), visual cells 22 may be scattered about in each corner of matrix l0 (Fig. 2b), visual cells 22 maybe in reverse serial order in a corner of matrix 10 (Fig. 2c) or they may be randomly distributed within matrix 10 (Fig. ;Zd). Each matrix 10 may be keyed to a specific visual cell placement depending upon the needs of each specific user. This enables a user to have patterns which are readable by either all users of a binary code, or only by specific users of the binary code, as for example, in top secret verification facilities. A key 23 for determining which pattern is used, is encoded in visual cells contained within perimeter li of matrix 10 at a known reference positian within matrix 10. For example, key visual cell 23 may be a certain distance from the intersection of solid lines 12. Additionally, a mixture of both public and secret patterns. may be present within the same structure to enable the general public to read part of what is contained within the matrix 10 and only certain sections of the public to read what is contained within the rest of matrix 10. In a preferred embodiment, there are 256 pattern variations for situating visual cells 22, 23 within matrix 10.
Data 19 may also be stored more than once providing the redundancy in the information as encoded within matrix 10. The redundancy may range from a factor of no redundancy to 400%
redundancy. Furthermore, as illustrated in Figs. 3a - 3d the redundancy need not be i.n the same pattern as the root cells.
Visual cells A, B, C, D ara_ positioned within matrix 10 a plurality of times. The root cell., shown by the darker letters, may be replicated in a mirror image (Figs. 3a, 3b, 3c) or in a random pattern (Fig. 3d) as long as identical visual cells such as A, A
are not adjacent each other. Accordingly, through redundancy the code is not lost if a portion of the matrix is destroyed or deformed during normal transit or use.
Matrix 10 may be read by the apparatus of Fig. 4. The visual image of matrix 10, along with it's surrounding area, is captured by an optical scanner 24 which converts the visual image into a series of electronic impulses. Scanner 24 may be a light sensitive electronic array, optical CCD camera, linear array to scanner, laser reader adapted for two dimensional scanning or the like.
The electronic impulses produced by scanner 24 are transmitted to a digiti;.er 26 which canverts these electronic impulses into a series oi° computer recognizable binary data bits corresponding to the scanned image. Each visual cell is assigned a binary numeric value based upon the strength of light sensed by optical scanner 24. Visual cells which are absolute black and absolute white are assigned the highest and lowest values respectively, while shades in between are assigned incremental values forming an electronic image of the scanned matrix 10. This image is transmitted to a central processing unit of a computer 28 ("CPU") which stores a bit mapped image of matrix 10 and a part of its surrounding area as a. reference within its memory.
Matrix 10 is no,t always scanned in a readily discernible orientation relative to scanner 24. Accordingly, CPU 28 conducts a binary search to locate the encoded pattern and determine the orientation of matrix 10 as stored in CPU 28. The uniqueness of perimeter 11 of matrix 10 affords a reference point. Each matrix contains two solid dank sides 12. CPU 28 searches for either solid dark side 12 and upon finding it searches for the intersection of the dark sides 12. By locating the corner at which sides 12 intersect, CPU 28 identifies the specific location of matrix 10 regardless of size or orientation within the scanned visual field. CPU 28 then measures the length of each solid black line 12 stored within its memory and the angle at which lines 12 intersect. CPU 28 then calculates where the opposite corner of matrix 10 is located. By utilizing the length and angle of intersection of sides 12, matrix 10 is always recognizable even though it may have been subjected to substantial linear deformation during the digitizing process as long as the binary image remains a parallelogram. Additionally, the uniqueness of perimeter 11 allows CPU 28 to differentiate matrix 10 from other symbols or images within the scan field.
Reference is now made to Fig. 5 in which a flowchart for reading a-nd decoding matrix 10 is provided. Once the four corners of matrix 10 have been identified, CPU 28 counts the alternating dark and light squares 16, 18 of perimeter sides 14 in accordance with a step 100. As sides 14 are of an identical construction, one side 14 is used as a cheek against the second side 14 to validate the information contained therein in step 102. In step 104, CPU
28 calculates the product of the number of squares contained in each side 14 and determines the density of cells contained within matrix 10. By calculating the angle of the matrix, the matrix size and the matrix density, f.PU 28 can calculate the position of each visual cell 20, 22 relative to the intersecting lines 12 in accordance with a step 106. Thus, the center of each visual cell 20, 22 can be determined. CPU 28 now knows the physical size of the pattern to be decoded, the total number of visual cells or their electronic equivalent stored as data 19 and the location of the center of each visual cell 20, 22 in relation to the four corners of matrix 10. Since physical size and cell density of matrix l0 are calculated values rather than predefined, CPU 28 may recognize and decode a matrix 10 of: any physical size or density.
The pattern of data 19 is decoded by first identifying the pattern distribution key in accordance with step 108. The 12 1341 134 ' distribution key will always be stored as a number of visual cells located at a specific position relative to the corners of matrix 10. Accordingly, in step. 110, once the orientation of matrix 10 is determined by CPU 28, CPU 28 retrieves from its bit mapped image of matrix 10 the electronic equivalent of the visually encoded key cells. Upon decoding of these key cells, as in step 112, CPU 28 is informed which of the 256 cell distribution patterns was employed to encode data 1.9 within matrix 10. In accordance with step 114 once the distribution pattern is determined, CPU 28 will reunite the appropriate cells to re-form the binary character strings corresponding to the binary character strings originally input for encoding.
To generate matrix 10, CPU 28 must reverse the process and first convert the 0, 1 binary language of the computer to the dark/light visual cells 20, 22 of matrix 10. CPU 28 calculates the maximum number of character variations expected at each position of the input string and then determines the minimum number of visual cells required i:o encode that number of variations. The compression pracess varies depending on the type of input character anticipated. For instance, if it is known that only numerics will appear at a given input location, the eight bit binary numbers can be compressed to 3.32 vis>ual cells; if all alphabetic characters are anticipated, an eight: bit binary letter can be compressed to 4.75 visual cells; or, :if the input character could be either alphabetic or numeric the compression algorithms reduce each input character from eight binary bits to 5.21 visual cells.
Further, the :system may make use of the available "partial" cells. For example, the first alphanumeric character ~ 341 134 will require six visual cells (smallest integer >_ 5.21) while the second alphanumeric character will require only five (10.42 cells -6 for the first character' = 4.42 rounded to 5). This allows for the enhanced binary compression as described above and thereby further reduces the necessary density of matrix 10. If it were known as in Fig. la, that. the ten characters to be input were to be all numeric (0 through. 9), CPU 28 would determine through use of the compression algorithm that the number of potential binary variations could be accommodated by thirty-four (34) visual cells rather than eighty (80) visual cells as would be otherwise supposed.
The user then inputs into CPU 28 the type of visual cell distribution within matrix 10 desired. The amount of desired redundancy is then input into CPU 28 ranging from no redundancy to as high as 400% repetition of the pattern. CPU 28 analyzes the pattern of the root visual cell to be encoded and positions the redundant data cells farthest from the root cell to achieve the highest probability of survival of at least one cell in the event of destruction of a part of matrix 10 (Figs. 3a, 3b, 3c, 3d). The number of visual cells required for the encoded data is then computed and added to t:he number of visual cells required as distribution key cells to determine the density of matrix 10. The square root of this total is then determined to establish the number of squares required to form sides 14 of perimeter 11 of matrix 10. Finally, the user desired physical size of matrix 10 is input to determine the: length of sides 12 of matrix 10. Upon calculation of all these values, CPU 28 causes a printer 30 to produce the newly generated matrix 10.
1341 i34 By providing a machine readable two dimensional binary code having a perimeter which indicates the physical size of the code on two of its sides and the density of the encoded material on two of its sides, a data code which is dynamically variable as to size and density of information contained therein is provided.
It will thus be, seen that the objects set forth above, among those made apparent from the preceding description, are additionally attained and, since certain changes may be made in carrying out the above process and in the construction set forth without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
It is also to be: understood that the following claims are intended to cover all of the generic and specific features of the invention herein described and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.
Yet another ob~j ect of this invention is to provide an optically readable binary code which allows the density of the code matrix to be dynamically determined and computer generated without requiring user involvement.
Yet another object of the present invention is to provide an optically readable binary code and method for processing thereof which gives the user absolute control over a selection of a physical size of the code as well as the volume of the data which is encoded therein.
Still other objects and advantages of the invention will in part be obvious and will in part be apparent from the specification and drawings.
The invention accordingly comprises the several steps in their relation of one or more such steps with respect to each of the others and the article possessing features, properties and relation of elements, which are exemplified in the following detailed disclosure, and the scope of the invention will be indicated in the claims.
BRIEF DESCRIPTION OF THE DRAWINGS
For a fuller understanding of the invention, reference is had to the following description, taken in connection with the accompanying drawings, in which:
Figs » la and lb depict two binary codes in accordance with the invention; of different sizes, but containing the same information;
Figs. 2a - 2d illustrate the arrangement of data within the perimeter of the binaz-y code in accordance with the invention;
Figs. 3a - 3d illustrate the redundant formation of visual cells within the matrix in accordance with the invention;
Fig. 4 is a block diagram of an apparatus for processing and scanning the code in accordance with the invention; and Fig. 5 is a flowchart depicting the process for reading the binary code.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
Reference is made to Fig. la, wherein a binary code, generally indicated as a matrix 10, constructed in accordance with the invention is presented. Binary code matrix 10 has a perimeter 11 formed by intersecting sides 12 formed of solid lines and intersecting perimeter sides 14 formed of dark perimeter squares 16 and light perimeter squares 18 in an alternating pattern. Data, generally indicated as 19, is stored within perimeter 11 of matrix 10.
Data 19 is stored within the perimeter of matrix 10 by converting each character to be stored into a visual binary code represented by dark and light squares corresponding to ones and zeros of binary information. Accordingly, a letter or number represented by the binary code 0001 may be represented by a string of data cells, each cell containing either a dark square or light square. Accordingly, the data representing 0001 would appear as a series of three light data cells and ane dark data cell. For example, the numbers 0 through 9 are stored within matrix 10 as a pattern of light cells 20 and dark cells 22.
Binary representation of the one hundred twenty-eight (128) US-ASCII letters, (used by way of example of alphanumeric data) numbers and symbols requires eight binary bits, or in the case of matrix 10, eight visual squares or cells to represent a character. However, by defining the maximum range of characters that may appear at each position of the input string, it is possible to suppress those binary bits which contain information redundant and common to the entire range of characters thereby compressing the required number of visual squares to represent a single character to less 'than eight. In one embodiment, in which only the letters A through D are anticipated to appear in the first position of an input string, only two visual squares are required to reflect the four possible binary bit configurations. Where the presence of a dark cell is indicated by '°D" and the light cell is indicated by "L," the letter A would be represented as LD. The letter B would be represented as DL, the letter C as DD and the letter D as LL, all represented by using only two cells of visual binary information. Similarly, if in a second character position of the input string it i;s known that only numeric values from 0 through 9 will appear, only four visual cells need be reserved to accommodate the ten possible binary variations for forming this character. Accordingly, in the above embodiment, a total of six visual squares or cells need be reserved to reflect the two characters of encoded information rather than the sixteen cells of the US-ASCII system.
The size of the square and the number of cells contained within the perimeter of 'the square are determined from the code perimeter 11. Solid liner 12 indicate the physical size of matrix 10.
For ease of explanation a square matrix 10 having equal sides 12 is presented, However any parallagram, such as a rectangle, having an area, computable by length and height may be used.
Side 14 indicates the density ar number of cells 20, 22 contained within matrix 10. The number of alternating squares 16, 18 beginning with first :light square 18 adjacent each perimeter line 12, corresponds to i~he square root of the number of visual cells 20, 22 contained within the perimeter of matrix 10 rounded up to the nearest number. In this example the square adjacent perimeter line 12 is a light square 18, however, in a matrix having a different number of cells 20, 22 contained therein side 14 may begin with a dark square J.6 to obtain an appropriate value for the number of alternating squares 16, 18.
In an exemplary embodiment, the numerals 0 through 9 are encoded within matrix 10 utilizing thirty-six visual cells 20, 22 and being encased in a matrix 10 having a perimeter side 14 containing six alternating dark squares 16 and light squares 18.
By providing a perimeter which indicates the matrix size as well as the number of visual cells contained within matrix 10 and in binary form, a binary code matrix 10 is provided which, as will be discussed below, is recognizable and identifiable by a scanning computer regardless of physical size or information density.
~ 341 134 By comparison, a matrix lOA depicted in Fig. lb contains the same information in the same format as matrix 10 and has a perimeter lla but at a smaller scale having smaller perimeter sides 12a and 14a. Accordingly, physical size of the code may be unlimited. By providing a format for indicating to the scanning computer the size and density of the matrix in machine readable form, machine readability of a variety of different size and information density binary codes by a single optical scanner computer system is posaible. In exemplary embodiments, the physical size may range from one-tenth of an inch square to seven inches square, but is limited only by the ability of the user's print device to create the selected size.
Reference is now also made to Figs. 2a through 2d in which the arrangement of visual cells 22 within matrix 10 is depicted, like elements from Fig. la being assigned like reference numerals. A character may be represented by dark visual cells 22a, 22b, 22c, 22d and 22e. Visual cells 22a through 22e may be situated in a variety of patterns within matrix 10. Visual cells 22 maybe in serial order in one corner of matrix 10(Fig. 2a), visual cells 22 may be scattered about in each corner of matrix l0 (Fig. 2b), visual cells 22 maybe in reverse serial order in a corner of matrix 10 (Fig. 2c) or they may be randomly distributed within matrix 10 (Fig. ;Zd). Each matrix 10 may be keyed to a specific visual cell placement depending upon the needs of each specific user. This enables a user to have patterns which are readable by either all users of a binary code, or only by specific users of the binary code, as for example, in top secret verification facilities. A key 23 for determining which pattern is used, is encoded in visual cells contained within perimeter li of matrix 10 at a known reference positian within matrix 10. For example, key visual cell 23 may be a certain distance from the intersection of solid lines 12. Additionally, a mixture of both public and secret patterns. may be present within the same structure to enable the general public to read part of what is contained within the matrix 10 and only certain sections of the public to read what is contained within the rest of matrix 10. In a preferred embodiment, there are 256 pattern variations for situating visual cells 22, 23 within matrix 10.
Data 19 may also be stored more than once providing the redundancy in the information as encoded within matrix 10. The redundancy may range from a factor of no redundancy to 400%
redundancy. Furthermore, as illustrated in Figs. 3a - 3d the redundancy need not be i.n the same pattern as the root cells.
Visual cells A, B, C, D ara_ positioned within matrix 10 a plurality of times. The root cell., shown by the darker letters, may be replicated in a mirror image (Figs. 3a, 3b, 3c) or in a random pattern (Fig. 3d) as long as identical visual cells such as A, A
are not adjacent each other. Accordingly, through redundancy the code is not lost if a portion of the matrix is destroyed or deformed during normal transit or use.
Matrix 10 may be read by the apparatus of Fig. 4. The visual image of matrix 10, along with it's surrounding area, is captured by an optical scanner 24 which converts the visual image into a series of electronic impulses. Scanner 24 may be a light sensitive electronic array, optical CCD camera, linear array to scanner, laser reader adapted for two dimensional scanning or the like.
The electronic impulses produced by scanner 24 are transmitted to a digiti;.er 26 which canverts these electronic impulses into a series oi° computer recognizable binary data bits corresponding to the scanned image. Each visual cell is assigned a binary numeric value based upon the strength of light sensed by optical scanner 24. Visual cells which are absolute black and absolute white are assigned the highest and lowest values respectively, while shades in between are assigned incremental values forming an electronic image of the scanned matrix 10. This image is transmitted to a central processing unit of a computer 28 ("CPU") which stores a bit mapped image of matrix 10 and a part of its surrounding area as a. reference within its memory.
Matrix 10 is no,t always scanned in a readily discernible orientation relative to scanner 24. Accordingly, CPU 28 conducts a binary search to locate the encoded pattern and determine the orientation of matrix 10 as stored in CPU 28. The uniqueness of perimeter 11 of matrix 10 affords a reference point. Each matrix contains two solid dank sides 12. CPU 28 searches for either solid dark side 12 and upon finding it searches for the intersection of the dark sides 12. By locating the corner at which sides 12 intersect, CPU 28 identifies the specific location of matrix 10 regardless of size or orientation within the scanned visual field. CPU 28 then measures the length of each solid black line 12 stored within its memory and the angle at which lines 12 intersect. CPU 28 then calculates where the opposite corner of matrix 10 is located. By utilizing the length and angle of intersection of sides 12, matrix 10 is always recognizable even though it may have been subjected to substantial linear deformation during the digitizing process as long as the binary image remains a parallelogram. Additionally, the uniqueness of perimeter 11 allows CPU 28 to differentiate matrix 10 from other symbols or images within the scan field.
Reference is now made to Fig. 5 in which a flowchart for reading a-nd decoding matrix 10 is provided. Once the four corners of matrix 10 have been identified, CPU 28 counts the alternating dark and light squares 16, 18 of perimeter sides 14 in accordance with a step 100. As sides 14 are of an identical construction, one side 14 is used as a cheek against the second side 14 to validate the information contained therein in step 102. In step 104, CPU
28 calculates the product of the number of squares contained in each side 14 and determines the density of cells contained within matrix 10. By calculating the angle of the matrix, the matrix size and the matrix density, f.PU 28 can calculate the position of each visual cell 20, 22 relative to the intersecting lines 12 in accordance with a step 106. Thus, the center of each visual cell 20, 22 can be determined. CPU 28 now knows the physical size of the pattern to be decoded, the total number of visual cells or their electronic equivalent stored as data 19 and the location of the center of each visual cell 20, 22 in relation to the four corners of matrix 10. Since physical size and cell density of matrix l0 are calculated values rather than predefined, CPU 28 may recognize and decode a matrix 10 of: any physical size or density.
The pattern of data 19 is decoded by first identifying the pattern distribution key in accordance with step 108. The 12 1341 134 ' distribution key will always be stored as a number of visual cells located at a specific position relative to the corners of matrix 10. Accordingly, in step. 110, once the orientation of matrix 10 is determined by CPU 28, CPU 28 retrieves from its bit mapped image of matrix 10 the electronic equivalent of the visually encoded key cells. Upon decoding of these key cells, as in step 112, CPU 28 is informed which of the 256 cell distribution patterns was employed to encode data 1.9 within matrix 10. In accordance with step 114 once the distribution pattern is determined, CPU 28 will reunite the appropriate cells to re-form the binary character strings corresponding to the binary character strings originally input for encoding.
To generate matrix 10, CPU 28 must reverse the process and first convert the 0, 1 binary language of the computer to the dark/light visual cells 20, 22 of matrix 10. CPU 28 calculates the maximum number of character variations expected at each position of the input string and then determines the minimum number of visual cells required i:o encode that number of variations. The compression pracess varies depending on the type of input character anticipated. For instance, if it is known that only numerics will appear at a given input location, the eight bit binary numbers can be compressed to 3.32 vis>ual cells; if all alphabetic characters are anticipated, an eight: bit binary letter can be compressed to 4.75 visual cells; or, :if the input character could be either alphabetic or numeric the compression algorithms reduce each input character from eight binary bits to 5.21 visual cells.
Further, the :system may make use of the available "partial" cells. For example, the first alphanumeric character ~ 341 134 will require six visual cells (smallest integer >_ 5.21) while the second alphanumeric character will require only five (10.42 cells -6 for the first character' = 4.42 rounded to 5). This allows for the enhanced binary compression as described above and thereby further reduces the necessary density of matrix 10. If it were known as in Fig. la, that. the ten characters to be input were to be all numeric (0 through. 9), CPU 28 would determine through use of the compression algorithm that the number of potential binary variations could be accommodated by thirty-four (34) visual cells rather than eighty (80) visual cells as would be otherwise supposed.
The user then inputs into CPU 28 the type of visual cell distribution within matrix 10 desired. The amount of desired redundancy is then input into CPU 28 ranging from no redundancy to as high as 400% repetition of the pattern. CPU 28 analyzes the pattern of the root visual cell to be encoded and positions the redundant data cells farthest from the root cell to achieve the highest probability of survival of at least one cell in the event of destruction of a part of matrix 10 (Figs. 3a, 3b, 3c, 3d). The number of visual cells required for the encoded data is then computed and added to t:he number of visual cells required as distribution key cells to determine the density of matrix 10. The square root of this total is then determined to establish the number of squares required to form sides 14 of perimeter 11 of matrix 10. Finally, the user desired physical size of matrix 10 is input to determine the: length of sides 12 of matrix 10. Upon calculation of all these values, CPU 28 causes a printer 30 to produce the newly generated matrix 10.
1341 i34 By providing a machine readable two dimensional binary code having a perimeter which indicates the physical size of the code on two of its sides and the density of the encoded material on two of its sides, a data code which is dynamically variable as to size and density of information contained therein is provided.
It will thus be, seen that the objects set forth above, among those made apparent from the preceding description, are additionally attained and, since certain changes may be made in carrying out the above process and in the construction set forth without departing from the spirit and scope of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
It is also to be: understood that the following claims are intended to cover all of the generic and specific features of the invention herein described and all statements of the scope of the invention which, as a matter of language, might be said to fall therebetween.
Claims (96)
1. A machine optically readable binary code comprising data formed as a matrix having a perimeter, said perimeter including density indicia for determining the density of data contained within the matrix, said perimeter also including size indicia means for indicating the physical size of the matrix, said physical size indicia means including a first side of the perimeter and a second side of the perimeter, said first side and said second side each being formed of a solid line, the first side and second side intersecting at a first corner and corresponding to the orientation of the matrix relative to the visual field.
2. A machine optically readable binary code comprising data forming a matrix having a perimeter, said perimeter including density indicia for determining the density of data contained within the matrix and further including physical size indicia means for indicating the size of the matrix, the physical size indicia means including a first side of the perimeter and a second side of the perimeter, the first side and second side each being formed of a said line the first side and second side intersecting at a first corner and corresponding to the size and area of the code.
3. A machine optically readable binary code comprising data forming a matrix having a perimeter, said perimeter including density indicia for determining the density of data contained within the matrix, said density indicia means for indicating the density of the data including a first side of the perimeter and a second side of the perimeter, each being formed of an identical broken line pattern formed of alternating dark areas and light areas, said first side and second side intersecting at a corner, the product of the number of said light areas and dark areas of the first side and the number of said light areas and dark areas of the second side corresponding to the density of data contained within the matrix.
4. The binary code of claim 2 wherein the density indicia means for indicating the density of the data includes a third side of the perimeter and a fourth side of the perimeter, each being formed of an identical broken line pattern formed of alternating dark areas and light areas, said third side and fourth side intersecting at a second corner, the product of the number of said light areas and dark areas of the third side and the number of the said light and dark areas of the fourth side corresponding to the density of the data contained within the matrix.
5. The binary code of claim 4 wherein the matrix is a rhombus.
6. The binary code of claim 4 wherein the matrix is square.
7. A machine optically readable binary code comprising data formed as a matrix having a perimeter, said perimeter including density indicia for determining the density of data contained within the matrix, said perimeter of the matrix including size indicia means for indicating the physical size of the matrix, the perimeter further including orientation indicia means for indicating the orientation of the matrix relative to the optical field, the orientation indicia means including a first side of the perimeter and a second side of the perimeter, said first side and second side each being formed of a solid line of equal lengths, the first side and second side intersecting at a first corner, said first corner defining the orientation of the matrix.
8. A machine optically readable binary code comprising data formed as a matrix having a perimeter, said perimeter including density indicia for determining the density of data contained within the matrix, said perimeter of the matrix including size indicia means for indicating the physical size of the matrix, and further comprising indicia means for indicating the distribution pattern of the data within the matrix wherein the pattern is a predetermined pattern and the indicia means includes a distribution key within the matrix, said distribution key containing the code corresponding to the predetermined pattern.
9. The binary code of claim 1, 2 or 3 wherein the perimeter further includes orientation indicia means for indicating the orientation of the matrix relative to the optical field.
10. The binary code of claim 1, 2 or 3 further comprising indicia means for indicating the distribution pattern of the data within the matrix.
11. The binary code of claim 1, 2 or 3 wherein the data is formed of light and dark visual cells.
12. The binary code of claim 11 wherein the data is arranged in a predetermined pattern and further including data indicia means for indicating the predetermined pattern of the data.
13. The binary code of claim 11 wherein the data contained within the matrix is provided within the matrix a plurality of times.
14. The binary code of claim 1, 2 or 3 wherein the data contained within the matrix is compressed.
15. A method for determining the size and density of a dynamically variable machine optically readable binary code forming a matrix having a perimeter having a first side and a second side, the first side and second side each being formed of a solid line of equal lengths and intersecting at a first corner and a third side of the perimeter and fourth side of the perimeter, each being formed of broken line patterns formed of alternating dark areas and light areas, the third side and the fourth side intersecting at a second corner and corresponding to the density of the data contained within the matrix comprising the steps of:
scanning the binary code with an optical scanner to convert a visual field which includes the matrix and the area surrounding the matrix into a sequence of electronic impulses;
converting the signal of electronic impulses into a series of electronic data bits corresponding to the visual field;
forming a bit mapped image of the visual field in computer memory;
locating the matrix within the bit mapped image of the visual field and determining the length of the first and second sides of the perimeter; and determining the product of the number of light and dark areas of the third side and the number of light areas and dark areas of the fourth side.
scanning the binary code with an optical scanner to convert a visual field which includes the matrix and the area surrounding the matrix into a sequence of electronic impulses;
converting the signal of electronic impulses into a series of electronic data bits corresponding to the visual field;
forming a bit mapped image of the visual field in computer memory;
locating the matrix within the bit mapped image of the visual field and determining the length of the first and second sides of the perimeter; and determining the product of the number of light and dark areas of the third side and the number of light areas and dark areas of the fourth side.
16. The method for determining the size and density of a binary code of claim 15, further comprising the step of locating the corner of tree intersecting first line and second line and determining the orientation of the matrix.
17. The method for determining the size and density of a binary code of claim 15, wherein the matrix contains a key visual cell and further comprising the steps of reading the key visual cell and decoding the pattern of the data contained in the matrix.
18. The method for determining the size and density of a binary code as claimed in claim 17, wherein the data contained within the matrix is formed of light areas and dark areas and
19 further comprising the step of decoding the data contained within the matrix.
19. The method for determining the size and density of a binary code as claimed in claim 15, further comprising the step of differentiating the binary code from other images within the visual field.
19. The method for determining the size and density of a binary code as claimed in claim 15, further comprising the step of differentiating the binary code from other images within the visual field.
20. A method for producing a dynamically variable machine optically readable binary code forming a matrix having a perimeter for indicating the density of the data contained within the matrix and the size of the matrix comprising the steps of:
converting the data to be contained within the code into binary form;
determining the number of visual cells required to represent the binary coded information within the matrix;
calculating the square root of the number visual cells required to represent the data contained within the binary code rounded up to a whole number;
producing a first side of the matrix perimeter formed of a broken line pattern formed of alternating dark areas and light areas so that the total number of dark areas and light areas in the first side is equal to the rounded up square root of the number of visual cells to be contained within the matrix;
producing a second ride of the matrix perimeter formed of a broken line pattern identical to the second side, said second side intersecting the first side at a first corner;
determining the size of the matrix to be formed;
forming a third side of the matrix perimeter as a solid dark line and a fourth side of the matrix perimeter as a solid dark line intersecting at a third corner said length being determined from the length of lines required to represent the area of the matrix; and producing the binary code as a visual cell pattern within the perimeter of the matrix.
converting the data to be contained within the code into binary form;
determining the number of visual cells required to represent the binary coded information within the matrix;
calculating the square root of the number visual cells required to represent the data contained within the binary code rounded up to a whole number;
producing a first side of the matrix perimeter formed of a broken line pattern formed of alternating dark areas and light areas so that the total number of dark areas and light areas in the first side is equal to the rounded up square root of the number of visual cells to be contained within the matrix;
producing a second ride of the matrix perimeter formed of a broken line pattern identical to the second side, said second side intersecting the first side at a first corner;
determining the size of the matrix to be formed;
forming a third side of the matrix perimeter as a solid dark line and a fourth side of the matrix perimeter as a solid dark line intersecting at a third corner said length being determined from the length of lines required to represent the area of the matrix; and producing the binary code as a visual cell pattern within the perimeter of the matrix.
21. The method for producing a binary code of claim 20, further comprising the steps of calculating the maximum number of possible variations necessary to display the data within the matrix and determining the minimum number of visual cells required to produce the number of variations.
22. The method for producing the binary code of claim 21 further comprising: forming the visual cells within the perimeter of the binary code in a predetermined pattern.
23. The method for producing a binary code of claim 20 further comprising: positioning redundant visual cells within the perimeter of the matrix about a root visual cell.
24. The method for producing a binary code of claim 20 further comprising the step of forming a distribution key containing information for decoding the predetermined pattern.
25. A method for determining the size and density of a dynamically variable machine optically readable code forming a matrix having a perimeter and data, the matrix being made of optically distinguishable light areas and dark areas, the perimeter having a first side and a second side that intersect at a first corner, the first and second sides being formed of a solid line and having first and second lengths respectively, the matrix further including a density pattern corresponding to the density of the data contained in the matrix, comprising:
scanning the matrix with an optical scanning device and forming a bit map corresponding to the scanned image of the matrix;
locating in the bit map the first and second sides of the perimeter and the first corner;
determining the lengths of the first and second sides and calculating therefrom the matrix size; and locating in the bit map the density pattern and determining the density of data in the matrix.
scanning the matrix with an optical scanning device and forming a bit map corresponding to the scanned image of the matrix;
locating in the bit map the first and second sides of the perimeter and the first corner;
determining the lengths of the first and second sides and calculating therefrom the matrix size; and locating in the bit map the density pattern and determining the density of data in the matrix.
26. The method of claim 25 further comprising providing the density pattern as two lines of alternating light areas and dark areas wherein the number of light and dark areas in each line form a product corresponding to the density of data.
27. The method of claim 26 wherein forming the two lines further comprises forming the two lines as a third side and a fourth side of the perimeter, such that the third and fourth sides intersect at a second corner.
28. The method of claim 27 further comprising determining orientation of the matrix based on locating the first and second sides.
29. The method of claim 25 further comprising determining orientation of the matrix based on locating the first and second sides.
30. The method of claim 25, 26, or 27 further comprising determining location of the plurality of data areas in the matrix based on determining the density pattern and the location of the first and second sides.
31. The method of claim 30 wherein the determining the location of the data areas further comprises determining the angle between the first and second sides of the perimeter and using the determined angle to adjust for any distortion of the matrix.
32. The method o.f claim 30 further comprising the step of reading data from the determined data areas and decoding the matrix.
33. The method of claim 32 further comprising providing a key pattern in the matrix of data areas, wherein reading data further comprises reading the key pattern and decoding the data based on the read key pattern.
34. The method of claim 25 further comprising providing the data areas in redundant patterns of data areas having at least a three bit differential between patterns.
35. A method for producing a dynamically variable machine optically readable code forming a matrix having a perimeter and data within the perimeter, said matrix including a density pattern corresponding to the density of the data contained in the matrix, comprising:
providing data to be encoded in the matrix;
determining the number of visual cells required to represent the provided data in the matrix;
determining the size of the matrix to be formed;
calculating a first perimeter side length and a second perimeter side length, the first and second lengths corresponding to the determined matrix size;
calculating the density of the determined number of visual cells in the determined matrix size and providing a first pattern of visual cells representing the calculated density;
encoding the data to be encoded to form a second pattern of visual cells; and producing a readable code as a matrix having a perimeter including the determined first and second perimeter sides as solid lines intersecting at a first corner, the first visual cell pattern, and the second visual cell pattern.
providing data to be encoded in the matrix;
determining the number of visual cells required to represent the provided data in the matrix;
determining the size of the matrix to be formed;
calculating a first perimeter side length and a second perimeter side length, the first and second lengths corresponding to the determined matrix size;
calculating the density of the determined number of visual cells in the determined matrix size and providing a first pattern of visual cells representing the calculated density;
encoding the data to be encoded to form a second pattern of visual cells; and producing a readable code as a matrix having a perimeter including the determined first and second perimeter sides as solid lines intersecting at a first corner, the first visual cell pattern, and the second visual cell pattern.
36. The method of claim 35 wherein providing the first visual cell pattern further comprises providing two lines of alternating light area arid dark area visual cells, each line having a number of light and dark areas, the product of which corresponds to the density.
37. The method of claim 36 wherein providing the two lines of alternating light area and dark area visual cells further comprises providing said two lines with identical patterns of alternating light and dark areas, such that each line has a number of alternating light and dark areas that is the square root rounded up to the nearest whole number of the number of visual cells to be contained in the matrix.
38. The method of claim 37 wherein providing the first visual cell pattern further comprises providing said two identical lines as a third side and a fourth side of the perimeter and intersecting at a second corner.
39. The method of claim 35 wherein the step of encoding the data further comprises encoding the data redundantly using multiple patterns.
40. The method of claim 35 wherein the step of encoding the data further comprises encoding the data with a key pattern for using in decoding the data, scrambling the data in a manner that the scrambled data read can be decoded by using the key pattern, and producing the readable code with said key pattern.
41. The method of claim 35 further comprising calculating the maximum number of possible variations necessary to display the data within the matrix and determining the minimum number of visual cells required to produce that number of variations.
42. The method of claim 41 further comprising forming the visual cells within the perimeter of the binary code in a predetermined pattern.
43. The method of claim 35 further comprising providing redundant visuals cells within the perimeter of the matrix about a root visual cell.
44. The method of claim 35 further comprising forming a distribution key containing information for decoding the predetermined pattern.
45. The method of claim 35 further comprising determining the size of the matrix perimeter by the user selecting the size of the matrix and adjusting the size of the visual cells in response to the selected size and the data to be encoded.
46. An apparatus for reading a dynamically variable machine optically readable code, said code comprising data formed as a plurality of data cells forming a matrix having a perimeter, said matrix having a variable number of data cells, said matrix including density indicia for determining the density of data contained within the matrix said density indicia being disposed in said matrix independently of the positioning of said data cells contained in the matrix, said density indicia being a function of the number of data cells in said matrix and said apparatus operating on said density indicia to determine the density of data contained within said code.
47. The apparatus of claim 46 wherein the density indicia is formed of two patterns, each pattern having a number of data cells having distinguishable values, wherein the product of the number of cells in the two patterns identifies the density of data.
48. The apparatus of claim 47 wherein the two patterns further comprises two lines of data cells.
49. The apparatus of claim 48 wherein the two lines are disposed in the perimeter.
50. The apparatus of claim 49 wherein the two lines are identical and intersect at a corner of the perimeter.
51. The apparatus of claim 46 wherein the perimeter of the matrix further comprises size indicia for determining the physical size of the matrix and said apparatus operates on said size indicia to determine the physical size of the matrix.
52. The apparatus of claim 51 wherein said binary code further comprises orientation indicia and apparatus operating on said orientation indicia to determine the orientation of the matrix relative to a visual field in which said matrix is disposed.
53. The apparatus of claim 51 wherein said binary code further comprises indicia means for indicating the distribution pattern of the data within the matrix, said apparatus operating on said indicia to determine the distribution of data within the matrix.
54. The apparatus of claim 51 wherein the size indicia further comprises a first side of the perimeter and a second side of the perimeter, the first and second sides being solid lines and intersecting at a first corner and corresponding to the size and area of the matrix.
55. The apparatus of claim 54 wherein the density indicia further comprises a third line and a fourth line in the perimeter intersecting at a second corner, each of the third and fourth lines being formed of a pattern of alternating light area and dark areas, wherein the operating means further comprises means for counting the number of alternating light and dark areas in the third and fourth sides and calculating therefrom a product corresponding to the number of data cells in the matrix.
56. The apparatus of claim 55 wherein the code further comprises data arranged in a predetermined pattern and a pattern distribution key identifying the predetermined pattern, said operating means further comprising means for identifying the pattern distribution key in said matrix, and means for decoding the data cells of the matrix using said pattern distribution key.
57. The apparatus of claim 56 wherein the data in the matrix is compressed.
58. An apparatus for reading a machine optically readable code, said code comprising data formed as a matrix having a perimeter, the perimeter of the matrix including size indicia as a first side of the perimeter and a second side of the perimeter, said first side and second sides each being formed of a solid line, the first side and second side intersecting at a first corner and corresponding to the orientation of the matrix relative to a visual field within which said matrix is disposed, said apparatus having means for reading said code and means for operating on said size indicia and determining the physical size of the matrix and the distortion of the matrix.
59. The apparatus of claim 58 wherein the code further comprises density indicia for determining the density of data contained within the matrix, said density indicia being disposed in said matrix independently of the positioning of said data cells contained in the matrix, said density indicia being a function of the number of data cells in said matrix and said apparatus operating on said density indicia to determine the density of data contained within said code.
60. The apparatus of claim 59 wherein the density indicia is formed of two patterns, each pattern having a number of data cells that are optically distinguishable, wherein the product of the number of cells in the two patterns identifies the density of data.
61. The apparatus of claim 60 wherein the two patterns further comprises two lines of data cells.
62. The apparatus of claim 61 wherein the two lines are disposed in the perimeter and intersect at a corner of the perimeter.
63. An apparatus for reading a machine optically readable code disposed within a visual field, said code comprising data formed as a matrix having a perimeter, the matrix including size indicia indicating the physical size of the matrix, the apparatus operating on the size indicia to determine the physical size of the matrix, the matrix further including orientation indicia, the apparatus further operating on the orientation indicia to determine the orientation of the matrix relative to a visual field in which the matrix is disposed, the orientation indicia including a first side of the perimeter, a second side of the perimeter, said first and second sides each being formed of a solid line, the first side and second side intersecting at a first angle said first angle defining the orientation of the matrix.
64. The apparatus of claim 63 wherein the first and second sides form a corner of the matrix.
65. The apparatus of claim 64 wherein the first and second sides are of equal length.
66. The apparatus of claim 64 wherein the size indicia is disposed in the perimeter of the matrix.
67. The apparatus of claim 66 wherein the size indicia and the orientation indicia comprise the same first and second solid lines.
68. A method for determining the density of a dynamically variable machine readable optical symbol having a code forming a matrix of data cells and having a perimeter having a first side and a second side, the first and second side forming density indicia as first and second patterns having alternating light and dark areas, the first side and second side intersecting at a first corner, the number of alternating light and dark areas of the first and second sides corresponding to the density of data in the matrix, comprising the steps of:
scanning the symbol with an optical scanner and converting the image to a bit map representative of the scanned image of the symbol;
processing the bit-map and determining therefrom the number of alternating light and dark areas in the first and second sides respectively; and determining the product of the number of alternating cells of the first and second sides as the density of data in the matrix.
scanning the symbol with an optical scanner and converting the image to a bit map representative of the scanned image of the symbol;
processing the bit-map and determining therefrom the number of alternating light and dark areas in the first and second sides respectively; and determining the product of the number of alternating cells of the first and second sides as the density of data in the matrix.
69. A method for determining the size of a dynamically variably machine optically readable symbol having a code formed of a plurality of visual cells of data and determining the location of each visual cell of data of the symbol, said code forming a matrix of data cells disposed within a perimeter having a first side and a second side, the first side and second side each being formed of a solid line and intersecting at a first corner, comprising:
scanning the symbol with an optical scanner and converting the scanned image to a bit map representative of the scanned image of the symbol;
processing the bit map and determining the length of the first and second sides and the angle formed between the first and second sides; and determining the location of each visual cell of data in the matrix by compensating for any linear distortion based on the determined angle.
scanning the symbol with an optical scanner and converting the scanned image to a bit map representative of the scanned image of the symbol;
processing the bit map and determining the length of the first and second sides and the angle formed between the first and second sides; and determining the location of each visual cell of data in the matrix by compensating for any linear distortion based on the determined angle.
70. The method of claim 69 wherein determining the location of each visual cell further comprises determining the physical center of each visual cell.
71. An apparatus for executing operations on an electronic computer binary language code, said apparatus comprising means for receiving said electronic computer binary language code, said code being formed as a first bit stream of electronic binary values and each bit being in at least one of two states, and means for directly converting said electronic binary values to visual binary values and generating an optically machine readable binary code in said computer binary language in response to the received binary language code, said optically machine binary code comprising data formed as a matrix, said matrix being formed from said visual binary values as a plurality of visual data cells, said visual data cells being in at least one of two states directly corresponding to the two states of said first bit stream and forming a visual bit stream in said computer binary language code.
72. The apparatus of claim 71, wherein a subset of data cells represents a single binary character, and said data cells representing a set of binary characters.
73. The apparatus of claim 71, wherein a subset of said data cells represents a single binary character, and the number of data cells required to visually represent said single binary character is less than eight.
74. The apparatus of claim 71, wherein a subset of said data cells represents a single binary character, and the number of data cells required to visually represent said single binary character is more than eight.
75. The apparatus of claim 71, wherein said data cells are aligned in a predetermined pattern within said matrix.
76. A method for forming a machine optically readable binary code in a computer binary language code having data formed as a matrix, said data being formed as visual data cells from a data string formed of an electronic computer binary language code, said visual data cells being electronic computer binary code in visual form, comprising the steps of:
receiving said electronic computer binary language code as a data string of electronic ones and zeros; and directly converting said electronic computer binary language code from an electronic binary data string of ones and zeros to a binary string of light and dark cells in a matrix which visually represent said string of ones and zeros as relatively dark and light visual cells to form said machine optically readable binary code in computer binary language code.
receiving said electronic computer binary language code as a data string of electronic ones and zeros; and directly converting said electronic computer binary language code from an electronic binary data string of ones and zeros to a binary string of light and dark cells in a matrix which visually represent said string of ones and zeros as relatively dark and light visual cells to form said machine optically readable binary code in computer binary language code.
77. The method of forming a machine optically readable binary code of claim 76, wherein a subset of said visual data cells represent a single binary character.
78. The method for forming a machine optically readable binary code of claim 77, further comprising the step of defining a maximum range of binary characters that may appear at each position within said data string and suppressing said ones and zeros which are common to the entire range of binary characters and then calculating the minimum number of data cells required to visually represent a maximum number of binary variations for representing said binary characters.
79. The method of claim 78, further comprising the step of selectively increasing the number of visual cells representing each of said binary characters.
80. The method of claim 79, further comprising the step of selectively increasing the number of visual cells as a single discrete unit.
81. The method of claim 79, further comprising the step of selectively increasing the number of visual cells as multiple discrete units.
82. A method of determining the locations and orientation of a machine optically readable code formed of a plurality of visual cells, the code having an identifiable perimeter comprising the steps of:
scanning said code and a surrounding area of said code;
converting said scanned image into a digitized image; and conducting a binary search of said digitized image to locate said identifiable perimeter and calculating the position of each visual data cell relative to said identifiable perimeter.
scanning said code and a surrounding area of said code;
converting said scanned image into a digitized image; and conducting a binary search of said digitized image to locate said identifiable perimeter and calculating the position of each visual data cell relative to said identifiable perimeter.
83. The method of claim 82, wherein the binary search includes the step of searching the digitized image for a user definable pattern sequence.
84. The method of claim 82, wherein said identifiable perimeter includes at least a first solid line and a second solid line intersecting said second solid line forming a first corner.
85. The method of claim 84, further comprising the steps of measuring the length of said first solid line, measuring the length of said solid line, measuring the angle at which said first solid line intersects said second line, and calculating the position of a second corner of said perimeter opposite said first corner.
86. The method of claim 82 further comprising the step of calculating the position of the center of each of said visual data cells.
87. An apparatus for scanning a machine optically readable binary code in computer binary language code, said apparatus comprising means for receiving an optically machine readable binary code in computer binary language code, said machine optically readable binary code being formed as a matrix, said matrix being formed as a plurality of visual data cells forming a bit stream, each visual cell being in one of at least two states, conversion means for directly converting said visual data cells to electronic binary values forming an electronic computer binary language code.
88. The apparatus of claim 87, wherein a subset of said data cells represent a single binary character, said data cells representing a set of binary characters.
89. The apparatus of claim 87, wherein a subset of said data cells represent a single binary character, the number of data cells required to visually represent said single binary character being less than eight.
90. The apparatus of claim 87, wherein a subset of said data cells represent a single binary character, the number of data cells required to visually represent said single binary character being more than eight.
91. An apparatus for generating a dynamically variable machine optically readable binary code, said apparatus comprising processing means for receiving data and in response thereto producing visual cells forming said binary code, said visual cells forming a plurality of data cells forming a matrix having a perimeter, said matrix having a variable number of data cells and density indicia for determining the density of data contained within the matrix, said density indicia being disposed independently of the positioning of said data cells contained in the matrix, said density indicia being a function of the number of data cells in said matrix, and printing means for printing said binary code.
92. The apparatus of claim 91, wherein the density indicia includes a first side of the perimeter and a second side of the perimeter, each being formed of a broken line pattern formed of alternating dark areas and light areas, the product of the number of light areas and dark areas of the first side and the number of light areas and dark areas of the second side corresponding to the density of the data contained within the matrix.
93. The apparatus of claim 91, wherein the apparatus generates a perimeter which further includes a size indicia indicating the physical size of the matrix.
94. The apparatus of claim 93, wherein the apparatus generates a perimeter which includes an orientation indicia indicating the orientation of the matrix relative to a visual field in which said matrix is disposed.
95. The apparatus of claim 93, wherein said apparatus generates a binary code having an indicia indicating the distribution pattern of the data within the matrix.
96. An apparatus for generating a dynamically variable machine optically readable binary code said apparatus comprising processing means for receiving data and in response thereto producing visual cells forming said binary code, said visual cells representing data formed as a matrix disposed within a perimeter, said data being formed as data cells, a subset of said data cells representing a single binary character, said data cells being redundantly provided within the matrix to represent said single binary character of data, and printing means for printing said binary code.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07,190,205 | 1988-05-05 | ||
US07/190,205 US4939354A (en) | 1988-05-05 | 1988-05-05 | Dynamically variable machine readable binary code and method for reading and producing thereof |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1341134C true CA1341134C (en) | 2000-11-07 |
Family
ID=22700422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000597699A Expired - Fee Related CA1341134C (en) | 1988-05-05 | 1989-04-25 | Dynamically variable machine readable binary code and method for reading and producing thereof |
Country Status (25)
Country | Link |
---|---|
US (9) | US4939354A (en) |
JP (4) | JP2951965B2 (en) |
KR (1) | KR930012137B1 (en) |
AU (1) | AU622173B2 (en) |
BE (1) | BE1002654A3 (en) |
CA (1) | CA1341134C (en) |
CH (1) | CH679084A5 (en) |
DE (1) | DE3914440A1 (en) |
DK (1) | DK175021B1 (en) |
ES (1) | ES2017022A6 (en) |
FI (1) | FI99056C (en) |
FR (1) | FR2631182B1 (en) |
GB (2) | GB2218240B (en) |
GR (1) | GR890100297A (en) |
IE (1) | IE62337B1 (en) |
IL (1) | IL90140A (en) |
IT (1) | IT1231365B (en) |
MX (1) | MX167333B (en) |
MY (1) | MY104121A (en) |
NL (1) | NL193505C (en) |
NO (1) | NO180810C (en) |
NZ (1) | NZ228997A (en) |
PT (1) | PT90469B (en) |
SE (1) | SE506353C2 (en) |
ZA (1) | ZA893288B (en) |
Families Citing this family (225)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3852153T2 (en) * | 1987-07-11 | 1995-05-11 | Hirokazu Yoshida | Method of reading sheets with identification code. |
US5204515A (en) * | 1987-07-11 | 1993-04-20 | Teiryo Sangyo Co., Ltd. | Method of reading identification code sheets using borders to determine scan angle |
US4924078A (en) * | 1987-11-25 | 1990-05-08 | Sant Anselmo Carl | Identification symbol, system and method |
US4939354A (en) * | 1988-05-05 | 1990-07-03 | Datacode International, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
US5591957A (en) * | 1988-08-12 | 1997-01-07 | Casio Computer Co., Ltd. | Apparatus for reading mesh pattern image data having bars along upper and lower sides of mesh pattern and a boundary line between horizontally adjacent dark and light area of mesh pattern |
US5042079A (en) * | 1988-08-12 | 1991-08-20 | Casio Computer Co., Ltd. | Method of recording/reproducing data of mesh pattern, and apparatus therefor |
US5304786A (en) * | 1990-01-05 | 1994-04-19 | Symbol Technologies, Inc. | High density two-dimensional bar code symbol |
US5153928A (en) * | 1989-06-09 | 1992-10-06 | Casio Computer Co., Ltd. | Method and apparatus for recording/reproducing mesh pattern data |
US5051736A (en) * | 1989-06-28 | 1991-09-24 | International Business Machines Corporation | Optical stylus and passive digitizing tablet data input system |
US5410620A (en) * | 1989-08-02 | 1995-04-25 | Teiryo Sangyo Co., Ltd. | Digital data reader of digital data recording sheet |
US5337361C1 (en) * | 1990-01-05 | 2001-05-15 | Symbol Technologies Inc | Record with encoded data |
US5241166A (en) * | 1990-07-02 | 1993-08-31 | Chandler Donald G | Low resolution target acquisition |
JPH0481918A (en) * | 1990-07-25 | 1992-03-16 | Sharp Corp | Key input device |
US5128528A (en) * | 1990-10-15 | 1992-07-07 | Dittler Brothers, Inc. | Matrix encoding devices and methods |
US5153418A (en) * | 1990-10-30 | 1992-10-06 | Omniplanar, Inc. | Multiple resolution machine readable symbols |
US5189292A (en) * | 1990-10-30 | 1993-02-23 | Omniplanar, Inc. | Finder pattern for optically encoded machine readable symbols |
US5223701A (en) * | 1990-10-30 | 1993-06-29 | Ommiplanar Inc. | System method and apparatus using multiple resolution machine readable symbols |
US5170044A (en) * | 1990-11-09 | 1992-12-08 | Pitney Bowes Inc. | Error tolerant 3x3 bit-map coding of binary data and method of decoding |
EP0570524B1 (en) * | 1991-02-04 | 1996-01-03 | Dolby Laboratories Licensing Corporation | Storage medium and apparatus for recovering information from such medium by oversampling |
DE4107020A1 (en) * | 1991-03-05 | 1992-09-10 | Franzis Verlag Gmbh | Two=dimensional data storage on printable or photographic medium - is for hand held scanners, involves blocking binary input data according to scanner capacity, arranging in matrix form, adding synchronising characteristics and test bits |
US5202552A (en) * | 1991-04-22 | 1993-04-13 | Macmillan Bloedel Limited | Data with perimeter identification tag |
EP0516956B1 (en) * | 1991-06-07 | 1996-10-30 | Elpatronic Ag | Process and device for characterizing refillable containers, particularly synthetic material bottles |
ATE121188T1 (en) * | 1991-07-08 | 1995-04-15 | Elpatronic Ag | METHOD AND DEVICE FOR TESTING CONTAINERS. |
ATE174142T1 (en) * | 1991-07-19 | 1998-12-15 | Frederic Rentsch | METHOD FOR REPRESENTING BINARY DATA |
US6643656B2 (en) | 1991-07-31 | 2003-11-04 | Richard Esty Peterson | Computerized information retrieval system |
US5278400A (en) * | 1991-08-19 | 1994-01-11 | Xerox Corp | Multiple threshold encoding of machine readable code |
US5262623A (en) * | 1991-09-04 | 1993-11-16 | Omniplanar, Inc. | Method and apparatus for distinguishing a preferred bar code or the like |
US5207412A (en) * | 1991-11-22 | 1993-05-04 | Xerox Corporation | Multi-function document integrater with control indicia on sheets |
US5296693A (en) * | 1991-12-16 | 1994-03-22 | Canon Kabushiki Kaisha | Ink intrusion resistant digital code |
GB2265237A (en) * | 1992-03-17 | 1993-09-22 | Int Data Matrix Inc | Producing and reading a machine-optically-readable code |
JPH05290197A (en) * | 1992-04-06 | 1993-11-05 | Teiriyou Sangyo Kk | Method for deciphering two-dimensional code symbol mark |
US5612525A (en) * | 1992-06-02 | 1997-03-18 | Elpatronic Ag | Apparatus for marking refillable containers, more especially plastic bottles |
US5357095A (en) * | 1992-07-16 | 1994-10-18 | Schiapparelli Biosystems, Inc. | Reagent bottle identification and reagent monitoring system for a chemical analyzer |
US5513013A (en) * | 1992-08-24 | 1996-04-30 | Xerox Corporation | Facsimile output job sorting unit and system |
US5288986A (en) * | 1992-09-17 | 1994-02-22 | Motorola, Inc. | Binary code matrix having data and parity bits |
JP2005228357A (en) * | 1992-09-28 | 2005-08-25 | Olympus Corp | Code information and code information generation method |
US5610811A (en) * | 1992-11-09 | 1997-03-11 | Niti-On Medical Supply Co., Ltd. | Surgical instrument file system |
EP0599482A3 (en) * | 1992-11-27 | 1996-11-20 | Moore Business Forms Inc | A method of evaluating print quality on a substrate. |
US5416311A (en) * | 1993-01-05 | 1995-05-16 | Canon Kabushiki Kaisha | Data storage device with multiple levels of spacial density |
JPH06309485A (en) * | 1993-02-25 | 1994-11-04 | Nippondenso Co Ltd | Optical information reader |
JP2764224B2 (en) * | 1993-03-01 | 1998-06-11 | ユナイテツド パーセル サービス オブ アメリカ インコーポレイテツド | Method and apparatus for determining the position of a supplementary target |
US5566245A (en) * | 1993-03-09 | 1996-10-15 | United Parcel Service Of America, Inc. | The performance of a printer or an imaging system using transform-based quality measures |
US5337362A (en) * | 1993-04-15 | 1994-08-09 | Ricoh Corporation | Method and apparatus for placing data onto plain paper |
JP2539745B2 (en) * | 1993-06-25 | 1996-10-02 | 帝菱産業株式会社 | Optically readable binary code |
JP2835274B2 (en) * | 1994-02-24 | 1998-12-14 | 株式会社テック | Image recognition device |
US5554841A (en) * | 1994-03-01 | 1996-09-10 | Lynn Ltd. | Article marker and decoding method |
US5591956A (en) * | 1995-05-15 | 1997-01-07 | Welch Allyn, Inc. | Two dimensional data encoding structure and symbology for use with optical readers |
US7387253B1 (en) * | 1996-09-03 | 2008-06-17 | Hand Held Products, Inc. | Optical reader system comprising local host processor and optical reader |
US5726435A (en) * | 1994-03-14 | 1998-03-10 | Nippondenso Co., Ltd. | Optically readable two-dimensional code and method and apparatus using the same |
US5614704A (en) * | 1994-03-16 | 1997-03-25 | Asahi Kogaku Kogyo Kabushiki Kaisha | Encoded symbol reader with image reversal function |
JP3375416B2 (en) * | 1994-03-16 | 2003-02-10 | ペンタックス株式会社 | Data symbol reading device |
DE4409198B4 (en) * | 1994-03-17 | 2008-07-17 | Areva Np Gmbh | Device for the photographic documentation of a plant |
GB2290137B (en) * | 1994-03-18 | 1998-03-11 | Rolls Royce Plc | A method and apparatus for identifying the orientation of a dot matrix code marking of an article |
US5637850A (en) * | 1994-05-03 | 1997-06-10 | Honda; Takaharu | Method of making and reading engraved and oxidation code marks on surgical instruments |
US5463213A (en) * | 1994-05-03 | 1995-10-31 | Honda; Takafaru | Code mark reader |
JP2916373B2 (en) * | 1994-06-02 | 1999-07-05 | オリンパス光学工業株式会社 | Information recording medium and information reproducing apparatus |
CA2187209C (en) * | 1994-06-07 | 2000-09-05 | Joe Zheng | Method and apparatus for decoding two-dimensional symbols in the spatial domain |
DE69524098T2 (en) * | 1994-07-26 | 2002-12-05 | Internat Data Matrix Inc | NON-CHANGEABLE SELF-VERIFYING ITEMS |
WO1996003821A1 (en) * | 1994-07-26 | 1996-02-08 | International Data Matrix, Inc. | Methods and systems for creating and authenticating unalterable self-verifying articles |
US5718457A (en) | 1994-07-29 | 1998-02-17 | Elpatronic Ag | Method of marking objects with code symbols |
US5568607A (en) | 1994-08-19 | 1996-10-22 | International Data Matrix, Inc. | Apparatus, systems and methods for controlling power consumption in a selectively enabled processing system |
US5455414A (en) * | 1994-09-15 | 1995-10-03 | Metanetics Corporation | Simplified bar code decoding with dynamically loadable data character sets |
US5773811A (en) * | 1994-10-11 | 1998-06-30 | Schramm, Jr.; Harry F. | Method for marking, capturing and decoding machine-readable matrix symbols using ultrasound imaging techniques |
JP3448120B2 (en) | 1994-12-27 | 2003-09-16 | シャープ株式会社 | Digital information record carrier |
US5572010A (en) * | 1995-01-03 | 1996-11-05 | Xerox Corporation | Distributed type labeling for embedded data blocks |
US5939703A (en) * | 1995-01-03 | 1999-08-17 | Xerox Corporation | Distributed dimensional labeling for dimensional characterization of embedded data blocks |
US5929429A (en) * | 1995-01-03 | 1999-07-27 | Xerox Corporation | Distributed dimensional labeling for dimensional characterization of border-type embedded data blocks |
US5553084A (en) * | 1995-01-06 | 1996-09-03 | Intermec Corporation | Error correction enhancement for code one and other machine-readable symbologies |
US5602377A (en) * | 1995-03-01 | 1997-02-11 | Metanetics Corporation | Bar code dataform scanning and labeling apparatus and method |
JP3623003B2 (en) * | 1995-03-10 | 2005-02-23 | シャープ株式会社 | Digital information recording method and decoding method |
JP3668275B2 (en) * | 1995-03-15 | 2005-07-06 | シャープ株式会社 | Digital information recording method, decoding method and decoding device |
GB9507098D0 (en) * | 1995-04-06 | 1995-05-31 | Rolls Royce Plc | Process and apparatus for reading a dot matrix code marking of an article |
US5778011A (en) * | 1995-06-07 | 1998-07-07 | International Business Machines Corporation | Method and apparatus for writing and protecting against random and cluster errors in image blocks |
JP3676443B2 (en) * | 1995-09-01 | 2005-07-27 | オリンパス株式会社 | Information reproducing apparatus and information reproducing method |
US5691773A (en) * | 1995-09-12 | 1997-11-25 | Metanetics Corporation | Anti-hand-jittering dataform readers and methods |
US6747692B2 (en) | 1997-03-28 | 2004-06-08 | Symbol Technologies, Inc. | Portable multipurpose recording terminal and portable network server |
US5862270A (en) * | 1995-12-08 | 1999-01-19 | Matsushita Electric Industrial Co., Ltd. | Clock free two-dimensional barcode and method for printing and reading the same |
US5862267A (en) * | 1995-12-11 | 1999-01-19 | Intermec Ip Corp. | Method and apparatus for locating data regions in stored images of symbols |
JP2958396B2 (en) * | 1995-12-20 | 1999-10-06 | 富士ゼロックス株式会社 | Image forming device |
US5786583A (en) * | 1996-02-16 | 1998-07-28 | Intermec Corporation | Method and apparatus for locating and decoding machine-readable symbols |
US5811776A (en) * | 1996-02-26 | 1998-09-22 | Intermec Corporation | Method and apparatus for accurately locating data regions in stored images of symbols |
US6098882A (en) | 1996-03-01 | 2000-08-08 | Cobblestone Software, Inc. | Variable formatting of digital data into a pattern |
US6820807B1 (en) * | 1996-03-01 | 2004-11-23 | Cobblestone Software, Inc. | Variable formatting of digital data into a pattern |
US5742041A (en) * | 1996-05-29 | 1998-04-21 | Intermec Corporation | Method and apparatus for locating and decoding machine-readable symbols, including data matrix symbols |
US5988506A (en) * | 1996-07-16 | 1999-11-23 | Galore Scantec Ltd. | System and method for reading and decoding two dimensional codes of high density |
GB9615057D0 (en) * | 1996-07-18 | 1996-09-04 | Newman Paul B D | Identification and tracking of carcasses and primal cuts of meat |
US6064763A (en) * | 1996-07-26 | 2000-05-16 | Intermec Ip Corporation | Time-efficient method of analyzing imaged input data to locate two-dimensional machine-readable symbols or other linear images therein |
JP3209108B2 (en) * | 1996-08-23 | 2001-09-17 | 松下電器産業株式会社 | 2D code reader |
CA2273815A1 (en) * | 1996-12-02 | 1998-06-11 | Cal Nichols | Tracking system for animal and carcasses |
US6000614A (en) * | 1996-12-20 | 1999-12-14 | Denso Corporation | Two-dimensional code reading apparatus |
US5818032A (en) * | 1997-01-03 | 1998-10-06 | Sun; Tsu-Hung Tom | Encoded color halftone micro-dots for high density digital information storage |
US5902987A (en) * | 1997-02-20 | 1999-05-11 | Intermec Ip Corporation | Apparatus and method of rapidly locating edges of machine-readable symbols or other linear images |
AU6187998A (en) | 1997-03-07 | 1998-09-22 | Accu-Sort Systems, Inc. | Symbology scanning system for efficiently locating coded symbologies |
US6097839A (en) * | 1997-03-10 | 2000-08-01 | Intermec Ip Corporation | Method and apparatus for automatic discriminating and locating patterns such as finder patterns, or portions thereof, in machine-readable symbols |
JPH1126333A (en) * | 1997-06-27 | 1999-01-29 | Oki Electric Ind Co Ltd | Semiconductor device and information control system thereof |
US6032860A (en) * | 1997-08-05 | 2000-03-07 | Ci-Matrix | Uniform ultraviolet strobe illuminator and method of using same |
DE69840352D1 (en) * | 1997-09-22 | 2009-01-22 | Ascom Hasler Mailing Sys Inc | Technology for pre-coding based on a forecast |
US20030004900A1 (en) * | 1999-05-19 | 2003-01-02 | Robert G. Schwartz | Technique for effectively generating multi-dimensional symbols representing postal information |
US6128414A (en) * | 1997-09-29 | 2000-10-03 | Intermec Ip Corporation | Non-linear image processing and automatic discriminating method and apparatus for images such as images of machine-readable symbols |
FR2769107B1 (en) * | 1997-09-30 | 2001-07-13 | Centre Nat Rech Scient | CODING METHOD, EQUIPMENT FOR CODING AND PRODUCT THUS ENCODED |
US6186895B1 (en) * | 1997-10-07 | 2001-02-13 | Mikohn Gaming Corporation | Intelligent casino chip system and method or use thereof |
JP2913475B1 (en) * | 1998-02-17 | 1999-06-28 | 一男 佐藤 | 2D code formation method |
TW434520B (en) * | 1998-06-30 | 2001-05-16 | Sony Corp | Two-dimensional code recognition processing method, device therefor and medium |
US6256398B1 (en) | 1998-08-22 | 2001-07-03 | Kenneth H. P. Chang | Encoding and decoding a message within an image |
US6565003B1 (en) | 1998-12-16 | 2003-05-20 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
US6082619A (en) * | 1998-12-16 | 2000-07-04 | Matsushita Electric Industrial Co., Ltd. | Method for locating and reading a two-dimensional barcode |
DE19903586A1 (en) | 1999-01-29 | 2000-08-03 | Heuft Systemtechnik Gmbh | System for managing a large number of reusable packaging |
JP2000252200A (en) * | 1999-03-02 | 2000-09-14 | Nikon Corp | Exposure substrate, data read method and device thereof, exposure aligner system, and manufacture of semiconductor device using them |
US6371373B1 (en) | 1999-05-25 | 2002-04-16 | Matsushita Electric Industrial Co., Ltd. | Method for reading a two-dimensional barcode |
US6543692B1 (en) | 1999-09-03 | 2003-04-08 | Gerhard Nellhaus | Schema for identification of solid form drugs |
KR100752253B1 (en) | 1999-09-17 | 2007-08-29 | 실버브룩 리서치 피티와이 리미티드 | Method and system for instruction of a computer |
US6372293B1 (en) | 1999-09-20 | 2002-04-16 | Matrix Technologies Corporation | Test tube with data matrix code markings |
SE517445C2 (en) | 1999-10-01 | 2002-06-04 | Anoto Ab | Position determination on a surface provided with a position coding pattern |
US6728391B1 (en) | 1999-12-03 | 2004-04-27 | United Parcel Service Of America, Inc. | Multi-resolution label locator |
US6340118B1 (en) * | 1999-12-16 | 2002-01-22 | Xerox Corporation | Exclusive or cross-coupled framing codes for self-clocking glyphs |
US6244764B1 (en) | 2000-01-21 | 2001-06-12 | Robotic Vision Systems, Inc. | Method for data matrix print quality verification |
US6636837B1 (en) | 2000-01-27 | 2003-10-21 | Eastman Kodak Company | Method and apparatus for ordering photofinishing goods and/or services |
US7180638B1 (en) | 2000-02-16 | 2007-02-20 | Ricoh Co., Ltd. | Network fax machine using a web page as a user interface |
SE0000949L (en) | 2000-03-21 | 2001-09-22 | Anoto Ab | location information |
US7072529B2 (en) * | 2000-03-21 | 2006-07-04 | Anoto Ab | Systems and methods for information storage |
RU2251734C2 (en) * | 2000-05-09 | 2005-05-10 | Колорзип Медиа, Инк. | Machine-readable code, method and device for encoding and decoding |
ATE346323T1 (en) | 2000-05-25 | 2006-12-15 | Novartis Pharma Gmbh | CONTACT LENS WITH SPRAYED INVERSION MARKING |
US6941026B1 (en) | 2000-06-13 | 2005-09-06 | Cognex Corporation | Method and apparatus using intensity gradients for visual identification of 2D matrix symbols |
US6533181B1 (en) * | 2000-07-22 | 2003-03-18 | Roboric Vision Systems, Inc. | Direct marking of parts with encoded symbology method, apparatus and symbolody |
US7113627B1 (en) | 2000-08-09 | 2006-09-26 | Eastman Kodak Company | Location of extended linear defects |
US6284445B1 (en) | 2000-08-09 | 2001-09-04 | Eastman Kodak Company | Reference calibration patch arrangement to minimize exposure and measurement artifacts and maximize robustness to defects |
US6866199B1 (en) | 2000-08-09 | 2005-03-15 | Eastman Kodak Company | Method of locating a calibration patch in a reference calibration target |
US6985270B1 (en) * | 2000-08-09 | 2006-01-10 | Eastman Kodak Company | Method and photographic element for calibrating digital images |
US6456798B1 (en) | 2000-08-09 | 2002-09-24 | Eastman Kodak Company | Barcode and data storage arrangement on a photographic element |
US6280914B1 (en) | 2000-08-09 | 2001-08-28 | Eastman Kodak Company | Photographic element with reference calibration data |
US8682077B1 (en) | 2000-11-28 | 2014-03-25 | Hand Held Products, Inc. | Method for omnidirectional processing of 2D images including recognizable characters |
KR100404306B1 (en) * | 2000-12-29 | 2003-11-01 | 주식회사 아이콘랩 | Coded pattern and method for the extraction of code from the same |
EP1227426A1 (en) * | 2001-01-30 | 2002-07-31 | Ulrich AG | Method to provide a machine readable code on a tool |
JP4884591B2 (en) * | 2001-03-06 | 2012-02-29 | 株式会社ハル研究所 | Code reader, entertainment system and recording medium |
US6869022B2 (en) * | 2001-06-29 | 2005-03-22 | General Electric Company | Computer-and human-readable part markings and system and method using same |
DE10131577A1 (en) * | 2001-07-02 | 2003-01-16 | Bosch Gmbh Robert | Process for protecting a microcomputer system against manipulation of its program |
JP2003058841A (en) * | 2001-08-09 | 2003-02-28 | Satoshi Mizoguchi | Two-dimensional code |
JP4846945B2 (en) * | 2001-08-30 | 2011-12-28 | 特定非営利活動法人日本視覚障がい情報普及支援協会 | 2D code |
US20030052179A1 (en) * | 2001-09-17 | 2003-03-20 | Mark Pinson | Machine-readable symbol and related method |
US6998270B2 (en) * | 2001-11-26 | 2006-02-14 | Lab Vision Corporation | Automated tissue staining system and reagent container |
US20040033163A1 (en) * | 2001-11-26 | 2004-02-19 | Lab Vision Corporation | Automated tissue staining system and reagent container |
WO2003052681A1 (en) | 2001-12-17 | 2003-06-26 | International Barcode Corporation | Double-sided bar code doubling as a single bar code |
TWI235926B (en) | 2002-01-11 | 2005-07-11 | Sonix Technology Co Ltd | A method for producing indicators and processing system, coordinate positioning system and electronic book system utilizing the indicators |
US7003166B2 (en) * | 2002-01-29 | 2006-02-21 | Eastman Kodak Company | Method of encoding data in a monochrome media |
ATE408202T1 (en) * | 2002-02-04 | 2008-09-15 | Baumer Optronic Gmbh | REDUNDANT TWO-DIMENSIONAL CODE AND DECODING METHOD |
DE10220220C1 (en) * | 2002-02-18 | 2003-05-22 | Tropf Hermann | Localization device for optically-readable code or text uses localization pattern with at least four 2-dimensional elements of 2 different types |
DE10307775B4 (en) * | 2002-02-22 | 2008-04-17 | Tropf, Hermann, Dipl.-Ing. | Patterned code with robust decoding, in particular signal code, decoding method, decoding device, reading device, and data carrier with program |
US7177476B2 (en) * | 2002-02-28 | 2007-02-13 | Eastman Kodak Company | Method of decoding data encoded in a monochrome medium |
US7044429B1 (en) | 2002-03-15 | 2006-05-16 | Q2100, Inc. | Methods and systems for coating eyeglass lens molds |
US7123742B2 (en) * | 2002-04-06 | 2006-10-17 | Chang Kenneth H P | Print user interface system and its applications |
US6976161B2 (en) * | 2002-06-12 | 2005-12-13 | Hewlett-Packard Development Company, L.P. | Apparatus and method for configuration of an electronic device using a user-fillable configuration sheet |
US7003657B2 (en) * | 2002-06-21 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Apparatus and method for configuration of an electronic device using a scanned configuration sheet |
US7107009B2 (en) * | 2002-06-26 | 2006-09-12 | Nokia Corporation | Method, system and computer program product for personalizing the functionality of a personal communication device |
US6817527B2 (en) * | 2002-06-28 | 2004-11-16 | Nokia Corporation | Carriers for printed circuit board marking |
US20040010446A1 (en) * | 2002-07-08 | 2004-01-15 | Marko Vanska | Mobile customer relationship management |
AU2003259197A1 (en) * | 2002-07-24 | 2004-02-09 | Congruence Llc. | Code for object identification |
US6934013B2 (en) * | 2002-08-20 | 2005-08-23 | Reginald Vachon | Compressed symbology strain gage |
EP1548635B1 (en) | 2002-09-26 | 2009-06-24 | Kenji Yoshida | Information reproduction/i/o method using dot pattern and information reproduction device |
JP2003178940A (en) * | 2002-10-02 | 2003-06-27 | Oki Electric Ind Co Ltd | Step control system and method therefor |
US7274909B2 (en) * | 2002-10-31 | 2007-09-25 | Nokia Corporation | Method and system for selecting data items for service requests |
US7072672B1 (en) * | 2002-11-01 | 2006-07-04 | Nokia Corporation | Disposable mini-applications |
US20040093274A1 (en) * | 2002-11-08 | 2004-05-13 | Marko Vanska | Method and apparatus for making daily shopping easier |
ATE465468T1 (en) * | 2002-12-03 | 2010-05-15 | Silverbrook Res Pty Ltd | ROTATIONally SYMMETRIC MARKINGS |
US7648678B2 (en) | 2002-12-20 | 2010-01-19 | Dako Denmark A/S | Method and system for pretreatment of tissue slides |
US20040135828A1 (en) * | 2003-01-15 | 2004-07-15 | Schmitt Stephen E. | Printer and method for printing an item with a high durability and/or resolution image |
US20030120613A1 (en) * | 2003-01-28 | 2003-06-26 | Jayant Neogi | Customizing objects and materials with digital identifiers |
US7178719B2 (en) * | 2003-04-07 | 2007-02-20 | Silverbrook Research Pty Ltd | Facilitating user interaction |
SK10072003A3 (en) * | 2003-08-08 | 2005-03-04 | Dušan Kočiš | Data channel of the background on paper carrier or other carrier |
GB0321169D0 (en) * | 2003-09-10 | 2003-10-08 | Hewlett Packard Development Co | Methods and apparatus for generating images |
US7209128B2 (en) * | 2003-10-29 | 2007-04-24 | Hewlett-Packard Development Company, L.P. | Optical coding of position information on printed surfaces |
US7407107B2 (en) * | 2003-12-08 | 2008-08-05 | Nokia Corporation | Apparatus, system, method and computer program product for creating shortcuts to functions in a personal communication device |
KR100984892B1 (en) * | 2004-04-02 | 2010-10-01 | 실버브룩 리서치 피티와이 리미티드 | System for Decoding Coded Data |
JP4570389B2 (en) * | 2004-04-26 | 2010-10-27 | アライ株式会社 | Method for forming two-dimensional code by laser marking and laser marking apparatus |
US8316068B2 (en) | 2004-06-04 | 2012-11-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Memory compression |
KR100608204B1 (en) | 2004-06-17 | 2006-08-02 | (주)엠비원 | Pattern code with logo insertion and method for encoding and decoding thereof |
SE0401647D0 (en) * | 2004-06-28 | 2004-06-28 | Anoto Ab | Coding and decoding of data |
US7304585B2 (en) * | 2004-07-02 | 2007-12-04 | Nokia Corporation | Initiation of actions with compressed action language representations |
US6874370B1 (en) | 2004-07-15 | 2005-04-05 | Reginald I. Vachon | Finite element analysis fatigue gage |
US7604594B2 (en) * | 2004-08-04 | 2009-10-20 | General Electric Company | Method and system of controlling ultrasound systems |
DE102004038601B4 (en) * | 2004-08-07 | 2006-08-24 | Tropf, Hermann | Channel coding method and coding device |
DE102004063950B4 (en) * | 2004-08-07 | 2009-02-19 | Tropf, Hermann | channel coding |
US20060065989A1 (en) * | 2004-09-29 | 2006-03-30 | Thad Druffel | Lens forming systems and methods |
US7204421B2 (en) * | 2004-10-27 | 2007-04-17 | Symbol Technologies, Inc. | Method of identifying and authenticating products using an identification pattern and a bar code reader |
US7676038B2 (en) * | 2005-03-08 | 2010-03-09 | Hewlett-Packard Development Company, L.P. | Secure printing method to thwart counterfeiting |
US7455013B2 (en) * | 2005-03-08 | 2008-11-25 | Hewlett-Packard Development Company, L.P. | Secure printing method to thwart counterfeiting |
EP2511853A3 (en) | 2005-04-28 | 2013-09-11 | YOSHIDA, Kenji | Dot pattern |
ITMI20050824A1 (en) * | 2005-05-06 | 2006-11-07 | Secure Edge S R L | HIGH DENSITY TWO-DIMENSIONAL GRAPHIC CODE AND CODING SYSTEM AND DECODING SYSTEM BASED ON THIS CODE |
US7905409B2 (en) * | 2005-05-20 | 2011-03-15 | Senshin Capital, Llc | Print medium feature encoding and decoding |
WO2006135328A1 (en) * | 2005-06-17 | 2006-12-21 | Anoto Ab | Method and system for combining a position and information code |
US7533818B2 (en) | 2005-06-28 | 2009-05-19 | Direct Measurements Inc. | Binary code symbol for non-linear strain measurement and apparatus and method for analyzing and measuring strain therewith |
JP3771252B1 (en) | 2005-07-01 | 2006-04-26 | 健治 吉田 | Dot pattern |
US7597262B2 (en) * | 2005-07-13 | 2009-10-06 | Nokia Corporation | Two dimensional (2D) code and code size indication method |
DE102005037388B4 (en) * | 2005-08-08 | 2007-05-16 | Tropf Hermann | Channel decoding with associated code |
US7529409B2 (en) * | 2005-10-14 | 2009-05-05 | Microscan Systems, Inc. | 2-D encoded symbol quality assessment |
US20090202714A1 (en) * | 2005-11-21 | 2009-08-13 | Mandzy Natalia S | Methods of Making and using Metal Oxide Nanoparticles |
JP2007172304A (en) * | 2005-12-22 | 2007-07-05 | Sony Corp | Two-dimensional bar code, information processor, information processing method and program |
EP1826705A1 (en) * | 2006-02-25 | 2007-08-29 | F.Hoffmann-La Roche Ag | Analytical consumables and arrangement for reading information |
US8789756B2 (en) * | 2006-02-25 | 2014-07-29 | Roche Diagnostics Operations, Inc. | Test element coding apparatuses, systems and methods |
US7377181B2 (en) * | 2006-03-10 | 2008-05-27 | Northrop Grumman Corporation | In-situ large area optical strain measurement using an encoded dot pattern |
US7478746B2 (en) * | 2006-05-31 | 2009-01-20 | Konica Minolta Systems Laboratory, Inc. | Two-dimensional color barcode and method of generating and decoding the same |
CA2696946C (en) | 2006-08-17 | 2013-05-28 | Direct Measurements, Inc. | Multi-format, binary code symbol for non-linear strain measurement |
JP2007059948A (en) * | 2006-11-27 | 2007-03-08 | Oki Electric Ind Co Ltd | Semiconductor chip, method for manufacturing semiconductor chip, lead frame, method for manufacturing lead frame, semiconductor device, and method for manufacturing semiconductor device |
US7719424B2 (en) * | 2007-01-19 | 2010-05-18 | Igt | Table monitoring identification system, wager tagging and felt coordinate mapping |
US20080274552A1 (en) * | 2007-05-04 | 2008-11-06 | Brian Guthrie | Dynamic Information Transfer |
TW200925866A (en) * | 2007-09-21 | 2009-06-16 | Silverbrook Res Pty Ltd | Printer driver for interactive printer |
US8511551B1 (en) | 2008-01-11 | 2013-08-20 | Terry B. Foster | Information card and method of accessing the same |
US20090192731A1 (en) * | 2008-01-24 | 2009-07-30 | Halliburton Energy Services, Inc. | System and Method for Monitoring a Health State of Hydrocarbon Production Equipment |
US8011596B2 (en) * | 2008-02-13 | 2011-09-06 | Hand Held Products, Inc. | Machine readable 2D symbology printable on demand |
JP5120156B2 (en) | 2008-03-27 | 2013-01-16 | 株式会社デンソーウェーブ | 2D code |
US8272038B2 (en) | 2008-05-19 | 2012-09-18 | International Business Machines Corporation | Method and apparatus for secure authorization |
US8552336B2 (en) * | 2008-12-23 | 2013-10-08 | Triune Ip Llc | Micro matrix data marking |
US8430315B2 (en) | 2010-06-29 | 2013-04-30 | SignaKey LLC | Data encoding and decoding |
JP5184672B2 (en) * | 2011-04-04 | 2013-04-17 | 株式会社 廣済堂 | Two-dimensional code reading method and program |
CN102799840A (en) * | 2011-05-23 | 2012-11-28 | 中兴通讯股份有限公司 | Method and device for transmitting data |
US9477853B2 (en) | 2011-09-08 | 2016-10-25 | Hewlett-Packard Development Company, L.P. | Generating an incremental information object |
MY168439A (en) * | 2012-12-14 | 2018-11-09 | Alcon Inc | Ophthalmic lens comprising a unique lens identification code |
US9530028B2 (en) | 2013-02-28 | 2016-12-27 | Hewlett-Packard Development Company, L.P. | Identifiers for mass serialization |
EP2790133B1 (en) * | 2013-04-11 | 2019-02-20 | European Central Bank | Security feature and object with security feature |
US20140372469A1 (en) * | 2013-06-14 | 2014-12-18 | Walter Gerard Antognini | Searching by use of machine-readable code content |
EP2977934B1 (en) * | 2014-07-21 | 2018-11-21 | 4JET Technologies GmbH | Digital coding of rubber articles |
JP1544168S (en) * | 2015-04-03 | 2016-02-22 | ||
US10311596B2 (en) * | 2015-10-16 | 2019-06-04 | Seiko Epson Corporation | Image processing device, robot, robot system, and marker |
DE102016114257A1 (en) * | 2016-08-02 | 2018-02-08 | Würth - Elektronik GmbH & Co KG | Marking for the labeling of products |
US10909432B2 (en) | 2017-10-06 | 2021-02-02 | Denso Wave Incorporated | Two-dimensional code composed of a plurality of types of cells |
JP7157408B2 (en) * | 2017-11-07 | 2022-10-20 | 住友電工焼結合金株式会社 | Iron-based sintered body and its laser marking method and manufacturing method |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE631274A (en) * | 1962-12-10 | |||
DE1248981B (en) * | 1963-03-02 | 1967-08-31 | Zuse K G , Bad Hersfeld | Arrangement for scanning data marks |
GB1168857A (en) * | 1967-04-25 | 1969-10-29 | Gerhard Ritzerfeld | Data Carrier for Storing or Punching Numeral Information |
US3632995A (en) * | 1968-05-09 | 1972-01-04 | Howard W Wilson | Coded article |
US3660641A (en) * | 1969-10-30 | 1972-05-02 | Simcom Corp | Coded data storage medium |
US3894756A (en) * | 1971-10-18 | 1975-07-15 | Optronics Int | Identification card having a reference beam coded hologram |
US3845279A (en) * | 1972-03-01 | 1974-10-29 | L Rosdorff | Notation system |
US3763467A (en) * | 1972-05-04 | 1973-10-02 | Ibm | Method and apparatus for reading documents |
US3801775A (en) * | 1972-08-07 | 1974-04-02 | Scanner | Method and apparatus for identifying objects |
US4014300A (en) * | 1975-12-01 | 1977-03-29 | General Motors Corporation | Rich-core stratified charge spark ignition engine with rich mixture scoop |
JPS5295121A (en) * | 1976-02-06 | 1977-08-10 | Hitachi Ltd | Code plate |
US4113993A (en) * | 1977-05-03 | 1978-09-12 | Xerox Corporation | Automatic dialer having a recall memory |
US4254329A (en) * | 1978-10-31 | 1981-03-03 | News Log International Incorporated | Microfiche information retrieval and control system utilizing machine readable microfiche and visually readable microfiche |
DE2906456A1 (en) * | 1979-02-13 | 1980-10-16 | Schoenebeck | Direct input print-out for data processor - consists of eight symbols based on dual potential with six data bits and start and stop bits printed or perforated in selected geometry |
US4263504A (en) * | 1979-08-01 | 1981-04-21 | Ncr Corporation | High density matrix code |
US4695991A (en) * | 1980-12-09 | 1987-09-22 | Storage Research Pty. Ltd. | Reading information stored in multiple frame format |
AU586810B2 (en) * | 1980-12-09 | 1989-07-27 | Storage Research Pty. Ltd. | Machine readable markers for cartesian information storage media |
US4542288A (en) * | 1981-02-27 | 1985-09-17 | Drexler Technology Corporation | Method for making a laser recordable wallet-size plastic card |
DE3131276C2 (en) * | 1981-08-07 | 1986-02-13 | Kernforschungsanlage Jülich GmbH, 5170 Jülich | Process for the solidification of radioactive waste |
JPS5875353A (en) * | 1981-10-29 | 1983-05-07 | Pioneer Electronic Corp | Data converting system |
US4766300A (en) * | 1984-08-06 | 1988-08-23 | Norand Corporation | Instant portable bar code reader |
US4430563A (en) * | 1982-04-30 | 1984-02-07 | Minnesota Mining And Manufacturing Company | Data processing form |
US4488679A (en) * | 1982-11-01 | 1984-12-18 | Western Publishing Company, Inc. | Code and reading system |
JPS59104207U (en) * | 1982-12-29 | 1984-07-13 | 松下電工株式会社 | load control device |
JPH0233195B2 (en) * | 1983-07-22 | 1990-07-25 | Matsushita Electric Ind Co Ltd | DEJITARUJOHONOKIROKUHOHOOYOBIKIROKUTANTAI |
US4734565A (en) * | 1983-10-12 | 1988-03-29 | Drexler Technology Corporation | Read-only optical card and system |
US4634850A (en) * | 1983-10-12 | 1987-01-06 | Drexler Technology Corporation | Quad density optical data system |
SE446583B (en) * | 1984-11-07 | 1986-09-29 | Dln Consulting Ab | PROCEDURE FOR DIVIDING THE MATERIAL PIECE TO LITTLE UNITS AND MOVING THESE UNITS, AND THE PROCEDURE FOR IMPLEMENTING THE PROCEDURE |
US4652730A (en) * | 1985-01-03 | 1987-03-24 | Honeywell Information Systems Inc. | Method and apparatus for skew compensation in an optical reader |
US4692603A (en) * | 1985-04-01 | 1987-09-08 | Cauzin Systems, Incorporated | Optical reader for printed bit-encoded data and method of reading same |
US4782221A (en) * | 1985-04-01 | 1988-11-01 | Cauzin Systems, Incorporated | Printed data strip including bit-encoded information and scanner control |
NL8501460A (en) * | 1985-05-22 | 1986-12-16 | Philips Nv | METHOD FOR IDENTIFYING OBJECTS INCLUDING A CODE FIELD WITH DOT CODE, DEVICE FOR IDENTIFYING SUCH A DOT CODE, AND PRODUCT USING SUCH A DOT CODE |
US4728783A (en) * | 1985-11-15 | 1988-03-01 | Cauzin Systems, Incorporated | Method and apparatus for transforming digitally encoded data into printed data strips |
US4754127A (en) * | 1985-11-15 | 1988-06-28 | Cauzin Systems, Incorporated | Method and apparatus for transforming digitally encoded data into printed data strips |
JPH0824270B2 (en) * | 1985-12-25 | 1996-03-06 | 日本電信電話株式会社 | Convolutional encoder and maximum likelihood decoder |
DE3604779A1 (en) * | 1986-02-12 | 1987-08-13 | Licentia Gmbh | Method and arrangement for recognition of falsified messages in logging devices |
US4814589A (en) * | 1986-04-18 | 1989-03-21 | Leonard Storch | Information transfer and use, particularly with respect to objects such as gambling chips |
US4707681A (en) * | 1986-04-24 | 1987-11-17 | International Business Machines Corporation | Method and apparatus for implementing optimum PRML codes |
US4972475A (en) * | 1987-02-10 | 1990-11-20 | Veritec Inc. | Authenticating pseudo-random code and apparatus |
CA1293805C (en) * | 1987-02-10 | 1991-12-31 | Veritec, Inc. | Authenticating pseudo-random code and apparatus |
JPH0821054B2 (en) * | 1987-09-17 | 1996-03-04 | 帝菱産業株式会社 | Identification code reader |
JPS6486289A (en) * | 1987-07-11 | 1989-03-30 | Teiryo Sangyo Kk | Identifying code paper |
US5204515A (en) * | 1987-07-11 | 1993-04-20 | Teiryo Sangyo Co., Ltd. | Method of reading identification code sheets using borders to determine scan angle |
DE3852153T2 (en) * | 1987-07-11 | 1995-05-11 | Hirokazu Yoshida | Method of reading sheets with identification code. |
US4794239A (en) * | 1987-10-13 | 1988-12-27 | Intermec Corporation | Multitrack bar code and associated decoding method |
US5136145A (en) * | 1987-11-23 | 1992-08-04 | Karney James L | Symbol reader |
US4924078A (en) * | 1987-11-25 | 1990-05-08 | Sant Anselmo Carl | Identification symbol, system and method |
US4874936A (en) * | 1988-04-08 | 1989-10-17 | United Parcel Service Of America, Inc. | Hexagonal, information encoding article, process and system |
US5126542A (en) * | 1988-05-05 | 1992-06-30 | International Data Matrix, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
US5053609A (en) * | 1988-05-05 | 1991-10-01 | International Data Matrix, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
US5124536A (en) * | 1988-05-05 | 1992-06-23 | International Data Matrix, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
US4939354A (en) * | 1988-05-05 | 1990-07-03 | Datacode International, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
JPH0233221A (en) * | 1988-07-22 | 1990-02-02 | Matsushita Electric Ind Co Ltd | Code converter and decoder |
JPH05290197A (en) * | 1992-04-06 | 1993-11-05 | Teiriyou Sangyo Kk | Method for deciphering two-dimensional code symbol mark |
JP3089595B2 (en) * | 1994-08-19 | 2000-09-18 | 日鉱金属株式会社 | Recovery of indium by electrowinning |
-
1988
- 1988-05-05 US US07/190,205 patent/US4939354A/en not_active Expired - Lifetime
-
1989
- 1989-04-25 CA CA000597699A patent/CA1341134C/en not_active Expired - Fee Related
- 1989-04-28 MX MX015858A patent/MX167333B/en unknown
- 1989-05-01 IL IL90140A patent/IL90140A/en unknown
- 1989-05-02 IE IE143189A patent/IE62337B1/en not_active IP Right Cessation
- 1989-05-02 JP JP1112367A patent/JP2951965B2/en not_active Expired - Fee Related
- 1989-05-02 DE DE3914440A patent/DE3914440A1/en not_active Ceased
- 1989-05-02 CH CH1658/89A patent/CH679084A5/de not_active IP Right Cessation
- 1989-05-03 BE BE8900485A patent/BE1002654A3/en not_active IP Right Cessation
- 1989-05-03 ZA ZA893288A patent/ZA893288B/en unknown
- 1989-05-03 DK DK198902184A patent/DK175021B1/en not_active IP Right Cessation
- 1989-05-03 FR FR898905924A patent/FR2631182B1/en not_active Expired - Lifetime
- 1989-05-03 SE SE8901602A patent/SE506353C2/en not_active IP Right Cessation
- 1989-05-03 NL NL8901129A patent/NL193505C/en not_active IP Right Cessation
- 1989-05-03 NO NO891834A patent/NO180810C/en not_active Application Discontinuation
- 1989-05-04 PT PT90469A patent/PT90469B/en not_active IP Right Cessation
- 1989-05-04 IT IT8947911A patent/IT1231365B/en active
- 1989-05-04 KR KR1019890006120A patent/KR930012137B1/en not_active IP Right Cessation
- 1989-05-04 AU AU33991/89A patent/AU622173B2/en not_active Ceased
- 1989-05-04 NZ NZ228997A patent/NZ228997A/en unknown
- 1989-05-04 GB GB8910214A patent/GB2218240B/en not_active Expired - Lifetime
- 1989-05-04 GR GR890100297A patent/GR890100297A/en unknown
- 1989-05-04 FI FI892146A patent/FI99056C/en not_active IP Right Cessation
- 1989-05-05 ES ES8901580A patent/ES2017022A6/en not_active Expired - Lifetime
- 1989-05-05 MY MYPI89000609A patent/MY104121A/en unknown
-
1991
- 1991-05-07 US US07/694,616 patent/US5324923A/en not_active Expired - Fee Related
- 1991-05-30 GB GB919111614A patent/GB9111614D0/en active Pending
-
1992
- 1992-06-30 US US07/907,769 patent/US5329107A/en not_active Expired - Fee Related
-
1994
- 1994-06-23 US US08/264,790 patent/US5479004A/en not_active Expired - Lifetime
- 1994-06-23 US US08/264,642 patent/US5464974A/en not_active Expired - Lifetime
- 1994-06-23 US US08/264,855 patent/US5473151A/en not_active Expired - Lifetime
- 1994-06-23 US US08/264,481 patent/US5468953A/en not_active Expired - Lifetime
- 1994-06-23 US US08/264,789 patent/US5484999A/en not_active Expired - Lifetime
- 1994-06-23 US US08/264,856 patent/US5477045A/en not_active Expired - Lifetime
- 1994-08-22 JP JP6196817A patent/JP2931209B2/en not_active Expired - Fee Related
- 1994-08-22 JP JP6196844A patent/JP2935640B2/en not_active Expired - Fee Related
- 1994-08-22 JP JP6196838A patent/JP2622235B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1341134C (en) | Dynamically variable machine readable binary code and method for reading and producing thereof | |
US5053609A (en) | Dynamically variable machine readable binary code and method for reading and producing thereof | |
US5124536A (en) | Dynamically variable machine readable binary code and method for reading and producing thereof | |
US5126542A (en) | Dynamically variable machine readable binary code and method for reading and producing thereof | |
US5939700A (en) | Bar code symbology capable of encoding 16-bit characters, and method and apparatus for printing and reading same | |
EP0572989B1 (en) | Record with encoded data | |
KR100960786B1 (en) | Methods and systems for encoding and decoding data in 2d symbology | |
EP0757823B1 (en) | Machine readable binary codes | |
CA2172511C (en) | Packet bar code encoding and decoding | |
US6186406B1 (en) | Bar code symbology capable of encoding bytes, words, 16-bit characters, etc. and method and apparatus for printing and reading same | |
US20120024956A1 (en) | Qr code having hidden codes and methods of forming and identifying the hidden codes | |
EP0565738A1 (en) | System for encoding and decoding data in machine readable graphic form | |
KR20090018811A (en) | Multi-dimensional symbologies and related methods | |
US6032863A (en) | Method and apparatus for producing machine readable bar code | |
GB2265237A (en) | Producing and reading a machine-optically-readable code | |
JPH05290204A (en) | Method and device for encoding data to mechanically readable graphic shape and decoding this shape |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed |