Nivells de correcció d'errors de codi QR explicats

Entendre la correcció d'errors de codi QR. Aprèn com els codis QR mantenen la funcionalitat fins i tot quan parcialment danyats.

Nivells de correcció d'errors de codi QR explicats

Entendre els nivells de correcció d'errors dels codis QR

Detailed diagram of a QR code showing finder patterns, timing patterns, and data modules

Tot codi QR construït amb estàndards moderns inclou correcció d'errors que li permet funcionar fins i tot quan està parcialment danyat, descolorit o tapat. Aquesta capacitat de correcció d'errors és el que fa que els codis QR siguin prou robustos per col·locar-los en embalatges de productes, senyalització desgastada per la intempèrie o qualsevol altre lloc on es puguin embrutar o desgastar. Però la quantitat de danys que un codi pot sobreviure varia, i tu la controles triant un nivell de correcció d'errors quan crees el teu codi. Entendre aquests nivells t'ajuda a triar el correcte per a la teva situació concreta.

Els quatre nivells de correcció d'errors

Els estàndards dels codis QR defineixen quatre nivells de correcció d'errors, designats L, M, Q i H. Cada nivell especifica el percentatge màxim del codi que es pot destruir o quedar il·legible mentre el codi continua sent escanejable. Com més alt és el nivell, més dades redundants inclou el codi, cosa que fa el codi més gran i visualment més complex. Hi ha una contrapartida: més correcció d'errors significa millor durabilitat però un codi més gran.

Nivell L, 7% de recuperació de dades

El nivell L pot recuperar-se d'un 7% de danys. Aquesta és la correcció d'errors mínima i només s'hauria de fer servir quan estiguis absolutament segur que el codi no es danyarà. Un codi pot perdre aproximadament 1/14 de les seves dades i continuar sent escanejable. Fes servir aquest nivell per a codis en entorns protegits, a l'interior, nets, protegits de la intempèrie i el desgast. Un codi QR en una targeta de visita dins d'una cartera qualifica. Un codi en senyalització exterior no. El nivell L crea el codi més petit possible perquè afegeix una redundància mínima, però ofereix pràcticament cap protecció contra el desgast del món real.

Nivell M, 15% de recuperació de dades

El nivell M, que es recupera d'un 15% de danys, és el valor predeterminat estàndard per a la majoria d'usos. És el terme mitjà raonable: protecció decent sense inflar la mida del codi innecessàriament. La majoria d'aplicacions professionals fan servir el nivell M. És adequat per a materials de màrqueting impresos, cartells, embalatges, targetes de visita, materials d'esdeveniments. Gestiona el desgast menor, la descoloració i les imperfeccions d'impressió sense problemes. Aquest és probablement el nivell que hauries de fer servir tret que tinguis una raó específica per triar-ne un de diferent.

Nivell Q, 25% de recuperació de dades

El nivell Q tolera un 25% de danys o il·legibilitat. Fes-lo servir quan el teu codi estigui en un entorn més exigent, senyalització exterior que s'exposarà a la intempèrie, embalatge industrial que s'embruta, aplicacions on la durabilitat importa més que la mida del codi. El codi és visiblement més complex que el de nivell M a causa de la redundància afegida, però és resistent. Aquest nivell té sentit per a entorns durs o aplicacions d'alt valor on un error del codi és car.

Nivell H, 30% de recuperació de dades

El nivell H ofereix la màxima durabilitat amb un 30% de recuperació d'errors. El codi pot perdre gairebé un terç de les seves dades i continuar escanejant-se. Aquest és el nivell que necessites per a codis amb logotips incrustats, el logotip cobreix aproximadament un 20% de l'àrea del codi, així que necessites una correcció d'errors prou robusta per gestionar-ho. El nivell H crea els codis més grans i visualment més complexos a causa de tota la redundància, però res sobreviu millor. Fes servir el nivell H per a codis amb logotip incrustat, senyalització exterior molt desgastada per la intempèrie o aplicacions on la durabilitat és absolutament crítica.

La correcció d'errors a la pràctica: què significa realment

Quan diem que un codi de nivell M es pot recuperar d'un 15% de danys, volem dir que qualsevol 15% del codi podria quedar completament destruït, tapat o il·legible, i les dades restants encara contindrien prou redundància per reconstruir matemàticament la informació que falta. Per això un codi parcialment descolorit encara funciona, per què la brutícia o un adhesiu poden cobrir part d'un codi i encara s'escaneja, per què les imperfeccions d'impressió no trenquen automàticament els codis. La correcció d'errors fa la feina pesada en silenci cada vegada que escanejes.

Com funciona tècnicament la correcció d'errors

Els codis QR fan servir la correcció d'errors de Reed-Solomon, el mateix algorisme fet servir en els precursors industrials dels codis QR i encara fet servir en coses com les comunicacions espacials. L'algorisme calcula dades addicionals que s'intercalen per tot el codi. Aquestes dades addicionals estan relacionades matemàticament amb les teves dades originals de manera que permeten la reconstrucció si falten parts. És similar a com funciona l'emmagatzematge RAID, una redundància integrada de tal manera que pots perdre algunes dades però reconstruir el conjunt. Els codis QR integren aquesta redundància directament al patró del codi.

Triar el nivell de correcció d'errors adequat

Fes servir el nivell L si: El teu codi estarà a l'interior, protegit, net i no exposat al desgast. Considera'l també si generes codis només per a ús personal i la mida no importa. De manera realista, poques aplicacions necessiten el nivell L.

Fes servir el nivell M si: El teu codi s'imprimirà en materials de màrqueting estàndard, targetes de visita, fullets, cartells, embalatge de productes. Aquest és el valor predeterminat segur per a la majoria d'usos. Tret que tinguis una raó per a alguna cosa diferent, tria M.

Fes servir el nivell Q si: El teu codi estarà a l'exterior, en vehicles, en entorns industrials o en qualsevol lloc on es pugui embrutar o desgastar per la intempèrie. La redundància extra val la pena per la mida de codi lleugerament més gran.

Fes servir el nivell H si: El teu codi inclou un logotip o estarà exposat a condicions extremes. Fes servir també el nivell H si la durabilitat és la teva màxima prioritat i la mida del codi no és una limitació.

Correcció d'errors i codis amb logotip incrustat

Aquí és on la correcció d'errors esdevé pràcticament important. Un logotip col·locat al centre d'un codi QR tapa un 15-25% de l'àrea de dades del codi. Perquè el codi continuï sent escanejable amb un logotip, has de fer servir la correcció d'errors de nivell H. Sense ella, la informació que falta de l'àrea tapada pel logotip supera el llindar de correcció d'errors i el codi no es descodifica. Per això tota guia sobre codis amb logotip incrustat emfatitza el nivell de correcció d'errors, no és opcional. Logotip + qualsevol cosa inferior al nivell H = codi trencat.

Implicacions de la mida del codi

Cada augment de nivell de correcció d'errors afegeix redundància al codi, cosa que normalment resulta en un codi una "versió" més gran:

  • Un codi de nivell L que codifica una URL de 100 caràcters podria ser de 21×21 mòduls
  • El mateix contingut a nivell M podria ser de 21×21 o 25×25 mòduls
  • El nivell Q podria ser de 25×25 o 29×29 mòduls
  • El nivell H podria ser de 29×29 o 33×33 mòduls

L'impacte exacte depèn de les dades que es codifiquen, però els nivells de correcció d'errors més alts resulten de manera consistent en codis més grans. Aquesta és la contrapartida: durabilitat vs. mida.

Exemple del món real: embalatge de productes

Escenari: Estàs posant un codi QR en un embalatge de producte que estarà als prestatges de la botiga, serà manipulat pels clients, possiblement es mullarà o s'embrutarà.

Bona elecció: Nivell Q o nivell H. L'entorn de l'embalatge és prou dur perquè la correcció d'errors bàsica no sigui suficient. Vols que el teu codi sobrevisqui a una manipulació brusca, la humitat, la descoloració per la il·luminació de la botiga.

Per què no el nivell M? Podria funcionar el 80% de les vegades, però alguns usuaris experimentaran codis que simplement no s'escanejaran a causa dels danys acumulats per l'emmagatzematge, la humitat i el desgast. Això crea una mala experiència de client.

Exemple del món real: targeta de visita

Escenari: Un codi QR en una targeta de visita que viurà a la cartera o l'escriptori d'algú.

Bona elecció: Nivell M. La targeta està protegida de la intempèrie i les condicions dures. El desgast menor no serà cap problema. El nivell M proporciona una durabilitat més que adequada per a aquesta aplicació.

Podries fer servir el nivell L? Tècnicament sí. Faria el codi lleugerament més petit. Però el nivell M és el valor predeterminat segur, i la diferència de mida és insignificant. No hi ha cap raó per jugar-se la durabilitat per estalvis marginals de mida.

Concepte erroni: la correcció d'errors com a reparació màgica

La correcció d'errors permet que un codi sobrevisqui als danys, però no és infinita. Si esborres mitja part del codi amb un retolador, cap nivell de correcció d'errors sobreviu a això. La correcció d'errors gestiona danys incrementals, descoloració, tapament menor, imperfeccions d'impressió, brutícia, desgast menor. No gestiona la destrucció deliberada ni el tapament total de grans seccions. És robusta però no miraculosa.

Conclusió

La correcció d'errors és la raó per la qual els codis QR són prou durables per ser pràctics. El nivell que tries determina quants danys pot tolerar el codi. El nivell M és el valor predeterminat sensat per a la majoria d'aplicacions. Apuja-ho si el teu codi és en un entorn dur o inclou un logotip. Rarament hi ha una bona raó per triar el nivell L tret que estiguis obsessionat amb una mida de codi mínima. Entendre els nivells de correcció d'errors et permet triar adequadament i assegura que els teus codis realment funcionin en condicions del món real.

Prova-ho ara a FreeQRCodeGenerator.com →

← AnteriorCodis QR estàtics vs dinàmics: Quin necessites?Següent →Guia de mida de codi QR: Quina és la mida adequada per al teu codi QR?