Aztécký kód

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Ukázka aztéckého kódu Českých drah s aztéckým kódem Aztécký kód (anglicky ) je druh dvojrozměrného kódu, který si v roce 1995 patentovali Andrew Longacre a Robert Hussey, v roce 1997 ho zveřejnila Asociace pro automatickou identifikaci a mobilitu (AIM) a později se stal standardem Mezinárodní organizace pro normalizaci a Mezinárodní elektrotechnická komise ISO/IEC 24778:2008. Název je odvozen od Aztéků pro vnější podobnost kódu s půdorysem stupňovitých mezoamerických pyramid.

Aztécký kód je široce používán na jízdenkách v železniční dopravě, například ho začaly v roce 2012 současně s přechodem na termotisk používat České dráhy, od roku 2013 ho používá Železničná spoločnosť Slovensko.

...
...
...

Princip

Kód má čtvercový tvar, jehož jádro má podobu čtvercového terče. Jedná se o středový bod obklopený dvěma nebo třemi soustřednými čtverci, rozměry vnitřku tohoto „terče“ jsou 9×9 (kompaktní verze) nebo 13×13 pixelů (plná verze) a ze všech stran je ještě jedna řada pixelů pro parametry kódování, celé jádro má tedy rozměry 11×11 nebo 15×15 pixelů. +more V rozích této řady jsou především orientační značky, které umožňují rozpoznat otočení nebo zrcadlení. Dekódování začíná v plném rohu s třemi pixely a pokračuje po směru hodinových ručiček k rohu s dvěma pixely, pak k rohu s jedním pixelem, pak k rohu bez pixelu, a pak zpět k rohu se třemi pixely.

Soubor:Aztec Code with desc. png|Podoba jádra v kompaktní verzi: Červeně šrafované je jádro, zeleně políčka určená k uložení informace o kódování (28 políček - bitů) a modře rohy sloužící k správnému zorientování symbolu Soubor:Aztec_code_full_core. +morepng|Plná verze nabízí ke stejnému účelu 40 bitů.

Dále čtení pokračuje v hranaté spirále, přičemž datové čtverce jsou přidávány ve vrstvách po dvou, takže rozměry celého kódu jsou 15×15, 19×19, 23×23, a tak dále. Kompaktní verze kódu podporuje 1 až 4 datové vrstvy (rozměry 15×15 až 27×27), plná verze až 32 vrstev (rozměr 151×151 pixelů). +more To představuje 1914 bajtů binárních dat, nebo 3832 číslic, nebo 3067 písmen. Libovolně velká část datové oblasti může být použita pro samoopravné kódování pomocí Reedových-Solomonových kódů.

Postup kódování

Kódování do aztéckého kódu se skládá z následujících kroků: # Převedení zdrojové zprávy na řetězec bitů # Spočítání potřebné velikosti symbolu a parametrů, včetně určení velikosti kódového slova pro Reedův-Solomonův kód # vložení bitů do kódových slov Reedova-Solomonova kódu # Vycpání bity na hranici kódového slova # Připojení kontrolních kódových slov # Namotání zprávy do spirály kolem jádra

Převod do bitových řetězů je přitom prováděn od nejvýznačnějších bitů.

Znakové sady

Při zápisu dat existuje pět režimů: # Upper pro zápis velkých písmen # Lower pro zápis malých písmen # Mixed pro kontrolní znaky # Punct pro interpunkci atp. # Digit pro zápis číslic Při zápisu číslic mají znaky délku čtyři bity, v ostatních režimech pět bitů, jak ukazuje následující tabulka:

UpperLowerMixedPunctDigitUpperLowerMixedPunct
0P/SP/SP/SFLG(n)P/S16Oo
1SPSPSPCRSP17Pp
2Aa^ACR LF018Qq
3Bb^B. +more SP119Rr
4Cc^C, SP220Ss
5Dd^D: SP321Tt
6Ee^E422Uu
7Ff^F"523Vv
8Gg^G#624Ww
9Hh^H$725Xx
10Ii^I%826Yy
11Jj^J&927Zz
12Kk^K',28L/LU/S
13Ll^L(. 29M/LM/L
14Mm^M)U/L30D/LD/L
15Nn^[U/S31B/SB/S
Hodnoty x/S znamenají změnu režimu na x pro následující znak, x/L přepínají na režim x na neurčito. Výchozím režimem je Upper.

Hodnota B/S předznamenává zápis binárních bajtů, jehož podoba je určena následujícími pěti bity. Pokud jsou nenulové, pak udávají počet binárních bajtů, které budou následovat (1-32). +more Pokud jsou nulové, tak je počet binárních bajtů bez 31 určen z dalších 11 bitů. (Ve skutečnosti je pro 32-62 bajtů tedy prostorově úspornější přejít do režimu dvakrát).

Hodnota FLG(n) je následována tříbitovou hodnotou. Je-li nulová, pak je interpretováno jako FNC1 ze standardu GS1-128. +more Po hodnotách 1-6 následuje 1-6 číslic znamenajících patřičné kódy ECI.

Informace o kódování

Informace o kódování, zahrnuté na nejvnitřnějším okruhu spirály, zahrnují počet vrstev (uložený zmenšený o 1) a počet kódových slov samotné zprávy - zbylá kódová slova jsou určena pro samoopravný kód.

V případě kompaktní verze aztéckého kódu je počet vrstev jen dvoubitovou hodnotou a počet kódových slov šestibitovou, což dohromady dává osm bitů. V případě plného aztéckého kódu je počet vrstev uložen v pěti bitech a počet kódových slov v jedenácti bitech, což dává dohromady šestnáct bitů.

Tyto bity jsou rozděleny do dvou, respektive čtyř kódových půlslabik představujících prvky šestnáctiprvkového konečného tělesa, a je k nim přidáno pět, respektive šest kontrolních půlslabik Reedova-Solomonova kódu. Čímž vznikne 28, respektive 40 bitů do vnitřní kontrolní vrstvy kompaktního, respektive plného aztéckého kódu.

Počet vrstev zároveň určuje použitý Reedův-Solomonův kód, tedy jeho polynom a délku kontrolních slov, podle následující tabulky:

4GF(16)x4+x+1kontrolní informace ve vnitřní vrstvě
6GF(64)x6+x+11-2 vrstvy
8GF(256)x8+x5+x3+x2+13-8 vrstev
10GF(1024)x10+x3+19-22 vrstev
12GF(4096)x12+x6+x5+x3+123-32 vrstev

Odkazy

Reference

Externí odkazy

[url=http://www. iso. +moreorg/iso/iso_catalogue/catalogue_tc/catalogue_detail. htm. csnumber=41548]Specifikace ISO/IEC 24778:2008[/url] (zpoplatněná) * [url=https://medium. com/watermarked-publication/two-dimensional-barcodes-robustness-analysis-through-the-example-of-qr-code-and-aztec-code-a68de47158ec]Medium. com, Two-dimensional barcodes robustness analysis through the example of QR code and Aztec code[/url] (srovnání QR a Aztéckého kódu).

Kategorie:Kódování

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top