Com funcionen els codis QR? La ciència darrere l'escanig

Explicació tècnica dels codis QR. Aprèn sobre la tecnologia, codificació i procés d'escanig.

Com funcionen els codis QR? La ciència darrere l'escanig

Com funcionen els codis QR?

Technical visualization of data being encoded into a QR code matrix with binary transformation

Els codis QR no són màgia, són una combinació enginyosa de geometria, codificació de dades i correcció d'errors. Quan escanejes un codi amb el teu telèfon, està duent a terme una sèrie de passos tècnics específics per extreure la informació codificada. Entendre el procés ajuda a explicar per què els codis QR són tan fiables com són, i per què certes decisions de disseny (com la mida o el contrast) realment importen per a la capacitat d'escaneig.

El procés de codificació

Quan crees un codi QR, la informació que vols codificar, sigui una URL, informació de contacte o text senzill, es converteix a dades binàries. Un algorisme determina llavors com de gran ha de ser el codi en funció de quanta dada estàs emmagatzemant. Les dades s'organitzen en mòduls (els quadrats negres i blancs individuals que veus) i es disposen en un patró específic. Els codis de correcció d'errors es calculen i s'entrellacen per tot el patró. Tot aquest procés triga mil·lisegons en un ordinador modern, però és la base de tota la resta.

Anatomia del codi QR

  • Marcadors de detecció de posició: Tres grans quadrats de 7×7 (un a cada cantonada excepte la inferior dreta) que ajuden els escàners a identificar el codi i determinar l'orientació. La vora blanca circumdant anomenada "zona tranquil·la" aïlla el codi dels elements del voltant.
  • Patrons de sincronització: Línies negres i blanques alternades que recorren horitzontalment i verticalment, ajudant l'escàner a establir la quadrícula del codi i determinar la mida de cada mòdul.
  • Informació de format: Una petita àrea que especifica quin nivell de correcció d'errors s'està fent servir i com s'emmascaren les dades. Crítica per a una descodificació correcta.
  • Informació de versió: Els codis més grans contenen aquestes dades, que identifiquen la versió del codi QR (hi ha 40 versions, des del diminut 21×21 fins al massiu 177×177).
  • Àrea de dades: La regió central que conté les teves dades codificades reals més els codis de correcció d'errors, intercalats per tot el patró.

El procés d'escaneig i descodificació

Quan apuntes el teu telèfon cap a un codi QR, la càmera captura la imatge. El programari d'escaneig busca immediatament els tres marcadors de detecció de posició, els grans quadrats. Trobar aquests marcadors diu a l'escàner diverses coses importants: això és definitivament un codi QR, aquí és on és dins la imatge i quina direcció és la "correcta". Un cop localitzats els marcadors, el programari fa servir els patrons de sincronització per determinar on són els límits dels mòduls i establir la quadrícula del codi. La informació de format llavors diu al descodificador quin algorisme de correcció d'errors ha de fer servir. Finalment, el programari llegeix l'àrea de dades i els codis de correcció d'errors per extreure la teva informació original.

Mètodes de codificació de dades

Els codis QR poden codificar diferents tipus de dades, i cadascun té optimitzacions:

Numèric: Números purs. La codificació més eficient, la mida de codi més petita. Bo per a codis de producte o números de sèrie.

Alfanumèric: Números, lletres majúscules i alguns signes de puntuació. Eficiència moderada. Millor per a text de targetes de visita o missatges senzills.

Mode byte: Qualsevol caràcter, inclosos les lletres minúscules i símbols especials. El menys eficient però el més flexible. Requerit per a la majoria d'URL i text normal.

Kanji: Caràcters japonesos. Codificació eficient per a text japonès que seria massiu en mode byte.

El codificador tria automàticament el mètode més eficient per a les teves dades. Una URL en mode byte podria ser més gran que la mateixa URL escurçada i codificada numèricament (si la poguessis convertir), però el codificador pren aquestes decisions d'optimització automàticament.

Correcció d'errors: per què els danys parcials no trenquen els codis QR

Això és el que fa que els codis QR siguin genuïnament enginyosos. El sistema de correcció d'errors afegeix redundància al codi, bàsicament, emmagatzema les teves dades dues vegades (o més). Si parts del codi estan danyades, tapades, pixelades o parcialment cobertes per un logotip, l'algorisme de correcció d'errors pot reconstruir matemàticament la informació que falta. Per això els codis QR continuen funcionant fins i tot quan estan desgastats, descolorits o parcialment coberts. Els quatre nivells de correcció d'errors, L (7%), M (15%), Q (25%) i H (30%), representen el percentatge del codi que es pot danyar i encara recuperar les dades. Un codi de nivell H pot perdre el 30% de les seves dades i continuar sent escanejable. Per això pots col·locar un logotip al centre d'un codi QR i continua funcionant.

Per què importen la mida i el contrast

La capacitat d'escaneig del codi QR depèn molt de dos factors: la mida i el contrast. Un codi massa petit en relació amb la distància d'escaneig es torna pixelat o borrós quan la càmera el captura. El programari no pot identificar correctament els límits dels mòduls, i la descodificació falla. El contrast importa perquè l'escàner necessita distingir clarament entre mòduls negres i blancs. Un codi sobre un fons de color similar crea ambigüitat, l'escàner no pot dir on acaba un mòdul i en comença un altre, causant un error de reconeixement. Per això les decisions de disseny (color, mida, col·locació) no són només estètiques, afecten directament si el codi realment funciona.

Velocitat i optimització

L'escaneig modern de codis QR és increïblement ràpid perquè les càmeres són ràpides i els algorismes de reconeixement són eficients. El programari troba els marcadors de posició gairebé a l'instant, estableix la quadrícula i descodifica les dades en mil·lisegons. Per això escanejar sembla instantani. Els lectors de codis QR anteriors eren més lents, cosa que és en part per què l'adopció va trigar temps, semblava feixuc esperar uns segons al reconeixement. Els telèfons moderns ho gestionen amb tanta fluïdesa que escanejar és ara una interacció completament normal.

Versions i capacitat dels codis QR

Els codis QR vénen en 40 versions de mida diferents. La versió 1 és de 21×21 mòduls (uns 100 píxels a resolució estàndard), i cada versió posterior afegeix més mòduls. La versió 40 és de 177×177 mòduls (enorme). La versió es determina automàticament en funció de la quantitat de dades que es codifiquen. Més dades requereixen un codi més gran. Per això una URL curta pot fer servir un codi QR diminut, mentre que codificar quantitats substancials de text requereix un codi visiblement més gran.

La "zona tranquil·la"

Tot codi QR ha d'estar envoltat d'espai en blanc, la "zona tranquil·la", que és com a mínim l'amplada d'un mòdul (normalment especificada com a 1/10 de l'amplada del codi). Aquest espai és essencial perquè evita que els elements visuals del voltant interfereixin amb la capacitat de l'escàner per reconèixer el codi. Imprimeix un codi sense espai al voltant i col·loca'l a la vora d'un disseny, i es torna més difícil o impossible d'escanejar. Aquest espai en blanc no és malbaratat, és una part crítica del disseny del codi QR.

Codis QR dinàmics: la diferència tècnica

Els codis QR estàtics incrusten les teves dades directament al patró. Els codis QR dinàmics codifiquen una URL de redirecció curta en lloc d'això. Quan escanejes un codi dinàmic, apunta a un servei de redirecció que emmagatzema la destinació real. Escanejes el codi, que t'envia a un escurçador, que llavors t'envia a la teva destinació real. Des de la perspectiva de l'usuari, és instantani. La diferència tècnica és que els codis dinàmics no contenen la teva destinació real al patró, només contenen un punter. Per això els codis dinàmics es poden actualitzar, canvies cap a on dirigeix el punter, però el patró del codi QR en si no canvia mai.

Conclusió

Els codis QR funcionen mitjançant un procés senzill però elegant: detecció de posició, establiment de la quadrícula, extracció de dades amb correcció d'errors. Entendre aquests mecanismes explica per què certs principis de disseny importen, per què el contrast és crític, per què la mida afecta la capacitat d'escaneig, per què existeixen els nivells de correcció d'errors. No és arbitrari. És enginyeria que fa que el sistema sigui prou fiable com per col·locar-lo en un milió d'envasos de productes arreu del món.

Prova-ho ara a FreeQRCodeGenerator.com →

← AnteriorQuè és un codi QR? La guia completa per a principiantsSegüent →Codis QR estàtics vs dinàmics: Quin necessites?