1
CH 679 084 A5
2
Beschreibung
Die vorliegende Erfindung betrifft einen Binärcode gemäss dem Oberbegriff des Patentanspruchs 1 sowie ein Verfahren nach Anspruch 5 zum Ablesen dieses Binärcodes und ein Verfahren nach Anspruch 8 zum Erzeugen desselben.
Optisch ablesbare Codes sind bekannt. Durch einen solchen als Prüfkartensymbol ausgebildeten Code wird die Information durch eine Kombination von schwarzen und weissen Kästchen in einer Matrix dargestellt, wobei alle Kästchen der Matrix gleich gross sind. Da die Anzahl und Grösse der Kästchen vorbestimmt ist, erwartet der Computer, der diese Daten empfängt oder erzeugt, dass die Anzahl Kästchen innerhalb der Matrix mit der vorbestimmten Anzahl übereinstimmt, und dass alle Kästchen diesselbe Grösse aufweisen. Dieser Code ist nicht zufriedenstellend. Er ist unfähig, die Datenkapazität dynamisch zu expandieren oder zu komprimieren, um den sich verändernden Kundenanforderungen ohne eine Umprogrammierung der Software des Abtastcomputers zu genügen. Der Benutzer dieses Codes muss daher die Datenanforderungen identifizieren, bevor er das Software-System freigibt. Zudem, da jedes Kästchen eine genau bestimmte Grösse aufweist und die Anzahl Kästchen vorbestimmt ist, muss der Abtastcomputer für die erwartete Matrixgrösse vorbereitet sein, was den Benutzer zwingt, einen individuell dimensionierten Prüfkartencode für jeden Abtaster zu verwenden. Es werden somit mehrere Code-Abtaster sowie ein System zur Trennung der Codes benötigt, die unterschiedlich dimensioniert sind oder eine unterschiedliche Code-Dichte aufweisen und dann dem geeigneten Code-Abtaster zugeführt werden.
Codes, die diese Nachteile nicht aufweisen, weil sie Angaben enthalten, die bezüglich der Grösse oder der Codierungsart vom Computer interpretiert werden können, sind auch bekannt. Ein solcher Code ist beispielsweise aus dem U.S. Patent Nr. 3763 467 bekannt. Diese Patentschrift beschreibt ein optisches Lesen von Daten, die in Boxform auf einer Karte vorliegen. Die Karte ist an ihrer Peripherie mit zwei ein Feld bestimmenden Marken markiert, die sich an der vorderen und an der hinteren Kante der Box befinden, um die Grösse des Feldes anzugeben, das in der Box gespeicherte Binärcode-Dezimaldaten enthält. Die erste Datenzeile innerhalb der Box bildet die Peripheriekante und enthält eine Formatinformation zur Identifizierung der Spalte, die innerhalb der Box abgelesen werden soll. Dieser Code hat sich auch als nicht zufriedenstellend erwiesen, weil sich daraus Schwierigkeiten mit der Dichte und mit der Grösse ergeben. Die Grösse des Feldes ist zwar variabel, die effektive Grösse der Zeichen innerhalb des Feldes jedoch nicht, was dazu führt, dass eine kleinere Feldgrösse einen kleineren gespeicherten Informationsgehalt aufweist. Zudem müssen sich die zu lesenden Grösseanga-ben in speziellen Positionen befinden, damit sie von der Abtastvorrichtung aufgenommen und ausgewertet werden können.
Es besteht daher der Wunsch, über einen dynamisch variablen optisch maschinenlesbaren Binärcode sowie über ein entsprechendes Verfahren zum Ablesen und/oder zum Erzeugen eines solchen Codes verfügen zu können, die diese Nachteile nicht aufweisen.
Diese Aufgabe wird erfindungsgemäss durch einen Binärcode mit den im kennzeichnenden Teil des Anspruchs 1 angegebenen Merkmalen gelöst.
Damit ergibt sich ein verbesserter optisch lesbarer Binärcode.
Andere vorteilhafte Ausführungen der Erfindung sind in weiteren Ansprüchen angegeben.
Die Erfindung wird nachfolgend durch Beschreibung von Ausführungsbeispielen anhand einer Zeichnung näher erläutert. Es zeigen:
Fig. 1a und 1b zwei erfindungsgemässe Binärcodes mit verschiedenen Grössen, jedoch mit demselben Informationsgehalt,
Fig. 2a-2d Datenanordnungen innerhalb der Peripherie für Binärcodes nach der Erfindung,
Fig. 3a-3d redundante Kompositionen von visuellen Zellen innerhalb der Matrix gemäss der Erfindung,
Fig. 4 ein Blockdiagramm für eine Vorrichtung zur Bearbeitung und Abtastung des Codes nach der Erfindung und
Fig. 5 ein Flussdiagramm des Verfahrens zum Ablesen des Binärcodes.
Fig. lazeigt einen allgemein als eine Matrix 10 dargestellten Binärcode nach der Erfindung. Die Binärcodematrix 10 weist eine Peripherie oder Umfangsli-nie mit zwei Seiten 12,12' und zweiten Seiten 14,14' auf. Die zwei Seiten 12, 12' bilden zwei feste, sich überschneidende Balken und die Seiten 14, 14' bestehen aus alternierenden dunklen und hellen Kästchen 16 bzw. 18. Daten, die allgemein mit 19 bezeichnet sind, sind innerhalb der Peripherie 11 der Matrix 10 gespeichert.
Die Daten 19 werden innerhalb der Peripherie der Matrix 10 gespeichert, indem jedes Zeichen, das gespeichert werden soll, in einen sichtbaren Binärcode umgewandelt wird, der durch dunkte und helle Kästchen dargestellt wird, die den Einsen und Nullen einer Binärinformation entsprechen. Ein Buchstabe oder eine Zahl, die dem Binärcode 0001 entspricht, kann daher durch eine Folge von Datenzellen dargestellt werden, wobei jede Zelle entweder ein dunkles oder ein helles Kästchen enthält. Die Daten, die 0001 darstellen, würden somit als eine Reihe von drei hellen Zellen und einer dunklen Zelle erscheinen. Die Zahlen 0 bis 9 werden beispielsweise innerhalb einer Matrix 10 durch Muster von hellen Zellen 20 und dunklen Zellen 22 dargestellt.
Die binäre Darstellung der hundertachtundzwan-zig (128) US-ASCII Buchstaben, (die beispielsweise als alphanumerische Daten gebraucht werden), Zahlen und Symbole benötigt acht Binärbits oder im Fall von Matrix 10 acht visuelle Kästchen oder Zellen, um ein Zeichen darzustellen. Wird aber der maximale Bereich der Zeichen definiert, die in jeder Position der Eingangsreihe erscheinen können, so ist es möglich, jene Binärbits zu eliminieren, die eine redundante Information aufweisen, die dem Gesamtbereich von Zeichen gemeinsam ist, indem die benötig-
5
10
15
20
25
30
35
40
45
50
55
60
65
3
CH 679 084 A5
4
te Anzahl der visuellen Kästchen auf weniger als acht komprimiert wird, um ein einzelnes Zeichen darzustellen. In einer Ausführung, in der nur die Buchstaben A bis D in der ersten Position der Eingangsreihe erscheinen sollen, braucht man nur zwei visuelle Kästchen, um die vier möglichen Binärbitkonfigurationen darzustellen. Wenn das Vorhandensein einer dunklen Zelle mit «D» und einer Lichtzeile mit «L» angezeigt wird, so könnte der Buchstabe A durch LD dargestellt werden, der Buchstabe B durch DL, C durch DD und D durch LL, so dass alle Buchstaben mit nur zwei Zellen der visuellen Binärinformation dargestellt werden. In ähnlicher Weise, wenn man weiss, dass in der zweiten Zeichenposition der Eingangsreihe nur Zahlwerte von 0 bis 9 erscheinen werden, muss man nur vier visuelle Zellen reservieren, um die zehn möglichen Binärvariationen zu gestalten, um ein solches Zeichen zu bilden. In der obigen Ausführung müssen daher insgesamt sechs visuelle Kästchen oder Zellen reserviert werden, um die zwei Zeichen der codierten Information darzustellen, statt 16 Zellen wie beim US-ASCII-System.
Die Grösse des Quadrats und die Anzahl Zellen, die innerhalb seiner Peripherie enthalten sind, werden durch den Peripheriecode (11) bestimmt. Die Balken 12, 12' geben die physische Grösse der Matrix 10 an.
Zur leichteren Erläuterung wurde eine quadratische Matrix 10 mit gleichen Seiten 12,12'dargestellt. Jedes Parallelogramm, wie ein Rechteck, dessen Fläche durch das Produkt Länge mal Höhe gegeben ist, kann jedoch verwendet werden.
Die Seite 14 gibt die Dichte oder Anzahl Zellen 20, 22 an, die in der Matrix 10 enthalten sind. Die Anzahl alternierender Kästchen 16, 18, angefangen mit dem ersten hellen Kästchen 18 neben jeder Umfangsseite 12', entspricht der auf die nächste Zahl abgerundeten Quadratwurzel der Anzahl visueller Zellen 20, 22, die innerhalb der Peripherie der Matrix 10 enthalten sind.
In diesem Beispiel ist das Kästchen, das sich neben der Umfangsseite 12' befindet, ein helles Kästchen 18. In einer Matrix mit einer anderen Anzahl Zellen 20, 22 kann jedoch die Seite 14 mit einem dunklen Kästchen 16 beginnen, um einen geeigneten Wert für die Anzahl alternierender Kästchen 16, 18 zu erhalten.
In einer praktischen Ausführung können die Zahlen 0 bis 9 innerhalb der Matrix 10 mit Hilfe von 36 visuellen Zellen 20, 22 codiert und in einer Matrix 10 eingeschlossen werden, die eine Umfangsseite 14 mit sechs dunklen und sechs hellen Kästchen 16 bzw. 18 aufweist. Dadurch, dass eine Peripherie vorgesehen ist, die die Grösse der Matrix 10 und die Anzahl der in ihr enthaltenen visuellen Zellen in Binärform angibt, wird eine Binärcodematrix 10 erzeugt, die wie weiter unten erklärt werden soll, unabhängig von der physischen Grösse oder der Informationsdichte erkennbar und durch einen Abtastcomputer identifizierbar ist.
Als Vergleich wird auf die in Fig. 1b dargestellte Matrix 10a hingewiesen, die dieselbe Information in derselben Form wie die Matrix 10 enthält und eine Peripherie 11a in einem kleineren Massstab mit entsprechend kleineren Umfangseiten 12a und 14a aufweist. Die physische Grösse des Codes kann daher unbegrenzt sein. Dadurch, dass durch das Format dem Abtastcomputer die Grösse und Dichte der Matrix In maschinenlesbarer Form angegeben wird, ist es möglich, zu einer Maschinenlesbarkeit von sehr verschiedenen Grössen und von Binärcodes verschiedener Informationsdichten durch ein einziges optisches Abtastcomputersystem zu gelangen. In praktischen Ausführungen kann die physische Grösse im Bereich von 0,6 bis 45 cm2 (1710 bis 7 Quadrat-Inches) liegen, da sie nur durch die Fähigkeit des Druckers zur Nachbildung der gewählten Grösse beschränkt ist.
Die Fig. 2a bis 2d zeigen Anordnungen von visuellen Zellen 22 innerhalb der Matrix 10, wobei ähnliche Elemente in Fig. 1a mit denselben Bezugsnummern bezeichnet sind. Ein Zeichen kann durch die dunklen visuellen Zellen 22a, 22b, 22c, 22d und 22e dargestellt sein. Die visuellen Zellen 22a bis 22e können sich in verschiedenartigen Positionen innerhalb der Matrix 10 befinden. Die visuellen Zellen 22 können in Reihe an einer Ecke der Matrix 10 (Fig. 2a) angeordnet oder rund um die Ecken der Matrix 10 (Fig. 2b) verteilt oder sich in umgekehrter Reihenfolge an einer Ecke der Matrix 10 (Fig. 2c) befinden oder ganz unregelmässig innerhalb der Matrix 10 (Fig. 2d) verteilt sein. Jede Matrix 10 kann für eine spezifische visuelle Zellendisposition in Abhängigkeit der Bedürfnisse eines bestimmten Benutzers verschlüsselt sein. Dies erlaubt einem Benutzer, Muster zu haben, die entweder von allen Benutzern des Binärcodes oder nur von bestimmten Benutzern des Binärcodes, wie beispielsweise in streng geheimen Kontrollvorrichtungen, lesbar sind. Ein Kennzeichen 23 zur Bestimmung der Codierung in Gebrauch wird in visuellen Zellen, die sich innerhalb der Peripherie 11 der Matrix 10 befinden, in einer vorbestimmten Referenzposition innerhalb der Matrix 10 codiert. Das Kennzeichen 23 kann sich beispielsweise in einem vorbestimmten Abstand vom Schnittpunkt der Balken 12, 12' befinden. Zudem kann eine Mischung von Öffentlichen und geheimen Mustern innerhalb derselben Struktur vorhanden sein, um der Öffentlichkeit zu erlauben, einen Teil des Inhalts der Matrix 10 zu lesen, und nur einem Teil des Publikums zu erlauben, den Inhalt des Restes der Matrix 10 zu lesen. In einer bevorzugten Ausführung gibt es 256 Mustervariationen für das Hinstellen der optischen Zellen 22, 23 innerhalb der Matrix 10.
Die Daten 19 können auch mehr als einmal gespeichert werden, um so eine Redundanz in der innerhalb der Matrix 10 codierten Information zu erzeugen. Die Redundanz kann in einem Bereich von keiner bis zu 400% Redundanz liegen. Zudem muss die Redundanz, wie in den Fig. 3a-3d dargestellt, nicht in denselben Mustern wie die Wurzelzellen liegen. Die visuellen Zellen A, B, C, D sind innerhalb der Matrix 10 mehrmals vorhanden. Die durch die dunkleren Buchstaben dargestellte Wurzelzelle kann wie ein Spiegelbild (Fig. 3a, 3b, 3c) oder nach einem unregelmässigen Muster (Fig. 3d) wiederholt werden, insofern identische visuelle Zellen wie A, A nicht nebeneinander liegen. Durch die Redundanz geht
5
10
15
20
25
30
35
40
45
50
55
60
65
3
5
CH679 084 A5
e somit der Code nicht verloren, wenn bei normaler Übertragung oder beim Gebrauch ein Teil der Matrix vernichtet oder verformt wird.
Die Matrix 10 kann durch die Vorrichtung nach Fig. 4 gelesen werden. Das visuelle Bild der Matrix 10 zusammen mit ihrer umschliessenden Fläche wird durch einen optischen Abtaster 24 erfasst, der das Bild in eine Reihe elektronischer Impulse umwandelt. Der Abtaster 24 kann ein lichtempfindliches elektronisches Feld, eine optische Kamera mit ladungsgekoppelten Halbleiterbauelementen (CCD), ein Li-nearsensorabtaster, ein Laserleser für zweidimensionale Abtastung und dergleichen sein.
Die durch den Abtaster 24 erzeugten elektronischen Impulse werden einem Digitalwandler 26 zugeführt, der diese elektronischen Impulse in eine Reihe computererkennbarer Binärdatenbits, die dem abgetasteten Bild entsprechen, umwandelt. Jeder visuellen Zelle wird ein binärer numerischer Wert in Abhängigkeit der vom Abtaster 24 wahrgenommenen Lichtstärke zugeordnet. Den visuellen Zellen, die absolut schwarz und absolut weiss sind, werden die höchsten bzw. niedrigsten Werte zugeordnet, während dazwischen liegenden Schattenbildern Stufenwerte zugeordnet werden, um dadurch ein elektronisches Bild der abgetasteten Matrix 10 zu erzeugen. Dieses Bild wird der zentralen Prozessoreinheit eines Computers 28 («CPU») zugeführt, der ein digitales Bild der Matrix 10 und eines Teils ihrer umschliessenden Fläche als Referenz in seinem Speicher speichert.
Die Matrix 10 befindet sich nicht immer in einer leicht definierbaren Orientierung in bezug auf den Abtaster 24. Der Computer (CPU) 28 führt daher eine binäre Suchaktion durch, um die codierten Muster zu lokalisieren und die Orientierung der Matrix, wie sie im Computer 28 gespeichert ist, zu bestimmen. Die Besonderheiten der Peripherie 11 der Matrix 10 liefern einen Referenzpunkt. Jede Matrix 10 enthält zwei Balken 12,12'. Der Computer 28 sucht diese zwei Balken, und nachdem er sie gefunden hat, sucht er auch den Schnittpunkt der Balken. Durch Einstellung der Ecke beim Schnittpunkt der Seiten 12, 12' identifiziert der Computer 28 die besondere Lage der Matrix 10 unabhängig von Grösse und Orientierung innerhalb des abgetasteten Sichtfeldes. Der Computer 28 misst dann die Länge von jedem in seinem Speicher gespeicherten Balken 12, 12' und den Winkel, in dem sie sich überschneiden. Der Computer 28 berechnet dann die Lage der gegenüberliegenden Ecke der Matrix 10. Durch Verwendung der Länge und des Schnittwinkels der Seiten 12,12'kann die Matrix 10 immer erkannt werden, und zwar auch dann, wenn sie während der Digitalisierung relativ stark linear verformt wurde, vorausgesetzt, dass das Binärbild die Form eines Parallelogramms beibehält. Die Besonderheiten der Peripherie 11 erlauben zudem dem Computer 28 die Matrix 10 von anderen Symbolen oder Bildern im Ab-tastfeld zu unterscheiden.
Nun wird auf Fig. 5 hingewiesen, in der ein Flussdiagramm zum Auslesen und Decodieren der Matrix 10 angegeben wird. Nachdem die vier Ecken der Matrix 10 identifiziert worden sind, zählt der Computer 28 die alternierend dunklen und hellen Kästchen
16,18 der Umfangsseiten 14 gemäss einer Stufe 100. Da die Seiten 14, 14' identisch aufgebaut sind, wird die eine Seite 14 verwendet, um die andere Seite 14' zu kontrollieren, um in der Stufe 102 die dort enthaltene Information zu bestätigen. In der Stufe 104 berechnet der Computer 28 das Produkt der Anzahl Kästchen jeder Seite 14,14' und bestimmt die Dichte der innerhalb der Matrix enthaltenen Zellen. Bei der Berechnung des Matrixwinkels, der Matrixgrösse und der Matrixdichte kann der Computer 28 auch die Lage jeder optischen Zelle 20, 22 bezüglich der sich überschneidenden Linien 12, 12' gemäss Stufe 106 berechnen. So kann das Zentrum jeder visuellen Zelle 20, 22 bestimmt werden. Der Computer 28 kennt nun die physische Grösse der zu decodierenden Muster, die totale Anzahl visueller Zellen oder ihres elektronischen Äquivalents, die als Daten 19 gespeichert sind, und die Lage des Zentrums jeder visuellen Zelle 20, 22 bezüglich der vier Ecken der Matrix 10. Da die physische Grösse und die Zellendichte der Matrix 10 eher berechnete als vorbestimmte Werte sind, kann der Computer 28 eine Matrix 10 jeder physischen Grösse oder Dichte erkennen und decodieren.
Die Muster der Daten 19 werden zuerst decodiert, indem das Musterverteilungskennzeichen gemäss Stufe 108 identifiziert wird. Das Verteilungskennzeichen wird immer als eine Anzahl visueller Zellen gespeichert, die sich in einer bestimmten Lage bezüglich der Ecken der Matrix 10 befindet. Nachdem die Orientierung der Matrix 10 durch den Computer 28 in der Stufe 110 bestimmt wurde, findet somit der Computer 28 aus dem digitalisierten Bild der Matrix 10 das elektronische Äquivalent der visuell codierten Kennzeichenzellen zurück. Nach Decodierung dieser Kennzeichenzellen gemäss Stufe 112 erfährt der Computer 28, welche von den 256 Zellverteilungsmustern gebraucht wurde, um die Daten 19 innerhalb der Matrix 10 zu codieren. Nachdem das Verteilungsmuster bestimmt wurde, sammelt der Computer 28 gemäss Stufe 114 die geeigneten Zellen, um die Binärzeichenreihen wiederzufor-men, die den ursprünglich zur Codierung eingegebenen Binärzeichenreihen entsprechen.
Zur Erzeugung der Matrix 10 muss der Computer 28 den Prozess umkehren und zuerst die 0,1 Binärsprache des Computers in die dunkel/hell-visuellen Zellen 20, 22 der Matrix 10 umwandeln. Der Computer 28 berechnet die maximale Anzahl der Zeichenvariationen, die für jede Position der Eingangsreihe zu erwarten sind, und bestimmt dann die minimale Anzahl visueller Zellen, die notwendig sind, um diese Anzahl Variationen zu codieren. Das Kompressionsverfahren ändert in Abhängigkeit von der Art der vorherbestimmten Eingangseingaben. Wenn beispielsweise bekannt ist, dass nur Zahlen bei einer bestimmten Eingangsposition erscheinen werden, können die Achtbitbinärzahlen auf 3,32 visuelle Zellen komprimiert werden; wenn alle alphabetischen Zeichen vorkommen können, kann ein Achtbitbinärbuchstabe auf 4,75 visuelle Zellen komprimiert werden; oder wenn das Eingangszeichen alphabetisch oder numerisch sein kann, reduziert der Kompressionsalgorithmus jedes Eingangszeichen von acht Binärbits auf 5,21 visuelle Zellen.
5
10
15
20
25
30
35
40
45
50
55
60
65
7
CH679 084A5
8
Im weiteren kann das System von den verfügbaren «Teil»-Zellen Gebrauch machen. Das erste alphanumerische Zeichen benötigt beispielsweise sechs (kleinste ganze Zahl grösser als 5,21) visuelle Zellen, während das zweite alphanumerische Zeichen nur fünf benötigen wird (10,42 Zellen minus 6 für das erste Zeichen = 4,42 abgerundet auf 5). Dies erlaubt eine Erhöhung der Binärkompression wie oben beschrieben, wodurch die notwendige Dichte der Matrix 10 weiter reduziert wird. Wenn es, wie bei Fig. 1a, bekannt wäre, dass alle zehn einzugebenden Zeichen numerisch (0 bis 9) sind, würde der Computer 28 mittels des Kompressionalgorithmus bestimmen, dass die Anzahl potentieller binärer Variationen durch 34 visuelle Zellen statt der 80 Zellen erreicht wird, die man sonst vorsehen müsste.
Der Benutzer gibt dann die gewünschte Verteilungsart für die visuellen Zellen in den Computer 28 ein und dann auch einen gewünschten Redundanzgrad zwischen 0 und 400%. Der Computer 28 analysiert das Muster der visuellen Grundzelle, die codiert werden soll, und wählt für die redundanten Datenzellen Positionen, die sich möglichst weit weg von der Grundzelle befinden, um die grösste Wahrscheinlichkeit dafür zu erreichen, dass mindestens eine Zelle überleben wird, falls die Matrix 10 (Fig. 3a, 3b, 3c, 3d) teilweise untergeht. Dann wird die Anzahl der für die codierten Daten benötigten visuellen Zellen berechnet und der Anzahl der als Verteilungskennzeichen benötigten visuellen Zellen hinzugefügt, um die Dichte der Matrix 10 zu bestimmen. Die Quadratwurzel davon wird dann berechnet, "um die Anzahl der Kästchen zu bestimmen, die notwendig sind, um die Seiten 14,14' der Peripherie 11 der Matrix 10 zu bilden. Zuletzt wird die vom Benutzer gewünschte physische Grösse der Matrix 10 eingegeben, um die Länge der Seiten 12,12'der Matrix 10 zu bestimmen. Nach der Berechnung all dieser Werte veranlasst der Computer 28 einen Drucker 30, die neu erzeugte Matrix 10 herauszugeben.
Der angegebene maschinenlesbare zweidimensionale Binärcode mit einer Umfangslinie, die die physische Grösse des Codes an zwei ihrer Seiten und die Dichte der codierten Information an den zwei anderen Seiten angibt, ist dynamisch veränderbar bezüglich Grösse und Dichte der darin enthaltenen Information.
Schliesslich sei noch bemerkt, dass die festen Linien der Länge, der Höhe und der Fläche des Codes entsprechen, wobei die im Peripherie-Code enthaltene Information einmal erscheinen kann oder auch mehrere Male, um eine Redundanz in die gespeicherte Information einzuführen, die auch in mehreren Mustern innerhalb der Matrix gespeichert werden kann.
Die Vorteile der Erfindung können wie folgt zu-sammengefasst werden:
- Der Computer kann Grösse und Dichte der abzutastenden Matrix unabhängig voneinander bestimmen.
- Der Computer kann die codierte Information unabhängig von der jeweiligen physischen Grösse oder dem Datenvolumen innerhalb des Symbols erkennen, erfassen und behandeln.
- Der Code kann unabhängig von der Orientierung des Symbols bezüglich des Abtasters eingelesen und bearbeitet werden.
- Der Code erlaubt eine dynamische Codierung von grossen Informationsmengen in jeder physischen Grösse.
- Der Code erlaubt dem Computer eine unabhängige Erkennung und Decodierung der im Code enthaltenen Information, ohne dass die physische Grösse, die Datendichte oder der Rotationswinkel des Codes bezüglich des Lesers berücksichtigt werden müssen.
- Der Code erlaubt eine dynamische durch den Computer erzeugte Bestimmung der Dichte der Codematrix, ohne dass der Benutzer spezielle Massnahmen treffen muss; damit hat der Benutzer eine absolute Kontrolle über die Wahl der physischen Grösse des Codes und des Datenvolumens.