}
FreeQR
Back to Blog
QR-kod Hibajavitas: Miert Mukodnek Meg a Serult Kodok

QR-kod Hibajavitas: Miert Mukodnek Meg a Serult Kodok

Ismerje meg, hogyan mukodik a QR-kodok hibajavitasa, a negy szintet (L, M, Q, H) es miert olvashatoak meg a serult kodok. Valassza a megfelelo szintet a FreeQR segitsegevel.

Egy ettermi menu QR-kodja kavegyuruvel az egyik sarokban. Egy kerti tabla harom honap kozvetlen napfenytol kifakult. Egy raktari cimke zsirral osszekent. Mind a harom meg mindig beolvashato.

Ez nem szerencse. Minden QR-kod redundans adatokat tartalmaz, amelyek lehetove teszik a beolvasok szamara a serult vagy hianyzo reszek rekonstrualasat. Az ISO/IEC 18004:2024 specifikacio ezt QR-kod hibajavitasnak nevezi, es a formatum resze, amiota 2000-ben eloszor szabvanyositottak. Egy hagyomanyos vonalkod ugyanilyen serulessel olvashatatlan lenne.

Fontos tudnivalok:

  • A QR-kodok Reed-Solomon hibajavitast hasznalnak a fizikai serulesekbol valo helyreallashoz, az ISO/IEC 18004:2024 szabvany szerint.

  • Negy szint: L (7%), M (15%), Q (25%), H (30%). A szazalek a helyreallithato kodszavakra vonatkozik, nem a fizikai teruletre.

  • Magasabb hibajavitas tobb serulest toleranciát jelent, de kisebb adatkapacitast.

  • A QR-kodok soha nem adnak ki hibas adatokat. Biztonsagosan hibasodnak, ha a serules meghaladja a javitasi kapacitast.

  • A dinamikus QR-kodok rovid atiranyitasi URL-eket tarolnak, igy az M szint boven elegendo a legtobb felhasznalasi esethez.

Mi az a QR-kod hibajavitas?

Serult QR-kod modulok pirossal kiemelve, Reed-Solomon hibajavitassal zoldre rekonstrualva

Gondoljon ra ugy, mint a kodba epitett biztonsagi masolatra. Amikor a szennyezodes, a karcok vagy a fakulas elpusztitja a fekete-feher modulok egy reszet, a beolvaso ezzel a biztonsagi masolattal tolti ki a hezagokat. A teljes uzenet meg akkor is eljut, ha reszek hianyoznak.

A mogotte allo matematika neve Reed-Solomon hibajavitas. Irving S. Reed es Gustave Solomon 1960-ban publikalta az MIT Lincoln Laboratoriumban muholdas kommunikaciora, ahol a jel zaja megrongalja a tovabbitott adatokat. Ugyanez az algoritmus kerul felhasznalasra CD-kben, DVD-kben, Blu-ray lemezeken es a NASA Voyager szondainak adatrendszereiben. Amikor a DENSO WAVE 1994-ben megtervezte a QR-kodot, a Reed-Solomon termeszetes valasztas volt. Mar tulelre a melyurt.

A QR-kod szabvany negy hibajavitasi szintet hatarozz meg. Minden szint meghatározza, mennyi redundans adatot tartalmaz a kod, es ennek kozvetlen ellentetekent, mennyi osszes adatot kepes tarolni.

A negy QR-kod hibajavitasi szint

Minden QR-kod a negy hibajavitasi szint egyikevel kerul letrehozasra. Az alabbi tablazat bemutatja, mit allit helyre az egyes szintek, mekkora adatkapacitast kinalnak maximalis meretben (Version 40, a specifikacioban meghatarozott legnagyobb QR-kod), es melyik helyzethez illenek legjobban.

Szint

Nev

Helyreallitas

Max. kapacitas (V40)

Idealis

L

Low

7%

2,953 byte

Digitalis kepernyo, tiszta kornyezet

M

Medium

15%

2,331 byte

Belteri nyomtatas, szorolapok, menuk (leggyakoribb alapertek)

Q

Quartile

25%

1,663 byte

Kulteri tablak, packaging, kopotasnak kitett feluletek

H

High

30%

1,273 byte

Logo a kodon, ipari, gyari kornyezet

A nagyobb vedelem tarolasi kapacitasba kerul. A Version 40-nel az L szint 2,953 byte-ot tarol. A H szint 1,273-at. Ez 57%-os kapacitascsokkenes a serulesturesert cserebe.

A legtobb generator alapertelemezetten az M szintet hasznalja. A DENSO WAVE megerositi, hogy ez a gyakorlatban leggyakrabban valasztott szint. Az M szint kezeli a kisebb karcokat, az enyhe fakulast es az ujjlenyom-foltokat anelkul, hogy a kod a szuksegesnel nagyobba valna.

Ezek az ISO szazalekok elmeleti maximumok. A gyakorlatban a kodok hajlamosak korábban meghibasodni. Huon Wilson szoftvermertnok 12,800 QR-kod konfiguraciót tesztelt szimulalt serulésekkel, es ugy talalta, hogy a H szintu kodok 60%-kal tobb sikeres beolvacerulest produkalt tak, mint az L szintuek. A gyakorlati meghibasodási kuszobok kozelitolegg 6% L-nel, 12% M-nel, 18% Q-nal es 20% H-nal. A valos serules nem egyenletesen oszlik el, igy a kod hamarabb eleri a hatarat, mint ahogy a specifikacio sugallja.

Mennyi serulest bir el egy QR-kod?

QR-kod kavefolttal a kozepen, ami meg beolvashato, szemben egy letepett sarku QR-koddal, ami nem mukodik

A tablazatban szereplo szazalekok kodszavakra (kodolt adategysegekre) vonatkoznak, nem a fizikai teruletre. A felulet 15%-anak karosodasa nem jelenti feltetlenul a kodszavak 15%-anak seruleset. Az ok abban rejlik, hogyan rendeződnek el az adatok a racson belul.

Kodszavak osszefesulese

Nagyobb QR-kodoknal a kodolt adatokat tobb Reed-Solomon blokkra osztjak, majd osszefesülik oket, mielott elhelyezik a racson. Egy atlosan vegighuzodo karcolaas nem pusztit el egymast koveto kodszavakat. Ehelyett karosit egy kodszot itt, atugorik harmat, karosit egy masikat ott. A serules tobb javitasi blokk kozott oszlik el, ahelyett, hogy egyetlen blokkot tulterhelne. Ezert tulelhetobb gyakran egy hosszu karcolas, mint egy mely lyuk egyetlen pontban.

Hibaészleles es hibajavitas

A Reed-Solomon ketuszer annyi hibat kepes észlelni, mint amennyit javitani tud. Az M szinten az algoritmus a kodszavak legfeljebb 15%-at javitja, de akár 30%-ig eszleli a serulest. Ha a serules meghaladja a javitasi keretet, de meg az eszlelesi tartomanyon belul marad, a beolvaso tudja, hogy az adatok serultek, es nem ad vissza semmit.

Ez egy biztonsagi funkcio. Egy serult QR-kod soha nem iranyitja rossz weboldalra es nem terheli meg a rossz fiokot. Helyesen mukodik, vagy nem ad vissza semmit. Fizetesi kodok es hitelesitesi tokenek eseten ez a kulonbseg sokat szamit.

A kereso mintak kivétele

Minden QR-kod sarkaiban levo harom nagy negyzet a kereso mintak. A beolvaso ezek segitsegevel talalja meg es tajoljahoz a kodot. Ezeket nem vedi a hibajavitas ugy, ahogy az adatmodulokat. Ha egy szakadas, hajtas vagy matrica eltakarja a harom sarok egyiket, a kod szinte biztosan meghibasodik a hibajavitasi szinttol fuggetlenul. Semmilyen mennyisegu redundancia nem menti meg az elveszett sarku kodot.

Melyik hibajavitasi szintet valassza?

Ime, mit erdemes valasztani a leggyakoribb helyzetekben.

Belteri nyomtatas (menuk, szorolapok, nevjegykartya): M szint. Tiszta kornyezet, minimalis fizikai kontaktussal. Az M szint kezeli az alkalmankenti foltot vagy gyurodest anelkul, hogy a kodot a szuksegesnel nagyobba tenne.

Kulteri vagy idojarasnak kitett feluletek (kerti tablak, autoracserulmatricak, buszmegallok): Q vagy H szint. UV fakulas, eso, jarokelok fizikai erintese. Ezeknek a kodoknak nagyobb hibajavitasi kerettre van szukseguk, mert a serules hetek es honapok alatt halmozodik.

Logos vagy markajjelzesu QR-kodok: H szint. A kozepre helyezett logo szandekosan eltakar adatmodulokat, jellemzoen a kod teruletének 20-30%-at. A H szint 30%-os javitasi kerete elnyeli ezt. Enelkul kockaztatunk. A University of Memphis AutoID Lab tanulmanya designer QR-kodokat tesztelt, es azt talalta, hogy az olvasasi arany atlagosan 61,5% volt, a legrosszabb 9,6%-ra esett. A modositatlan kodok ~95%-ot ertek el. A fo meghibasodasi ok a kereso mintak sarkainak serulese volt.

Digitalis kijelzo (kepernyo, prezentacio, e-mail): L szint. Nincs fizikai serules veszelye. A kod pixelekent letezik a kepernyon. Az L szint kompaktan es gyorsan beolvashatoan tartja a kodot.

Dinamikus QR-kodok: Az M szint altalaban elegendo. Egy dinamikus QR-kod csak egy rovid atiranyitasi URL-t tarol (peldaul freeqr.to/abc123), nem a teljes celoldal tartalmat. Kevesebb adat kevesebb modult jelent, ami aranyosan tobb helyet biztosit a hibajavitasnak.

A FreeQR tervezojeben a negy hibajavitasi beallitas Low, Medium, High es Highest neven szerepel (az L, M, Q es H szinteknek megfeleloen). Az alapertek a Medium. Logo hozzaadasakor a beolvashatosagi jelzo figyelmezteti, ha a logo tul sok modult takar el a valasztott szinthez kepest. A dinamikus kodok lehetove teszik a celoldal frissiteset ujranyomtatas nelkul.

Egy fontos reszlet: a hibajavitasi szintet a kod letrehozasakor allitjuk be. Nyomtatas utan nem modosithato. Ha az L szintet valasztja, es kesobb kulteri kornyezetbe helyezi a kodot, az egyetlen megoldas egy uj kod magasabb szinttel. Ha bizonytalan, valassza az M szintet.

Kivancsi, hogyan mukodik? Hozzon letre egy ingyenes QR-kodot a FreeQR oldalon, es valassza ki a hibajavitasi szintet.

Gyik

Mi az a QR-kod hibajavitas?

A QR-kodba agyazott extra adatok, amelyek lehetove teszik a beolvasok szamara a serult vagy hianyzo modulok rekonstrualasat. A mechanizmus Reed-Solomon kodokat hasznal, egy matematikai algoritmust, amelyet eredetileg muholdas kommunikaciora fejlesztettek ki, es kesobb a QR-kod specifikacioba (ISO/IEC 18004:2024) epitettek be.

Mennyire serulhet egy QR-kod es meg mindig mukodik?

Legfeljebb 30% a H szinten, 25% a Q-nal, 15% az M-nel es 7% az L-nel. Ezek a szazalekok a helyreallithato kodszavak aranyara vonatkoznak, nem a kod fizikai teruletere. A tenyleges tulelokepesseg attol fugg, hol keletkezik a serules es hogyan hat kolcson a kodszavak osszefesülesevel.

Melyek a negy hibajavitasi szint?

L (Low, 7%), M (Medium, 15%), Q (Quartile, 25%) es H (High, 30%). A legtobb generator alapertelemezetten az M-et hasznalja.

Melyik hibajavitasi szintet hasznaljam logohoz?

H szint (30%). Egy kozepre helyezett logo jellemzoen a kod moduljainak 20-30%-at fedi le. A H szint elegendo redundans adatot biztosit a beolvasonak ahhoz, hogy rekonstrualja, amit a logo eltakar. Alacsonyabb szint hasznalata logoval kockaztatja, hogy a kod beolvashatatlan lesz.

Adhat-e hibas informaciot egy serult QR-kod?

Nem. Ha a serules meghaladja az algoritmus javitasi kepesseget, a beolvaso nem ad vissza semmit. Ures eredmenyt kap, soha nem hibas URL-t vagy rossz fizetesi cimet. A Reed-Solomon ketszer annyi hibat kepes eszlelni, mint amennyit javitani tud, igy a kod tudja, mikor tul serult ahhoz, hogy megbizhato legyen.


Irta: Andy Lee, QR technologiai szakerto a FreeQR-nel.