Gids
Foutcorrectieniveaus van QR-codes uitgelegd: L, M, Q en H
Elke QR-codegenerator heeft een instelling die foutcorrectie heet, meestal een keuze uit L, M, Q of H, en de meeste mensen laten hem staan. Hij bepaalt hoeveel van een code vuil, bekrast, bedekt door een logo of slecht gedrukt mag zijn en nog scant. Begrijpen wat hij doet kost vijf minuten en bespaart herdrukken.
Wat foutcorrectie is
Een QR-code slaat zijn inhoud op als een reeks bytes en voegt daar extra bytes aan toe die eruit berekend zijn met een Reed–Solomon-code, dezelfde familie wiskunde die een bekraste cd laat afspelen en een ruimtesonde in de verte hoorbaar maakt. Met die extra bytes kan een scanner een beperkt aantal bytes die hij niet kon lezen reconstrueren. Het patroon dat je ziet, zijn de gegevens en de correctiebytes samen neergelegd, en daarom kan een code overal modules verliezen, niet alleen op één plek, en toch decoderen.
De vier niveaus
- L (laag): ongeveer 7 procent van de code mag onleesbaar zijn. De kleinste code voor een gegeven inhoud.
- M (midden): ongeveer 15 procent. De standaard in de meeste generators, ook de onze, en een verstandige.
- Q (kwartiel): ongeveer 25 procent. Voor codes die beetgepakt, aan weer en wind blootgesteld of op ruw materiaal gedrukt worden.
- H (hoog): ongeveer 30 procent. Voor codes met een logo in het midden, en voor alles wat echte schade moet overleven.
Wat een hoger niveau kost
Meer correctie betekent meer bytes, en meer bytes betekenen meer modules. Een code met dezelfde inhoud heeft op H merkbaar meer modules per zijde dan op L, dus op hetzelfde drukformaat zijn zijn modules kleiner en moeilijker voor de camera te onderscheiden. Dat is de ruil: H overleeft meer schade per module, maar heeft een grotere druk nodig om überhaupt gelezen te worden. Bij een lang statisch adres is het verschil echt. Bij een dynamische code, waarvan de inhoud een korte link van enkele tientallen tekens is, is de code op elk niveau klein en maakt het verschil nauwelijks uit, wat nog een reden is om voor drukwerk een dynamische code te kiezen.
Welk niveau je kiest
- Op een scherm, in een e-mail, op een dia: L of M. Niets zal hem beschadigen, en de kleinere code is makkelijker te lezen van een foto van een scherm.
- Op papier dat beetgepakt, verstuurd of op een muur geplakt wordt: M of Q. Kreukels en vuil zijn het normale geval.
- Buiten, op verpakkingen, op apparatuur, op alles wat nat of bekrast wordt: Q of H.
- Met een logo in het midden, op elk formaat en elk oppervlak: H, en houd het logo op ongeveer een vijfde van de code. Het logo is schade die je zelf gekozen hebt; het niveau moet die opvangen én de echte schade die nog komt.
- Heel klein gedrukt, dicht bij de ondergrens van twee centimeter: M, en weersta H. Op dat formaat kosten de extra modules meer dan de extra correctie oplevert, tenzij er een logo in zit, en dan moet de code sowieso groter.
Wat foutcorrectie niet kan herstellen
Het niveau herstelt modules die de camera niet kon lezen. Het doet niets voor een camera die de code überhaupt niet kan vinden. De drie grote hoekvierkanten, de hoekmarkeringen, moeten intact en zichtbaar zijn; dat geldt ook voor de stille zone, de lege rand om de code. Een logo, een sticker of een lijn over een hoekvierkant verslaat elk niveau. Te weinig contrast is hetzelfde: is de hele code lichtgrijs op wit, dan is elke module onzeker, en daar helpt geen enkele correctie tegen. Het niveau koopt tolerantie voor plaatselijke schade, niet voor een code die overal fout was.
Zo stel je het in bij QR Solutions
De generator staat standaard op M. Vanaf Starter is het niveau een schakelaar met vier standen, L, M, Q, H, in de geavanceerde kleurinstellingen, naast de hoekkleuren; hij geldt voor PNG- en SVG-downloads allebei, en het voorbeeld wordt opnieuw getekend als je hem verandert, zodat je de code een stap ziet groeien. Zet H als je een logo toevoegt. Het niveau is onderdeel van het ontwerp, niet van de bestemming: verander je het later, dan verandert hoe de volgende download eruitziet en blijft de doorverwijzing van de code onaangeroerd.
Veelgestelde vragen
Welk foutcorrectieniveau is de standaard?
M, bij QR Solutions en bij de meeste generators. Het overleeft ongeveer 15 procent schade en houdt de code compact.
Moet ik voor de zekerheid altijd H kiezen?
Nee. H maakt de code dichter, en dat is nadelig voor kleine drukken en foto's van een scherm. Kies H voor logo's en ruwe omstandigheden, M voor de rest.
Scant een hoger niveau langzamer?
Niet merkbaar. Het decoderen is direct; wat een scan vertraagt, is een dichte code die klein gedrukt is, en dat maakt een hoog niveau iets erger.
Kan ik het niveau veranderen nadat de code gedrukt is?
De volgende download gebruikt het nieuwe niveau; geprinte exemplaren houden het oude. Daarvoor is een herdruk nodig, zoals bij elke wijziging in het ontwerp.
Heeft het niveau invloed op de bestemming van een dynamische code?
Nee. Het is onderdeel van het ontwerp. De bestemming is een aparte instelling en kan op elk moment veranderd worden zonder het ontwerp aan te raken.