Aztec Code

Aztec Code er en form for 2D stregkode opfundet af Andrew Longacre, Jr. og Robert Hussey i 1995. Koden blev udgivet af AIM, Inc. i 1997. Selv om aztekernes kode blev patenteret, blev dette patent officielt offentliggjort domæne. Den aztec kode er også udgivet som ISO / IEC 24778: 2008 standarden Opkaldt efter ligheden af ​​det centrale finderen mønster til en aztekisk pyramide, Aztec kode har potentialet til at bruge mindre plads end andre matrix stregkoder, fordi det ikke kræver en omgivende blank " stille zone ".

Struktur

Symbolet er bygget på et kvadratisk gitter med en tyre-øje mønster i midten til lokalisering koden. Dataene er kodet i koncentriske firkantede ringe omkring tyre-øje mønster. Den centrale tyre-øje er 9 × 9 eller 13 × 13 pixels, og en række af pixels omkring der koder grundlæggende kodning parametre, der producerer en "kerne" af 11 × 11 eller 15 × 15 firkanter. Tilføjes data i "lag", som hver indeholder to ringe af pixels, hvilket giver i alt størrelser på 15 × 15, 19 × 19, 23 × 23, osv

Hjørnerne af kernen omfatter orientering mærker, der gør det muligt at koden læses, hvis roteres eller reflekteret. Afkodning begynder på hjørnet med tre sorte pixels, og fortsætter med uret til hjørnerne med to, en, og nul sorte pixels. De variable pixel i den centrale kerne kode størrelse, så det er ikke nødvendigt at markere grænsen af ​​koden med en blank "quiet zone", selv om nogle stregkodelæsere kræver en.

Den kompakte Aztec kode kerne kan være omgivet af 1 til 4 lag, der producerer symboler fra 15 × 15 gennem 27 × 27. Der er desuden en speciel 11 × 11 "rune", der koder for en byte af oplysninger. Den fulde kerne understøtter op til 32 lag, 151 × 151 pixels, hvilket kan koder 3832 cifre, 3067 bogstaver eller 1914 byte data.

Uanset hvilken del af symbolet ikke anvendes til den grundlæggende data bliver brugt til Reed-Solomon fejlkorrektion, og opdelingen er helt konfigurerbar, mellem grænserne for 1 dataord og 3 Tjek ord. Det anbefalede antal kontroller ord er 23% af symbol kapacitet plus 3 kodeord.

Aztec Kode formodes at være robust i henhold til forskellige printer-teknologier. Det er også velegnet til skærme af mobiltelefoner og andre mobile enheder.

Kodning

Generering en aztekisk kode Kodningen Processen består af følgende trin:

  • Konvertering kildemeddelelsen til en streng af bits
  • Beregning af nødvendig symbol størrelse og tilstand vises, som bestemmer Reed-Solomon kodeord størrelse
  • Bit-udstopning budskabet ind i Reed-Solomon kodeord
  • Padding besked til et kodeord grænse
  • Tilføjende kontrol kodeord
  • Anbringelse af hele beskeden i en spiral rundt om kernen

Alle konvertering mellem bits strengene og andre former udføres i overensstemmelse med den store-endian konvention.

Tegnsæt

Alle 8-bit-værdier kan kodes, plus to escape-koder:

  • FNC1, en flugt symbol, der anvendes til at markere tilstedeværelsen af ​​en ansøgning identifikator, på samme måde som i GS1-128 standarden.
  • ECI, en flugt efterfulgt af et 6-cifret Udvidet Kanal Fortolkning kode, som angiver hvilket tegnsæt der bruges til at fortolke følgende bytes.

Som standard koder 0-127 fortolkes i henhold til ANSI X3.4, og 128-255 er intrepreted i henhold til ISO 8859-1: latinsk alfabet nr 1. Det svarer til ECI 000.003.

Bytes oversættes til 4- og 5-bit koderne, baseret på en aktuel afkodningsmodus, med skifteholdsarbejde og latch koder for skiftende tilstande. Byte værdier ikke tilgængelig denne måde kan kodes ved anvendelse af en generel "binær shift" -kode, som efterfølges af en længde og en række 8-bit koderne.

Til skiftende tilstande, et skift kun påvirke fortolkningen af ​​den fælles følgende kode, mens en lås påvirker alle følgende koder. De fleste tilstande bruger 5-bit-koder, men Digit mode bruger 4-bit-koder.

  • Indledende tilstand er "Upper"
  • x / S = Skift til tilstanden x for ét tegn; B / S = skift til 8-bit binær
  • x / L = låsen til tilstanden x for at følge tegn
  • Punct koder 2-5 koder to bytes hver
  • Tabellen viser ASCII-tegn, men det er de byte værdier, der er kodet, selv om en ikke-ASCII-tegnsæt det i brug

B / S efterfølges af en 5-bitlængde. Hvis ikke-nul, betyder det, at 1-31 8-bit bytes følge. Hvis nul, 11 ekstra længde bits kode antallet af følgende bytes mindre 31. Ved udgangen af ​​den binære sekvens, er den forrige tilstand genoptaget.

FLG efterfølges af en 3-bit n-værdien. n = 0 koder FNC1. n = 1-6 efterfølges af 1-6 cifre, der er nul-polstret til at lave en 6-bit ECI identifikator. n = 7 er reserveret og i øjeblikket ulovligt.

Tilstand besked

Tilstanden meddelelse koder antallet af lag, og antallet af datakodeord i meddelelsen. Alle resterende kodeord anvendes som kontrol kodeord.

For kompakte Aztec koder, er antallet af lag kodet som en 2-bit værdi, og antallet af datakodeord som en 6-bit værdi, hvilket resulterer i en 8-bit mode ord. For fuld Aztec koder, er antallet af lag er kodet i 5 bit, og antallet af datakodeord er indkodet i 11 bits, hvilket gør en 16-bit ord.

Tilstanden ordet er opdelt i 2 eller 4 4-bit kodeord i GF, og 5 eller 6 Reed-Solomon kontrol ord er vedlagt, hvilket gør en 28- eller 40-bit-meddelelse, som er viklet i en 1-pixel lag omkring kerne.

Fordi en L + 1-lags kompakt Aztec kode kan holde flere data end en L-lags fulde kode, er fulde koder med mindre end 4 lag sjældent brugt.

Vigtigst er det, at antallet af lag bestemmer størrelsen af ​​Reed-Solomon kodeord anvendes. Dette varierer fra 6 til 12 bits:

Kodeordet størrelse b er den mindste lige antal som sikrer, at det samlede antal kodeord i symbolet er mindre end grænsen på 2-1, der kan korrigeres med en Reed-Solomon-kode.

Som nævnt ovenfor, anbefales det, at mindst 23% af de tilgængelige kodeord, plus 3, er forbeholdt korrektion, og et symbol størrelse vælges således, at meddelelsen vil passe ind i den tilgængelige plads.

Bitpåfyldning

Databittene er opdelt i kodeord, med den første bit, der svarer til de mest betydningsfulde koefficient. Mens du gør dette, er kodeordene for alle-nul og alle-dem undgås ved lidt udstopning: Hvis den første B-1 bits af et kodeord har samme værdi, er en ekstra bit med den komplementære værdi indsat i datastrømmen. Denne indsættelse finder sted om den sidste bit i kodeordet ville have haft den samme værdi eller ej.

Bemærk også, at dette kun gælder for strenge af b-1 bits ved begyndelsen af ​​et kodeord. Længere strenge af identiske bits er tilladt, så længe de breder sig over et kodeord grænse.

Når afkodning, kan et kodeord med alle nul eller alle én antages at være en sletning, og korrigeret mere effektivt end en generel fejl.

Denne proces gør det budskab længere, og det endelige antal data kodeordene optaget i tilstanden beskeden er ikke kendt, før den er færdig. I sjældne tilfælde kan det være nødvendigt at springe til den næste største symbol og begynde processen forfra for at bevare den mindste brøkdel af kontrol ord.

Polstring

Efter bitpåfyldning, er datastrengen polstret til næste kodeord grænsen ved at tilføje 1 bit. Hvis dette ville resultere i et kodeord med alle dem, der er den sidste bit ændres til nul. På dekodning, kan polstringen bits afkodes som skift og låsen koder, men det vil ikke påvirke indholdet af beskeden. Læseren skal acceptere og ignorere en delvis kode i slutningen af ​​meddelelsen, så længe det er alle-dem.

Desuden, hvis det samlede antal databit tilgængelige i symbolet ikke er et multiplum af kodeordet størrelse, er datastrengen præfiks et passende antal bit 0 til at besætte den ekstra plads. Disse bits er ikke inkluderet i check word beregning.

Check kodeord

Både tilstanden ord, og de data, skal have kontrol ord vedlagt udfylde den ledige plads. Dette beregnes ved at tilføje K Kontroller ord sådan, at hele meddelelsen er et multiplum af Reed-Solomon polynomium ....

Bemærk, at kontrol ord er ikke omfattet af bit stuffing, og kan være alt-nul eller alle-one. Således er det ikke muligt at detektere sletning af en check word.

Udlægning budskabet

En fuld Aztec kodesymbol har desuden til kernen, et "referencesystem" af skiftevis sorte og hvide pixels besætter hver 16. række og kolonne. Disse kendte pixels tillade en læser til at opretholde tilpasningen til pixelgitteret over store symboler. For op til 4 lag, dette kun består af enkelte linjer strækker sig udad fra kernen, fortsættende den alternerende mønster. Inde i 5. lag imidlertid yderligere rækker og søjler af vekslende pixels indsættes ± 16 pixels fra centrum, så det 5. lag ligger ± 17 og ± 18 pixels fra centrum, og en 5-lags symbol er 37 × 37 pixels .

Ligeledes er yderligere henvisning gitter rækker og kolonner indsættes ± 32 pixels fra centrum, hvilket gør en 12-lags symbol 67 × 67 pixels. I dette tilfælde den 12. lag optager ringe ± 31 og ± 33 pixels fra centrum. Mønsteret fortsætter på ubestemt tid udad, med 15-pixel blokke af data adskilt af rækker og kolonner af referenceplanerne.

En måde at konstruere symbolet er at slette henvisningen gitteret helt, og begynde med en 14 × 14 pixel kerne centreret om en 2 × 2 pixel hvid firkant. Så bryde det op i 15 × 15 pixel blokke og indsæt referenceplanerne mellem dem.

Tilstanden besked begynder i øverste venstre hjørne af kernen, og ombrydes omkring den med uret i en 1-bit tykt lag. Det begynder med den mest betydende bit i antallet af lag, og slutter med checken ord. For en kompakt Aztec kode, det brudt ind fire 7-bit-stykker til at give plads til de orientering mærker. For en fuld Aztec kode, det er opdelt i fire 10-bit stykker, og disse stykker er hver delt i halve ved referenceplanerne.

I nogle tilfælde er den samlede kapacitet af matrixen ikke opdele jævnt med fuld kodeord. I sådanne tilfælde hovedbudskabet er polstret med 0 bits i begyndelsen. Disse bits er ikke inkluderet i beregningen check ord og skal springes over under dekodning. Den samlede matrix kapacitet for en fuld symbol kan beregnes som * L for en fuld Aztec kode og * L for en kompakt Aztec kode, hvor L er symbolet størrelse i lag. Som et eksempel, den samlede matrix kapacitet en kompakt Aztec kode med 1 lag er 104 bit. Da kodeord er seks bit, giver det 17 kodeord og to ekstra bits. To nul bits tilføjes i begyndelsen af ​​meddelelsen som polstring og skal springes over under afkodning.

Den polstrede hovedbudskab begynder ved den ydre øverste venstre af hele symbol, og spiraler omkring den mod uret i en 2-bit tykt lag, slutter lige over det øverste venstre hjørne af kernen. Dette placerer bit-proppet dataord, hvor der kan påvises raderinger, i de yderste lag af det symbol, der er mest tilbøjelige til sletninger. Checken ord lagres tættere på kernen. Den sidste kontrol ord ender lige over det øverste venstre hjørne af plet.

Med kernen i dens standard orientering, er den første bid af den første dataord placeret i øverste venstre hjørne, med ekstra bits placeret i en 2-bit-dækkende kolonne venstre-til-højre og top til bund. Dette fortsætter indtil 2 rækker fra bunden af ​​symbolet, når mønsteret roterer 90 grader, og fortsætter i en 2-bit hi række, bund-til-top og venstre-til-højre. Efter 4 lige store kvartal lag, fortsætter spiralen med det øverste venstre hjørne af den næste indre lag, endelig slutter én pixel over det øverste venstre hjørne af kernen.

Endelig er 1 bit udskrives som sorte firkanter, og 0 bits er trykt som hvide firkanter.

Anvendelse

Transport

En aztekisk kode stregkode bruges af Eurostar, Deutsche Bahn, DSB, tjekkiske jernbaner, slovakiske Jernbaner, Trenitalia, Nederlandse Spoorwegen, PKP Intercity, VR Gruppen, Virgin Trains, Via Rail, schweiziske statsbaner, SNCB, SNCF, og dets datterselskab iDTGV for billetter sælges online og udskrives af kunderne. En aztekisk kode stregkode bruges af Heathrow Express og østkysten i billetter leveret til mobiltelefoner og vises på deres skærme, om selvbestemmelse print billetter, og på billetter bestilles online. VR Koncernen anvender Aztec stregkode i enhver billettype eksklusive dem, der sælges om bord. Stregkoden scannes med en håndholdt scanner med på toget personale til at validere billetten.

Den Aztec kodeks er blevet udvalgt af flybranchen for de elektroniske boardingpas. Adskillige flyselskaber sende Aztec koder til passagerernes mobiltelefoner til billettering formål, der vedrører online billetsystem. Air New Zealand vil bruge koden på hjemmemarkedet for billettering, men denne implementering er stadig i gang.

Statslige

Bil registreringsdokumenter i Polen bære en krypteret resumé kodet som Aztec kode. Værker i gang for at gøre det muligt for bilforsikring selskaber til automatisk at udfylde de relevante oplysninger baseret på digitale fotografier af dokumentet som det første skridt i at lukke en ny forsikringsaftale.

Kommerciel

Mange regninger i Canada er nu ved hjælp af denne teknologi så godt, herunder Eastlink, Shaw Kabel, Bell Aliant og mange flere.

  0   0
Forrige artikel Chuanr
Næste artikel Kejserinde Xiaogongren

Kommentarer - 0

Ingen kommentar

Tilføj en kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Tegn tilbage: 3000
captcha