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ů. 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.
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
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ů). 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
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:
Znaky aztéckého kódu
kód
režim
kód
režim
Upper
Lower
Mixed
Punct
Digit
Upper
Lower
Mixed
Punct
0
P/S
P/S
P/S
FLG(n)
P/S
16
O
o
^\
+
1
SP
SP
SP
CR
SP
17
P
p
^]
,
2
A
a
^A
CR LF
0
18
Q
q
^^
-
3
B
b
^B
. SP
1
19
R
r
^_
.
4
C
c
^C
, SP
2
20
S
s
@
/
5
D
d
^D
: SP
3
21
T
t
\
:
6
E
e
^E
!
4
22
U
u
^
;
7
F
f
^F
"
5
23
V
v
_
<
8
G
g
^G
#
6
24
W
w
`
=
9
H
h
^H
$
7
25
X
x
|
>
10
I
i
^I
%
8
26
Y
y
~
?
11
J
j
^J
&
9
27
Z
z
^?
[
12
K
k
^K
'
,
28
L/L
U/S
L/L
]
13
L
l
^L
(
.
29
M/L
M/L
U/L
{
14
M
m
^M
)
U/L
30
D/L
D/L
P/L
}
15
N
n
^[
*
U/S
31
B/S
B/S
B/S
U/L
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). 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. 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:
Polynomy konečného tělesa
Bitů
Těleso
Polynom
Používá se pro
4
GF(16)
x4+x+1
kontrolní informace ve vnitřní vrstvě
6
GF(64)
x6+x+1
1–2 vrstvy
8
GF(256)
x8+x5+x3+x2+1
3–8 vrstev
10
GF(1024)
x10+x3+1
9–22 vrstev
12
GF(4096)
x12+x6+x5+x3+1
23–32 vrstev
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Aztec Code na anglické Wikipedii.
↑Two dimensional data encoding structure and symbology for use with optical readers [online]. [cit. 2013-11-29]. Dostupné online.
↑ISO/IEC 24778:2008: Information technology -- Automatic identification and data capture techniques -- Aztec Code bar code symbology specification [online]. Mezinárodní organizace pro normalizaci [cit. 2013-11-29]. Dostupné online.
↑SVAČINA, Gracián. České dráhy slibují kratší fronty. Nakoupí moderní tiskárny na jízdenky. iHNed.cz [online]. 2012-03-07 [cit. 2013-11-29]. Dostupné online.
↑ Projekt 2D kódů na jízdenkách ČD bodoval v soutěži „IT projekt roku 2012“. Parlamentní listy [online]. 2013-02-27 [cit. 2013-11-29]. Dostupné online.
↑MOJŽIŠ, Marcel. Novinka na železnici: Pozrite sa, s akým lístkom budeme cestovať. dnes24.sk [online]. 2013-02-27 [cit. 2013-11-29]. Dostupné online.