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?

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?

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.