Hogyan működnek a QR-kódok

Más néven: QR-kód kódolás, QR-kód dekódolás, how QR codes work

Meghatározás

A QR-kód úgy működik, hogy az adatokat kódszavakká alakítja, Reed–Solomon hibajavítást ad hozzá, a biteket pedig olyan rácsba helyezi, amelyben rögzített minták segítik a kamerát a kód megtalálásában, kiegyenesítésében és olvasásában.

Az adattól a mintáig

A QR-kód készítése azzal kezdődik, hogy az adathoz illő kódolási módot választunk: numerikus, alfanumerikus, bájt vagy kandzsi. A kódoló bitekké alakítja az adatot, 8 bites kódszavakra osztja, és a választott szinten Reed–Solomon hibajavító kódszavakat ad hozzá. Ezután kiválasztja a legkisebb verziót, amelybe belefér.

A kódszavakat cikcakkos úton helyezi a rácsba, kihagyva a rögzített mintákat. Végül a kódoló a nyolc maszkminta egyikét alkalmazza, hogy megtörje a nagy üres területeket vagy a félrevezető alakzatokat, és a maszkot meg a hibajavítási szintet a formátuminformációban rögzíti.

  • A kódolási mód kiválasztása
  • Az adat kódolása és a hibajavító kódszavak hozzáadása
  • A verzió (méret) kiválasztása
  • A kereső-, időzítő- és igazítóminták elhelyezése
  • Az adatmodulok kitöltése
  • A nyolc maszk közül a legjobb alkalmazása és a formátuminformáció beírása

A kameraképtől az adatig

A dekódolás ugyanezeket a lépéseket végzi fordított sorrendben. A beolvasó megkeresi a három keresőmintát, amelyeknek a sötét és világos 1:1:3:1:1 arányuk kitűnik a legtöbb képből, és az időzítő- és igazítómintákkal együtt ezek alapján térképezi fel a rácsot. Beolvassa a formátuminformációt, eltávolítja a maszkot, és összegyűjti a kódszavakat.

A Reed–Solomon dekódolás ezután kijavítja a félreolvasott kódszavakat, a hibajavítási szint határáig. Ha túl sok a sérülés, a kód nem olvasható be, ahelyett hogy hibás adatot adna vissza, ezért a QR-kódok ritkán adnak értelmetlen eredményt.

Miért számít a méret és a kontraszt

Minden lépés azon múlik, hogy a kamera meg tudja-e különböztetni a sötét modulokat a világosaktól. A kis modulok, az alacsony kontraszt, a tükröződés, az elmosódás vagy a hiányzó csendes zóna mind több modult tesz kétségessé, a hibajavítás pedig csak egy bizonyos mértékig képes ezt felfogni. Ha az adat rövid, a kontraszt erős, a margó pedig szabad, a dekódolónak a legkönnyebb a dolga.

Gyakran ismételt kérdések

Honnan tudja a telefon, hol van a QR-kód?

A sarkokban lévő három nagy négyzet alakú keresőmintát keresi. Jellegzetes 1:1:3:1:1 arányuk lehetővé teszi, hogy a beolvasó bármilyen szögből megtalálja őket, és kiszámolja az elforgatást.

Miért van a QR-kódokon maszkminta?

A maszk meghatározott minta szerint megfordít bizonyos modulokat, így a kódban nem lesznek nagy egyszínű területek és a keresőmintákra hasonlító alakzatok. A kódoló mind a nyolc maszkot kipróbálja, és azt tartja meg, amelyik a legmegbízhatóbban olvasható.

Beolvasható a QR-kód fejjel lefelé?

Igen. A keresőminták megmondják a beolvasónak az irányt, ezért a QR-kód bármilyen elforgatásban olvasható.

Források és szabványok

Minden fogalom