Jak fungují QR kódy

Také se nazývá: kódování QR kódu, dekódování QR kódu

Definice

QR kód funguje tak, že převede data na kódová slova, přidá opravu chyb Reed–Solomon a bity umístí do mřížky kolem pevných vzorů, které fotoaparátu pomáhají kód najít, narovnat a přečíst.

Od dat ke vzoru

Vytvoření QR kódu začíná výběrem režimu kódování, který odpovídá datům: číselný, alfanumerický, bajtový nebo kanji. Kodér převede data na bity, rozdělí je na 8bitová kódová slova a přidá kódová slova opravy chyb Reed–Solomon na zvolené úrovni. Poté vybere nejmenší verzi, do které se data vejdou.

Kódová slova se do mřížky ukládají klikatou cestou, která přeskakuje pevné vzory. Nakonec kodér použije jednu z osmi masek, aby rozbil velké prázdné plochy nebo matoucí tvary, a zapíše masku a úroveň opravy chyb do informací o formátu.

  • Zvolit režim kódování
  • Zakódovat data a přidat kódová slova opravy chyb
  • Vybrat verzi (velikost)
  • Umístit vyhledávací, časovací a zarovnávací vzory
  • Vyplnit datové moduly
  • Použít nejlepší z osmi masek a zapsat informace o formátu

Od snímku z fotoaparátu k datům

Dekódování probíhá stejnými kroky opačně. Skener najde tři vyhledávací vzory, jejichž poměr tmavého a světlého 1:1:3:1:1 se na většině obrazů výrazně odlišuje, a s pomocí časovacích a zarovnávacích vzorů podle nich zmapuje mřížku. Přečte informace o formátu, odstraní masku a shromáždí kódová slova.

Dekódování Reed–Solomon pak opraví všechna špatně přečtená kódová slova, a to až do limitu dané úrovně opravy chyb. Je-li poškozeno příliš mnoho, kód se raději nepřečte, než aby vrátil chybná data, a proto QR kódy málokdy dávají zkomolené výsledky.

Proč záleží na velikosti a kontrastu

Každý krok závisí na tom, zda fotoaparát rozliší tmavé moduly od světlých. Malé moduly, nízký kontrast, odlesky, rozmazání nebo chybějící klidová zóna vyvolávají pochybnosti o dalších modulech a oprava chyb dokáže pojmout jen omezené množství. Krátká data, silný kontrast a volný okraj dávají dekodéru tu nejlehčí práci.

Často kladené otázky

Jak telefon pozná, kde QR kód je?

Hledá tři velké čtvercové vyhledávací vzory v rozích. Jejich výrazný poměr 1:1:3:1:1 umožňuje skeneru najít je z libovolného úhlu a určit orientaci.

Proč mají QR kódy maskovací vzor?

Maska otáčí moduly podle pevného vzoru, aby se kód vyhnul velkým jednolitým plochám a tvarům podobným vyhledávacím vzorům. Kodér vyzkouší všech osm masek a ponechá tu, která se čte nejspolehlivěji.

Dá se QR kód přečíst hlavou dolů?

Ano. Vyhledávací vzory skeneru prozradí orientaci, takže QR kód lze přečíst při libovolném otočení.

Zdroje a normy

Všechny pojmy