Ravintolan menussa oleva QR-koodi, jonka kulmassa on kahvitahra. Pihakyltti, joka on haalistunut kolmen kuukauden suorasta auringonvalosta. Varastoetiketti, johon on levinnyt rasvaa. Kaikki kolme toimivat yha skannatessa.
Se ei ole tuuria. Jokainen QR-koodi sisaltaa ylimaaraista dataa, jonka avulla skannerit voivat rekonstruoida vaurioituneet tai puuttuvat osat. ISO/IEC 18004:2024 -maarittely kutsuu tata QR-koodin virheenkorjaukseksi, ja se on ollut osa muotoa sen ensimmaisesta standardoinnista vuonna 2000. Perinteinen viivakoodi samalla vahingolla olisi lukukelvoton.
Tarkeimmat huomiot:
QR-koodit kayttavat Reed-Solomon-virheenkorjausta fyysisista vahingoista toipumiseen ISO/IEC 18004:2024 -standardin mukaisesti.
Nelja tasoa: L (7%), M (15%), Q (25%), H (30%). Prosentti viittaa palautettavissa oleviin koodisanoihin, ei fyysiseen pinta-alaan.
Korkeampi korjaus tarkoittaa suurempaa vahinkosietoa, mutta pienempia tietokapasiteettia.
QR-koodit eivat koskaan anna vaaraa tietoa. Ne lakkaavat toimimasta turvallisesti, kun vahinko ylittaa korjauskapasiteetin.
Dynaamiset QR-koodit tallentavat lyhyita uudelleenohjaus-URL-osoitteita, joten taso M tarjoaa riittavasti liikkumavaraa useimmissa kayttotapauksissa.
Mika on QR-koodin virheenkorjaus?

Ajattele sita koodiin sisaanrakennettuna varmuuskopiona. Kun lika, naarmut tai haalistuminen tuhoavat osan mustavalkoisista moduuleista, skanneri kayttaa tata varmuuskopiota tayttaakseen aukot. Koko viesti menee perille, vaikka palasia puuttuisi.
Taustalla oleva matematiikka on nimeltaan Reed-Solomon-virheenkorjaus. Irving S. Reed ja Gustave Solomon julkaisivat sen vuonna 1960 MIT Lincoln Laboratoryssa satelliittiviestintaa varten, jossa signaalikohina vaaristaa lahetettya dataa. Sama algoritmi paatyi CD-levyihin, DVD-levyihin, Blu-ray-levyihin ja NASA:n Voyager-luotainten datajarjestelmiin. Kun DENSO WAVE suunnitteli QR-koodin vuonna 1994, Reed-Solomon oli luonnollinen valinta. Se oli jo selviytynyt syvasta avaruudesta.
QR-koodistandardi maarittelee nelja virheenkorjaustasoa. Jokainen taso maarittelee, kuinka paljon ylimaaraista dataa koodi sisaltaa ja suorana vaihtokauppana sen, kuinka paljon kokonaisdataa koodi voi sisaltaa.
QR-koodin nelja virheenkorjaustasoa
Jokainen QR-koodi luodaan yhdella neljasta virheenkorjaustasosta. Alla oleva taulukko nayttaa, mita kukin taso palauttaa, kuinka paljon dataa se voi sisaltaa enimmaiskoossa (Versio 40, suurin maaritellyssa spesifikaatiossa oleva QR-koodi) ja mihin se sopii parhaiten.
Taso | Nimi | Palautus | Maks. kapasiteetti (V40) | Paras kayttokohde |
|---|---|---|---|---|
L | Low | 7% | 2 953 tavua | Digitaaliset naytot, puhtaat ymparistot |
M | Medium | 15% | 2 331 tavua | Sisatilojen tulostus, esitteet, menut (yleisin oletusarvo) |
Q | Quartile | 25% | 1 663 tavua | Ulkokyltit, pakkaus, kulumiselle alttiit pinnat |
H | High | 30% | 1 273 tavua | Logo koodin paalla, teollisuus- ja tehdasymparistot |
Suurempi suojaus maksaa tallennustilaa. Versiossa 40 taso L sisaltaa 2 953 tavua. Taso H sisaltaa 1 273. Se on 57% vahennys kapasiteetissa vahinkokestavyyden hyvaksi.
Useimmat generaattorit kayttavat oletuksena tasoa M. DENSO WAVE vahvistaa, etta se on kaytannossa useimmin valittu taso. M kasittelee pienet naarmut, lievat haalistumiset ja sormenjalkien tahrat tekematta koodista suurempaa kuin on tarpeen.
Nama ISO-prosenttiluvut ovat kuitenkin teoreettisia maksimeja. Kaytannossa koodit yleensa lakkaavat toimimasta aikaisemmin. Ohjelmistoinsinoori Huon Wilson testasi 12 800 QR-koodikonfiguraatiota simuloiduilla vahingoilla ja havaitsi, etta tason H koodit tuottivat 60% enemman onnistuneita skannauksia kuin tason L koodit. Kaytannon vikarajat olivat noin 6% tasolle L, 12% tasolle M, 18% tasolle Q ja 20% tasolle H. Todellinen vahinko ei jakaudu tasaisesti, joten koodi saavuttaa rajansa aikaisemmin kuin spesifikaatio antaa ymmarttaa.
Kuinka paljon vahinkoa QR-koodi kestaa?

Taulukon prosenttiluvut viittaavat koodisanoihin (koodatun datan yksikkoihin), eivat fyysiseen pinta-alaan. 15% pinnan vahingoittaminen ei valttamatta korruptoi 15% koodisanoista. Syy liittyy siihen, miten data on jarjestetty ruudukon sisalla.
Koodisanojen lomitus
Suuremmissa QR-koodeissa koodattu data jaetaan useisiin Reed-Solomon-lohkoihin ja lomitetaan sitten ennen ruudukkoon sijoittamista. Koodin yli diagonaalisesti kulkeva naarmu ei tuhoa perakkaisia koodisanoja. Sen sijaan se vahingoittaa yhtä koodisanaa taalla, ohittaa kolme, vahingoittaa toista tuolla. Vahinko jakautuu useiden korjauslohkojen kesken sen sijaan, etta kuormittaisi yhtä ainoaa. Siksi pitka naarmu on usein helpompi selviytya kuin syva reika yhdessa kohdassa.
Virheiden havaitseminen verrattuna virheenkorjaukseen
Reed-Solomon pystyy havaitsemaan kaksi kertaa niin monta virhetta kuin se pystyy korjaamaan. Tasolla M algoritmi korjaa jopa 15% korruptoituneista koodisanoista, mutta havaitsee korruptiota jopa 30% asti. Kun vahinko ylittaa korjausbudjetin mutta pysyy havaitsemisalueen sisalla, skanneri tietaa, etta data on vaarantunut eika palauta mitaan.
Tama on turvaominaisuus. Vaurioitunut QR-koodi ei koskaan ohjaa sinua vaaralle verkkosivulle eika veloita vaaraa tilia. Se toimii oikein tai ei palauta mitaan. Maksukoodien ja todennustokenien kohdalla talla erottelulla on suuri merkitys.
Hakukuvion poikkeus
Jokaisen QR-koodin kulmissa olevat kolme suurta neliota ovat hakukuvioita. Skanneri kayttaa niita koodin paikantamiseen ja suuntaamiseen. Niita ei suojata virheenkorjauksella samalla tavalla kuin datamoduuleja. Jos repeama, taitos tai tarra peittaa yhden kolmesta kulmasta, koodi lampimasti todennakoisesti lakkaa toimimasta riippumatta korjaustasosta. Mikaan maara redundanssia ei pelasta koodia, jonka kulma puuttuu.
Minka virheenkorjaustason valitset?
Tassa on suositukset yleisimpiin tilanteisiin.
Sisatilojen tulostus (menut, esitteet, kayntikortit): Taso M. Puhtaat ymparistot, joissa on vahaisesti fyysista kosketusta. M kasittelee satunnaiset tahrat tai taitokset tekematta koodista suurempaa kuin on tarpeen.
Ulkotilat tai saan rasittamat pinnat (pihakyltit, autotarrat, bussipysakit): Taso Q tai H. UV-haalistuminen, sade, ohikulkijoiden fyysinen kosketus. Nama koodit tarvitsevat suuremman virheenkorjausbudjetin, koska vahingot kertyvat viikkojen ja kuukausien aikana.
QR-koodit logolla tai brandilla: Taso H. Keskelle sijoitettu logo peittaa tarkoituksella datamoduuleja, yleensa 20-30% koodin pinta-alasta. Tason H 30% korjausbudjetti kattaa taman. Ilman sita otat riskin. University of Memphis AutoID Lab -tutkimus testasi suunniteltuja QR-koodeja ja havaitsi, etta lukuprosentti oli keskimaarin 61,5%, huonoimman pudotessa 9,6%:iin. Muokkaamattomat koodit saavuttivat noin 95%. Suurin vikaantumisen syy oli hakukuvion kulmien vahingoittuminen.
Digitaalinen naytto (naytot, esitykset, sahkoposti): Taso L. Ei fyysisen vahingon riskia. Koodi on pikseleita naytolla. Taso L pitaa koodin kompaktina ja nopeana skannata.
Dynaamiset QR-koodit: Taso M riittaa yleensa. Dynaaminen QR-koodi tallentaa vain lyhyen uudelleenohjaus-URL:n (esim. freeqr.to/abc123), ei koko kohdesisaltoa. Vahemman dataa tarkoittaa vahemman moduuleja, mika puolestaan tarkoittaa, etta virheenkorjauksella on suhteellisesti enemman tilaa toimia.
FreeQR:n suunnittelutyokalussa nelja virheenkorjausasetusta on merkitty Low, Medium, High ja Highest (vastaavat L, M, Q ja H). Oletusarvo on Medium. Lisaa logo, ja skannattavuusilmaisin kertoo, peittaako logo liian monta moduulia valitulle tasolle. Dynaamiset koodit mahdollistavat myos kohteen paivittamisen ilman uudelleentulostamista.
Yksi huomio: virheenkorjaustaso asetetaan koodia luotaessa. Sita ei voi muuttaa tulostamisen jalkeen. Jos valitset tason L ja siirrrat koodin myohemmin ulkotiloihin, ainoa ratkaisu on uusi koodi korkeammalla tasolla. Epavarmassa tilanteessa valitse taso M.
Haluatko nahda, miten tama toimii? Luo ilmainen QR-koodi FreeQR:lla ja valitse virheenkorjaustasosi.
Usein kysytyt kysymykset
Mika on QR-koodin virheenkorjaus?
QR-koodiin upotettu ylimaarainen data, jonka avulla skannerit voivat rekonstruoida vaurioituneet tai puuttuvat moduulit. Mekanismi kayttaa Reed-Solomon-koodeja, matemaattista algoritmia, joka kehitettiin alun perin satelliittiviestintaan ja otettiin myohemmin kayttoon QR-koodimaarityksessa (ISO/IEC 18004:2024).
Kuinka paljon QR-koodi voi olla vaurioitunut ja silti toimia?
Enintaan 30% tasolla H, 25% tasolla Q, 15% tasolla M ja 7% tasolla L. Nama prosenttiluvut viittaavat palautettavissa olevien koodisanojen osuuteen, eivat koodin fyysiseen pinta-alaan. Todellinen selviytymiskyky riippuu siita, missa vahinko tapahtuu ja miten se vaikuttaa koodisanojen lomitukseen.
Mitka ovat nelja virheenkorjaustasoa?
L (Low, 7%), M (Medium, 15%), Q (Quartile, 25%) ja H (High, 30%). Useimmat generaattorit kayttavat oletuksena tasoa M.
Mita virheenkorjaustasoa minun pitaisi kayttaa logolle?
Taso H (30%). Keskelle sijoitettu logo peittaa tyypillisesti 20-30% koodin moduuleista. Taso H antaa skannerille riittavasti ylimaaraista dataa rekonstruoidakseen sen, minka logo peittaa. Alemman tason kayttaminen logon kanssa saattaa tehda koodista skannaamattoman.
Voiko vaurioitunut QR-koodi antaa vaaraa tietoa?
Ei. Kun vahinko ylittaa algoritmin korjauskyvyn, skanneri ei palauta mitaan. Saat tyhjän tuloksen, et koskaan vaaraa URL-osoitetta tai vaaraa maksuosoitetta. Reed-Solomon pystyy havaitsemaan kaksi kertaa niin monta virhetta kuin se pystyy korjaamaan, joten koodi tietaa, milloin se on liian vaurioitunut ollakseen luotettava.
Kirjoittanut Andy Lee, QR-teknologian asiantuntija FreeQR:lla.