Čárový kód

Příklad ručního skeneru čárového kódu
Při lineárním snímání čárového kódu není nutné, aby byla linie snímání zcela kolmá k čárám kódu – poměr mezi tloušťkami čar a mezer zůstává stejný.

Čárový kód je prostředek pro automatizovaný sběr dat. Je tvořen černotiskem vytištěnými pruhy (v některých novějších verzích kódu mozaikou) definované šířky, umožňující přečtení pomocí technických prostředků – čteček (pro jednorozměrné kódy) či skenerů (pro jedno- i dvourozměrné kódy). Myšlenka je z roku 1949. Patent na čárový kód byl poprvé udělen v roce 1952 Normanu Josephu Woodlandovi a Bernardu Silverovi. Podle způsobu, jakým se konkrétní znak kóduje do skupiny pruhů, se kódy dělí do skupin. Nejpoužívanější skupiny kódů jsou:

V současné době je definováno přibližně 200 různých standardů čárových kódů. Čárový kód EAN je přidělován organizací GS1, která současně hlídá standardy tohoto kódu. Centrála GS1 v Bruselu přiděluje první tři číslice, tzv. prefix (např. 978 pro knihy nebo 859 pro Českou republiku), národní organizace, např. GS1 Czech Republic, přiděluje kódy (různý počet číslic) výrobcům, kteří jsou u ní registrováni, zbývající číslice přiděluje výrobce.

Konstrukce čárového kódu

Každý čárový kód je tvořen sekvencí čar a mezer s definovanou šířkou. Ty jsou při čtení transformovány podle své sytosti na posloupnost elektrických impulsů různé šířky a porovnávány s tabulkou přípustných kombinací. Pokud je posloupnost v tabulce nalezena, je prohlášena za odpovídající znakový řetězec. Nositelem informace je nejenom tištěná čára, ale i mezera mezi jednotlivými dílčími čarami. Krajní skupiny čar mají specifický význam – slouží jako synchronizační pro čtecí zařízení, které podle nich generuje signál Start/Stop. Technická specifikace pak vyžaduje ochranné světlé pásmo bez potisku před a za synchronizačními čarami.

Základní prvky čárového kódu

  • X – šířka modulu – jde o nejužší element kódu, tedy nejmenší přípustnou šířku čáry či mezery
  • R – světlé pásmo – doporučeno minimálně desetinásobek šířky modulu, nejméně však 2,5 mm
  • H – výška kódu – udává svislý rozměr pásu kódu, doporučeno je minimálně 10 % délky pásu pro ruční čtení, pro čtení skenerem se doporučuje 20 % délky pásu, minimálně však 20 mm, pro kód EAN je doporučeno 75 % délky pásu.
  • L – délka kódu – obsazená délka pásu od první značky Start po poslední značku Stop, ale bez světlého pásma
  • C – kontrast – je poměr rozdílu jasu odrazu pozadí a odrazu čáry k jasu odrazu pozadí a pro uspokojivě čitelný kód by měl přesahovat 0,7.

Historie

Vynálezcem čárového kódu je Američan Norman Joseph Woodland (1921–2012), který ve 40. letech 20. století se spolužákem z univerzity Drexel ve Filadelfii Bernardem Silverem přemýšlel, jak automaticky zaznamenávat informace o produktu u pokladen. Systém využívající tlusté a tenké čáry jej údajně napadl na pláži, vycházel z principu Morseovy abecedy. Se svým společníkem požádali v roce 1949 o patent, ten jim byl udělen v roce 1952 (na kruhovou verzi). Woodland a Silver chtěli, aby technologii vyvinula IBM, u které Woodland pracoval, nebylo to však komerčně proveditelné.

Firma RCA, která patent později v získala, se až do roku 1969, kdy patent propadl, neúspěšně pokoušela vyvinout komerční aplikaci. V roce 1969 RCA zaujala americkou Národní asociaci potravinářských řetězců, která založila komisi ze zástupců supermarketů, jejímž cílem bylo vytvoření jednotného kódu potravinářských produktů.

V roce 1971 se o problematiku začala zajímat IBM a převedla Woodlanda na vývoj technologie. Výsledkem byl UPC - Universal Product Code a jeho čárová prezentace, který se následně proti konkurenční RCA prosadil.

Poprvé byl čárový kód v běžné praxi načten až roku 1974 na obalech žvýkaček Wrigley's. Dějištěm se stal supermarket ve městě Troy.[1]

Popis některých čárových kódů

Kódy typu 2 z 5 (2/5)

Ukázka kódu 2/5

Skupina kódů 2/5 patří historicky k nejstarším – kód Industrial 2/5 byl vyvinut firmou Identicon Corp. již v roce 1968. Kód je tvořen znakem Start, znaky 0 až 9 a znakem Stop, je tedy schopen kódovat pouze numerické informace. Kód je proměnné délky a každý jeho dílčí znak je tvořen pěticí čar, z nichž tři jsou úzké a dva široké. Mezery v tomto kódu nenesou žádnou informaci. Poměr šířky širokého a úzkého elementu je roven 3:1, šířku mezery je doporučeno použít rovnou šířce modulu X. Kód má velmi široké toleranční pásmo, je tedy vhodný i pro nekvalitní tisk, podklad, špatně přijímající barvu a ztížené podmínky čtení. Nevýhodou je značná délka. Ukázka kódování je v tabulce – 0 odpovídá úzkému, 1 širokému elementu.

Kódovací tabulka
ZnakC1C2C3C4C5
000110
110001
201001
311000
400101
510100
601100
700011
810010
901010
Start110
Stop101

Kód zvaný Interleaved 2 of 5 (prokládaný 2/5) zakódovává data i do mezer a tím využívá větší prostor čárového kódu pro přenos dat.

Kódy typu EAN

Související informace naleznete také v článku European Article Number.
Ukázka kódu EAN-13

Zkratka EAN znamená European Article Number. Nejčastější EAN kód a pravděpodobně nejčastější čárový kód vůbec je EAN-13, který byl definován standardizační organizací GS1.

Kódy EAN-13 jsou používány po celém světě k označování jednotlivých druhů zboží. Upravená podoba tohoto kódu například umí uchovávat ISBN kódy knížek nebo ISSN kódy časopisů a jiných periodik. Z kódu EAN-13 lze zjistit zemi původu výrobce nebo způsob užití daného zboží. Méně jsou používány kódy EAN-8, které jsou vyhrazeny a používány pro menší položky, na které je problém umístit 13místný kód, jako jsou třeba cukrovinky.

V EAN-13 jednotlivé symboly kódují 13 číslic, které jsou rozděleny do čtyř částí:

  • Systémová číslice, první dvě nebo tři číslice, obvykle identifikují zemi, kde je zaregistrovaný výrobce (nemusí označovat zemi původu výrobku). V případě, že EAN-13 vznikl konverzí z ISBN nebo ISSN kódu, systémový kód je 978 nebo 979 v případě ISBN nebo 977 v případě ISSN.
  • Kód výrobce, skládající se ze čtyř nebo pěti číslic v závislosti na systémovém kódu.
  • Kód výrobku, skládající se z pěti číslic
  • Kontrolní číslice. Je dopočítána pomocí funkce modulo 10 (jedná se tedy o tzv. samodetekující kód).
    • Postup výpočtu (kód 8593026341407):
      • Sečtu číslice (od konce) na sudých pozicích (4+4+6+0+9+8)=31
      • Přičtu součet číslic na lichých pozicích (od konce) vynásobený třemi ((0+1+3+2+3+5)*3=42)
      • Tento součet zaokrouhlím na desítky nahoru (31+42=73) ⇒ 80
      • Kontrolní číslici získám odečtením 80-73 = 7

Stejným způsobem se kontrolní číslice vypočítavá i pro EAN/UCC8, EAN/UCC14 nebo pro číslo SSCC (v němčině NVE).

Kódy zemí

Související informace naleznete také v článku Seznam kódů zemí GS1.

První tři číslice označují zemi, ve které je zaregistrován výrobce produktu. Kód EAN-13 začínající číslicí 0 je ekvivalentní kódu UPC-A (stejný sled pruhů a mezer). Většina skenerů a pokladen dokáže číst a používat oba druhy kódu, ale hodně výrobců v USA stále používá jen UPC kód.

Kódování

K zakódování se číslice nejprve rozdělí na tři skupiny:

  • První číslice
  • První (levá) skupina po 6 číslicích
  • Druhá (pravá) skupina po 6 číslicích

Pro zakódování posledních 12 číslic existují tři schémata – levý s lichou paritou, levý se sudou paritou a pravý. Každé schéma pro každou číslici definuje permutaci dvou čar a dvou mezer, tlustých až čtyři X (viz výše) z celkových sedmi. První číslice nemá ekvivalent v sekvenci čar čárového kódu, ale určuje, která z číslic v levé části bude zakódována schématem s kterou paritou. Pro číslice v pravé skupině je použito pravé schéma vždy. Schéma pro levou skupinu s lichou paritou se shoduje se starším kódováním UPC-A a je dáno, že pro nulu coby první číslici kódu budou všechny číslice levé skupiny zakódovány podle tohoto schématu (což simuluje zpětnou kompatibilitu s čárovým kódem UPC, viz výše).

Codabar

Ukázka kódu Codabar

Codabar je další z jednorozměrných čárových kódů. Umí zakódovat 10 číslic, 4 písmena (A-D) a znaky − + . : / a $ do sekvence tří mezer mezi čtyřmi čarami různých šíří na každý znak, přičemž kód by měl začínat a končit znakem. Obecně může mít různě definované šířky, verze Rationalized Codabar však definuje pouze dvě: úzká a široká. Mezera mezi znaky nenese žádnou informaci a může mít různou šířku. Codabar nemá žádný kontrolní mechanismus (kontrolní součet apod.).

Používá se většinou pro vnitřní potřeby v oblasti služeb (krevní banky, některé knihovny nebo například označování zásilek obsahující vyvolané fotografie).

Byl vyvinut v roce 1972 firmou Pitney Bowes Corp. Některé jeho verze se nazývají Codeabar, Ames Code, NW-7, Monarch, Code 2 of 7, Rationalized Codabar, ANSI/AIM BC3-1995 či USD-4.

Code 39

Code 39 umožňuje kódovat 43 znaků ASCII: velká písmena (A–Z), číslice (0–9), mezeru a speciální znaky (* – $ % . / +). Každý znak je kódován pomocí 9 elementů (5 čar a 4 mezery, z nich jsou vždy 3 široké a 6 úzkých (odtud název 3z9 nebo 3/9 a obvykle jen 39)). Znaky jsou od sebe odděleny úzkou mezerou. Slovo začíná a končí zvláštním znakem * (start/stop). Code 39 nedefinuje kontrolní znak (oproti např. Code 128), takže je možné jej nainstalovat jako font a přímo tisknout na tiskárně po jednotlivých znacích. Vnitřní kontrolu každého znaku totiž umožňuje sama kódovací tabulka: pokud je chybně přečtena šířka právě jednoho elementu (z 9 elementů znaku), znak je nečitelný (není tedy chybně přečten jako jiný platný znak). Nevýhodou Code 39 je jeho relativně nízká hustota (velká délka). Přestože to definice nevyžaduje, někdy se ke kódu 39 používá doplňkový kontrolní znak (mod 43). Podobným rozšířením jsou smluvené páry znaků, kterými lze v Code 39 interpretovat i zbývající znaky úplné ASCII tabulky.

Code 128

Ukázka kódu Code128

Jednorozměrný kód, název napovídá, že je schopný zakódovat 128 znaků (spodní polovinu ASCII) – jako jeden z mála u znaků umí rozlišovat a zachovat velikost písmen v kódu. Má tři znakové sady (A, B a C), která se jedním ze speciálních znaků na začátku kódu nastaví a mezi nimiž je možno v průběhu kódu přepínat.

První znaková sada obsahuje mimo jiné spodních 32 tzv. řídicích znaků ASCII, druhá ASCII znaky s kódy 32 až 128, třetí umí pojmout dvojciferná čísla od 00 do 99. Poslední znaky (některé z nich stejné pro všechny sady) mají většinou speciální význam.

Každý znak Code 128 se skládá ze tří čar a tří mezer definované šíře, která je 1 až čtyřnásobek atomární šířky (X). Kód každého znaku má délku 11 X, s výjimkou posledního znaku (stop bits), který je dlouhý 13 X. Předposlední znak je kontrolní součet daný součtem násobků jednotlivých kódů (nikoli ASCII ale počítáno od 0) vynásobených jejich pozicí, to celé modulo 103. To snižuje pravděpodobnost výskytu chyby na 1 : 5 000 000.[zdroj⁠?!] Pokud má Code 128 nést ryze číselný kód, většinou nastaví znakovou sadu C a číslo zakóduje po dvojicích číslic, čímž může být úspornější než některé jiné čárové kódy, které umí kódovat pouze číslice.

Code 128 se používá v logistice nebo například k označování patentů. Byl vyvinut v roce 1980 firmou Computer Identics (součást Robotic Vision Systems, Inc.)

PDF417

Ukázka kódu PDF 417

PDF417 neboli Portable Data File 417 je kvazidvourozměrný čárový kód, který sestává ze tří až 90 řádků, v každém z nichž může být zakódován 1 až 30 znaků. Okraje čárového kódu tvoří start sekvence a stop sekvence, ty musí navíc obklopovat tzv. tichá zóna. Každý znak tvoří 4 čáry a 4 mezery, dohromady široké 17 X (odtud název). PDF 417 má kontrolní mechanismy Reedovy–Solomonovy kódy. Byl vyvinut v roce 1991. Používá jej mimo jiné pošta ve Spojených státech.

QR Code

Podrobnější informace naleznete v článku QR kód.

QR Code, neboli QR kód je příklad dvojrozměrného kódu, zapisovaného do čtverce. Ten musí mít ve třech vrcholech poziční značky ve formě soustředných čtverců. Ve spojnicích mezi těmito hraničními čtyřúhelníky úsečky tvořené střídavě bodem a mezerou. QR Code má 40 tzv. verzí, které jsou určeny velikostí samotného kódu v bodech. Aby byly umožněny opravy chyb způsobených deformací snímků, je kód u větších verzí doplněn menšími pozičními čtverci. Ty jsou umístěny ve stejných rozestupech od rohu bez velkých pozičních čtverců (maximální jejich vzdálenost je 28 bodů). U menší verze micro QR některé tyto prvky chybí a je schopna zaznamenat menší objem dat. QR Code velmi výhodně kóduje japonská (a obecně některá asijská) znaková písma, proto je v těchto zemích oblíbený. Má vyspělý mechanizmus kontroly chyb, který dokáže obnovit 7 až 30 % dat. Patent pro QR Code patří společnosti Denso Wave Inc., nicméně patentová práva nejsou vykonávána.[2] Společnost také v mnoha zemích vlastní obchodní známku „QR Code“.[3] Specifikace QR Code je od června 2000 standardem ISO 18004. Standard byl upraven v roce 2006.[4] Kód nejmenší verze 1 má velikost 21×21 bodů. Každá následující verze je o 4 body širší a vyšší. Poslední (verze 40) má tedy velikost 177×177 bodů. QR code verze v, o délce strany n = 17 + 4·v může data zaznamenat do n²−193−2·(n−16) bodů (mezi nimi jsou ale malé poziční čtverce, informace o zvoleném kódování, případně i verze; navíc kód povinně kvůli prevenci chyb obsahuje redundantní informace). Do jednoho QR kódu – obrazce je možné uložit velké množství informací. Binárně je možné uložit do obrázku až 3 000 bajtů, to se rovná 1 500 čtverečkům obsažených v obrazci. Do QR kódu se tak vejde až 7 000 číslic, nebo text o délce 4 300 znaků.

QR kódy zpravidla obsahují internetovou adresu nebo kontaktní informace. Noviny a časopisy tak mohou doplnit článek kódem, po jehož naskenování si čtenář zobrazí doplňující nebo aktuálnější informace, např. více fotografií, video, aktuální informace o počasí.

V současnosti je populární využití QR kódů v marketingu. Inzerát v tisku, letáku či outdooru lze doplnit QR kódem, po jehož naskenování mobilním telefonem uživatel získá více informací o inzerované nabídce. Ve velšském městě Monmouth je více než 1000 těchto kódů použito k prezentaci památek, úřadů a turistických zajímavostí. Město je také popisováno jako město Wikipedie.[5]

QR kódy se využívají i na vizitkách – naskenováním do mobilního telefonu se všechny kontaktní informace uloží do adresáře telefonu.

Data Matrix

Ukázka kódu Data Matrix
Podrobnější informace naleznete v článku Datová matice.

Další dvojrozměrný čárový kód, který umí zakódovat celou ASCII tabulku znaků. Je čtvercový s velikostmi od 8×8 po 144×144 bodů. Pro větší vstupní data se dělí na menší části, z nichž každý obsahuje tzv. „tichou zónu“ (levý a dolní černý okraj), která nenese žádné informace. Data Matrix obsahuje algoritmy korekce chyb (Reedovy–Solomonovy kódy). Užívá se v některých průmyslových úsecích (např. jsou jimi označována sériová čísla některých počítačových komponent). Data Matrix byl vyvinut společností RVSI/Acuity SyMatrix (nyní pod Siemens) v říjnu 2005. Je (stejně jako QR Code) uveřejněn jako public domain.

Aztécký kód

Aztécký kód
Podrobnější informace naleznete v článku Aztécký kód.

Aztécký kód je rovněž dvojrozměrný čárový kód. Kód má čtvercový tvar, jehož jádro má podobu čtvercového terče, kolem kterého jsou data kódována v hranaté spirále. Celkem může mít kód rozměr až 151×151 pixelů a nést tak 1914 bajtů binárních dat. Kódovány mohou být písmena, číslice, interpunkce a řídící znaky. Kód byl vyvinut v roce 1995, široce se používá zejména na jízdenkách v železniční dopravě.

Kruhový kód

Ukázka čárového kódu ShotCode.

Kruhový (circular) kód není další standard, ale způsob zobrazení prakticky libovolného jednorozměrného kódu nikoli jako sled čar ale spojení těchto čar do soustředných kružnic. Výhodou je to, že poloha čtečky kódů vůči kódu může být libovolná; nevýhodou je větší nárok na místo pro záznam kódu.

Reference

  1. BROOK, Benedict. It’s the barcode’s 43rd birthday. news.com.au [online]. Nationwide News Pty Ltd, 26. 6. 2017 [cit. 2023-08-17]. Dostupné online. (anglicky) 
  2. QR Code Standardization [online]. [cit. 2008-05-06]. „…patent right owned by Denso Wave is not exercised.“. Dostupné online. (anglicky) 
  3. QR Code [online]. [cit. 2008-05-06]. „QR Code ® is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other countries.“. Dostupné v archivu pořízeném dne 2011-06-21. (anglicky) 
  4. ISO/IEC 18004:2006 [online]. [cit. 2008-05-06]. Dostupné online. (anglicky) 
  5. http://adam.azet.sk/clanky/12659/prve-mesto-wikipedie-turistika-pomocou-mobilu.html Archivováno 1. 6. 2012 na Wayback Machine. Prvé mesto Wikipédie: Turistika pomocou mobilu

Související články

Externí odkazy

Média použitá na této stránce

Azteccodeexample.svg
An example of the information technology: Aztec code, a two dimensional barcode or matrix code developed in the United States. Aztec Code was invented and patented by Andrew Longacre, Jr. of Welch Allyn Inc. in 1995 and used commercially from 1997, though later released into the public domain. When decoded this image contains "This is an example Aztec symbol for Wikipedia."
Datamatrix.svg
22×22 Data Matrix, encoding the text "Wikipedia, the free encyclopedia"
Better Sample PDF417.png
Autor: No Pablum, Licence: CC0
Sample of a PDF417 symbol encoding "PDF417 is a stacked linear barcode symbol format used in a variety of applications, primarily transport, identification cards, and inventory management." When printed at 200 DPI the symbol will be 1.75 inch x 0.76 inch. The symbol is encoded using Error Correction Level 5, with 6 Columns and 24 Rows (144 Codewords). It contains 80 Data Codewords and 64 Check Codewords.
Code 128B.svg
Wikipedia encoded as a Code JimmyAB barcode, created in Inkscape
Barcode2of5example.png
Autor: Kriplozoik, Licence: CC BY-SA 3.0
example of the "2 of 5" bar code;
Rationalized-codabar.png
Autor: Kriplozoik 11:10, 14 April 2008 (UTC), Licence: GPL
example of Rationalized Codabar bar code. (real code, taken from one of photolab packages)
Barcode reader.png
Snímání čárového kódu lineárním CCD.
Shotcode.png
Autor: Stuart Mudie from Paris, France, Licence: CC BY-SA 2.0
Download the mobile reader at shotcode.com, point your cameraphone here and ... see where it takes you
Barcode-scanner.jpg
Autor: unknown, Licence: CC BY 1.0