PDF417 - PDF417

PDF417 je skládaný lineární formát čárového kódu používaný v různých aplikacích, jako je doprava, identifikační karty a správa zásob. „PDF“ znamená Portable Data File. "417" znamená, že každý vzor v kódu se skládá ze 4 pruhů a mezer ve vzoru, který je dlouhý 17 jednotek (modulů). Symbologii PDF417 vynalezl Ynjiun P. Wang ve společnosti Symbol Technologies v roce 1991. ( Wang 1993 ) Je definována v normě ISO 15438.

Aplikace

PDF417 používá v mnoha aplikacích komerční i vládní organizace. PDF417 je jedním z formátů (spolu s Data Matrix ), které lze použít k tisku poštovného přijímaného americkou poštovní službou . PDF417 je také používán standardem Bar Coded Boarding Pass ( BCBP ) leteckého průmyslu jako symbolika 2D čárového kódu pro papírové palubní lístky. PDF417 je standard vybraný ministerstvem vnitřní bezpečnosti jako technologie strojově čitelných zón pro řidičské průkazy kompatibilní se systémem RealID a identifikační karty vydávané státem. Čárové kódy PDF417 jsou také zahrnuty ve vízech a kartách hraničních přechodů vydaných Státem Izrael ( příklad ).

Funkce

Kromě funkcí typických pro dvourozměrné čárové kódy, možnosti PDF417 zahrnují:

  • Propojení. Symboly PDF417 lze propojit s dalšími symboly, které jsou naskenovány v pořadí, což umožňuje uložit ještě více dat.
  • Uživatelem specifikované rozměry. Uživatel se může rozhodnout, jak široký je nejužší svislý pruh (rozměr X) a jak vysoké jsou řádky (rozměr Y).
  • Public domain formát. Kdokoli může implementovat systémy používající tento formát bez jakékoli licence .

Úvod dokumentu ISO/IEC uvádí:

Výrobci zařízení s čárovým kódem a uživatelé technologie čárových kódů vyžadují veřejně dostupné standardní symbolické specifikace, na které se mohou při vývoji zařízení a aplikačních standardů odvolávat. Záměrem a porozuměním ISO/IEC je, že symbolika uvedená v této mezinárodní normě je zcela veřejně dostupná a bez jakýchkoli uživatelských omezení, licencí a poplatků.

Formát

PDF417 Example.svg

Čárový kód PDF417 (také nazývaný symbol ) se skládá ze 3 až 90 řádků, z nichž každý je jako malý lineární čárový kód. Každý řádek má:

  • klidová zóna . Toto je nařízené minimální množství mezer před začátkem čárového kódu.
  • počáteční vzor, ​​který identifikuje formát jako PDF417.
  • kódové slovo „řádek vlevo“ obsahující informace o řádku (například číslo řádku a úroveň opravy chyb)
  • 1–30 datových kódových slov : Kódová slova jsou skupinou pruhů a mezer představujících jedno nebo více čísel, písmen nebo jiných symbolů.
  • kódové slovo „řádek vpravo“ s dalšími informacemi o řádku.
  • stop vzor.
  • další klidová zóna.

Všechny řádky mají stejnou šířku; každý řádek má stejný počet kódových slov.

Kódová slova

PDF417 používá základní kódování 929. Každé kódové slovo představuje číslo od 0 do 928.

Kódová slova jsou reprezentována vzory tmavých (pruhů) a světlých (mezer) oblastí. Každý z těchto vzorů obsahuje čtyři pruhy a čtyři mezery (odkud 4 v názvu pochází). Celková šířka je 17násobkem šířky nejužší povolené svislé lišty (rozměr X); odtud pochází 17 v názvu. Každý vzor začíná pruhem a končí mezerou.

Výška řádku musí být alespoň trojnásobkem minimální šířky: Y ≥ 3 X.

Pro reprezentaci každého kódového slova jsou použity tři odlišné vzory čárového prostoru. Tyto vzorce jsou uspořádány do tří skupin známých jako klastry . Klastry jsou označeny 0, 3 a 6. Ve více než jednom klastru není použit vzor čárového prostoru. Řádky cyklu symbolů procházejí třemi klastry, takže řádek 1 používá vzory z klastru 0, řádek 2 používá klastr 3, řádek 3 používá klastr 6 a řádek 4 opět používá klastr 0.

Který klastr lze určit podle rovnice:

Kde K je číslo klastru a b i označuje šířku i -tého černého pruhu ve znaku symbolu (v jednotkách X ).

Alternativně,

Kde E i je i -ta vzdálenost od hrany k další stejné hraně. Liché indexy jsou náběžná hrana pruhu k náběžné hraně dalšího pruhu; i indexy jsou pro zadní hrany.

Jedním účelem tří shluků je určit, ve kterém řádku (mod 3) je kódové slovo. Klastry umožňují čtení částí symbolu pomocí jediného skenovacího řádku, který může být vychýlen z horizontály. Například skenování může začít na řádku 6 na začátku řádku, ale končí na řádku 10. Na začátku skenování skener vidí konstantní počáteční vzor a poté vidí symboly v klastru 6. Když zkosené skenování obkročí řady 6 a 7, pak skener vidí hluk. Když je skenování na řádku 7, skener vidí symboly v clusteru 0. V důsledku toho skener zná směr zkosení. V okamžiku, kdy skener dosáhne doprava, je na řádku 10, takže vidí vzory clusteru 0. Skener také uvidí konstantní vzor zastavení.

Kódování

Z 929 dostupných kódových slov je 900 použito pro data a 29 pro speciální funkce, jako je přepínání mezi hlavními režimy. Tyto tři hlavní režimy kódují různé typy dat různými způsoby a lze je podle potřeby kombinovat v rámci jednoho čárového kódu:

  • Bajt : každá skupina 5 kódových slov představuje 6 bajtů. (Protože 900 5 > 256 6. ) Další bajty jsou kódovány po jednom na kódové slovo.
  • Číselné : n číslic je zakódováno v n /3 +1 kódových slovech, maximálně 44 číslic v 15 kódových slovech.
  • Text : Každé kódové slovo představuje dvě základny-30 číslic, které systém čtyř submodů používá k reprezentaci tisknutelných znaků ASCII (plus CR , LF a HT ):
    • Velká písmena : A – Z, SP , změna na malá písmena, změna na smíšená, další číslici interpretujte jako interpunkci
    • Malá písmena: a – z, SP, interpretovat další číslici jako velká, změnit na smíšenou, interpretovat další číslici jako interpunkci
    • Smíšené: 0–9, &, CR, HT, čárka,:, #, -, tečka, $, /, +, %, *, =, ^, Změnit na interpunkci, SP, Změnit na malá písmena, Změnit na velká písmena, Další číslici interpretujte jako interpunkci
    • Interpunkce:;, <,>, @, [, \,], _, `, ~,!, CR, HT, čárka,:, LF, -, tečka, $, /,", |, *, (, ),?, {,}, ', Změnit na velká písmena

Oprava chyb

Při vytváření symbolu PDF417 se přidá 2 až 512 kódů detekce chyb a opravy. PDF417 používá opravu chyb Reed – Solomon . Při skenování symbolu je maximální počet oprav, které lze provést, roven počtu přidaných kódových slov, ale norma doporučuje, aby byla dvě kódová slova pozdržena, aby byla zajištěna spolehlivost opravených informací.

Srovnání s jinými symboly

PDF417 je skládaný čárový kód, který lze přečíst jednoduchým lineárním skenováním přejetím po symbolu. Tyto lineární skenování potřebují levý a pravý sloupec s počátečním a koncovým kódovým slovem. Kromě toho musí skenování vědět, jaký řádek skenuje, takže každý řádek symbolu musí také kódovat číslo řádku. Kromě toho skenování řádků čtečky nebude skenovat pouze řádek; obvykle začne skenovat jeden řádek, ale pak přejde k sousedovi a případně pokračuje v křížení po sobě následujících řádků. Aby se minimalizoval účinek těchto přechodů, jsou moduly PDF417 vysoké a úzké - výška je obvykle trojnásobkem šířky. Každé kódové slovo musí také označovat, do kterého řádku patří, aby bylo možné detekovat přechody, pokud k nim dojde. Kódová slova jsou také navržena tak, aby byla dekódovatelná delta, takže některá kódová slova jsou nadbytečná. Každé datové kódové slovo PDF představuje asi 10 bitů informací (protokol 2 (900) ≈ 9,8), ale tištěné kódové slovo (znak) má šířku 17 modulů. Včetně výšky 3 modulů vyžaduje kódové slovo PDF417 51 čtvercových modulů, které představují 10 bitů. Tato oblast nepočítá další režijní náklady, jako jsou informace o začátku, zastavení, řádku, formátu a ECC.

Jiné 2D kódy, jako jsou DataMatrix a QR , jsou dekódovány obrazovými senzory místo nekoordinovaných lineárních skenů. Tyto kódy stále potřebují vzory rozpoznávání a zarovnání, ale nemusí být tak výrazné. 8bitové kódové slovo zabere 8 čtvercových modulů (ignoruje rozpoznávání, zarovnání, formát a informace o ECC).

V praxi zabere symbol PDF417 přibližně čtyřikrát větší plochu než kód DataMatrix nebo QR.

Reference

externí odkazy