Info/gràfica
Diumenge 25/11/2022

La caiguda i la resurrecció del codi QR

Tot i ser intrínsecs en la indústria, els codis QR van aparèixer tímidament a la societat. Quan ja semblaven estar en procés de desaparició, la pandèmia del covid va aconseguir revifar-los. Gràcies, també, a un món cada cop més digital –on tothom porta un ‘smartphone’ a sobre– i a una bona practicitat i polivalència. T’has preguntat mai com funcionen?

4 min
Un patró de codi QR fictici

El codi QR (de l’anglès ‘quick response’, o resposta ràpida) és un sistema d’emmagatzematge d’informació que consta d’una matriu de punts quadrada. Per desxifrar aquesta informació, el codi QR es llegeix amb un lector o escàner d’un dispositiu intel·ligent, avui dia sobretot amb un ‘smartphone’.

Pot contenir dades de qualsevol format informàtic (conté bits, o dígits binaris), amb la particularitat de tenir cert marge per recuperar-ne fragments danyats o perduts. Molts QR que utilitzem sovint contenen adreces web –o URL–, però altres exemples d’ús habitual són per a entrades o tiquets, certificats o temes administratius i fins i tot per a sistemes de pagament.

CoDI QR

https://www.ara.cat

CoDI DE BARRES

CoDI QR

https://www.ara.cat

CoDI DE BARRES

CoDI QR

https://www.ara.cat

CoDI DE BARRES

El codi QR va ser inventat al Japó l’any 1994 per Denso Wave, una filial de Toyota, una empresa d’automòbils, per fer un seguiment de les peces durant tot el procés de fabricació. Els codis de barres que s’utilitzaven en aquell moment no acabaven de funcionar correctament: només es podien llegir des de certs angles i no emmagatzemaven prou dades per la mida que tenien.

Amb aquest origen funcional, el codi QR es va crear per resoldre aquests problemes i molts més, i els seus creadors van decidir compartir aquesta nova tecnologia amb el món. És per això que anys més tard, i en part gràcies als telèfons intel·ligents, han arribat fins a nosaltres.

L’anatomia d’un QR

Utilitzant el codi QR que conté l’enllaç a aquesta mateixa notícia a la web de l’ARA, analitzem per a què serveixen les diferents parts i com desenvolupen la seva funció, alhora que entenem millor què hi ha darrere el procés d’interpretació del codi.

Patrons de cerca

Informació de format

Patrons d’alineació

Dades

Patrons de temps

Correcció d’errors

Patrons de cerca

Patrons d’alineació

Patrons de temps

Informació de format

Dades

Correcció d’errors

Patrons de cerca

Patrons d’alineació

Patrons de temps

Informació de format

Dades

Correcció d’errors

Patrons de cerca

Patrons d’alineació

Patrons de temps

Informació de format

Dades

Correcció d’errors

Zona silenciosa

També anomenava ‘quiet zone’ és el marge blanc que es deixa al voltant d’un codi, i s’utilitza per indicar al lector on comença o acaba. L’objectiu és evitar que l’escàner reculli informació que no pertany al codi. S’anomena silenciosa perquè precisament no dona senyals al lector. En un codi QR s’aconsella que tingui un gruix d’uns 3 o 4 mòduls.

Patrons de cerca i d'alineació

L’element més distintiu d’un codi QR són aquests grans quadrats de les cantonades, anomenats patrons de cerca, que ajuden el lector a localitzar i detectar el codi ràpidament.

El quart quadrat, més petit i anomenat patró d’alineació, s’encarrega de definir l’orientació del codi perquè el lector sàpiga en quina direcció l’ha de llegir, independentment de l’angle en què el detecti.

Patró de temporització

Potser mai no us hi heu fixat, però tots els codis QR tenen aquestes fileres de punts blancs i negres alternatius. Aquest conjunt s’anomena patró de temporització. Aquest patró explica al lector la mida d’un mòdul únic –o punt quadrat– i la mida de tot el codi QR, conegut tècnicament com la versió. Una versió superior simplement conté més densitat de mòduls i, per tant, pot contenir més informació.

Versió 1

Densitat de 21x21

La més petita

Versió 20

Densitat de 97x97

Versió 40

Densitat de 177x177

La més gran

Versió 1

Densitat de 21x21 · La més petita

Versió 20

Densitat de 97x97

Versió 40

Densitat de 177x177 · La més gran

Versió 1

Densitat de 21x21 · La més petita

Versió 20

Densitat de 97x97

Versió 40

Densitat de 177x177 · La més gran

La informació del format

S’emmagatzema en aquestes fileres properes als patrons de cerca i conté informació sobre la correcció d’errors i les màscares, punts crucials per interpretar el codi. Apareix dues vegades dins el codi (veure línies A i B), per assegurar que es pot llegir fins i tot quan el codi QR està només parcialment visible o danyat (un tema força recurrent).

1

1

1

1

1

1

1

1

1

0

0

0

0

0

A

Nivell de correcció d’errors

Patró de màscara

Format de correcció d’errors

B

A

B

1

1

1

1

1

1

1

1

1

0

0

0

0

0

Patró de màscara

Format de correcció d’errors

Nivell de correcció d’errors

A

B

1

1

1

1

1

1

1

1

1

0

0

0

0

0

Nivell de correcció d’errors

Patró de màscara

Format de correcció d’errors

Primer de tot, el nivell de correcció d'errors: què és?

Essencialment, dicta quanta informació redundant s'emmagatzema al codi per garantir que es mantingui llegible fins i tot quan en falti una part. Si, per exemple, un codi ha d’estar a l’exterior, un nivell de redundància més alt pot assegurar que el codi funcioni tot i faltar-ne una part o haver-hi mala visibilitat.

1

1

1

0

0

1

0

0

NIVELL mitjà

El 14% dels bytes

NIVELL baix

El 7% dels bytes de

dades es poden restaurar

NIVELL quartil

El 25% dels bytes

NIVELL alt

El 30% dels bytes

Aquests dos QR continuen sent llegibles tot i tenir una part tapada o haver-se perdut una part del codi amb el desgast de l’ús. Prova-ho!

1

1

1

0

NIVELL mitjà

El 14% dels bytes

NIVELL baix

El 7% dels bytes de

dades es poden restaurar

0

1

0

0

NIVELL quartil

El 25% dels bytes

NIVELL alt

El 30% dels bytes

Aquests dos QR continuen sent llegibles tot i tenir una part tapada o haver-se perdut una part del codi amb el desgast de l’ús. Prova-ho!

1

1

1

0

NIVELL mitjà

El 14% dels bytes

NIVELL baix

El 7% dels bytes de

dades es poden restaurar

0

1

0

0

NIVELL quartil

El 25% dels bytes

NIVELL alt

El 30% dels bytes

Aquests dos QR continuen sent llegibles tot i tenir una part tapada o haver-se perdut una part del codi amb el desgast de l’ús. Prova-ho!

En segon lloc, la màscara: quina funció té?

Resumint-ho, els lectors de QR funcionen millor quan hi ha la mateixa quantitat de punts blancs i negres, però és possible que les dades emmagatzemades en forma de bits no ajudin en aquest sentit. La màscara serveix per igualar el balanç entre negre i blanc i millorar, doncs, el funcionament.

Zones molt clares...

...o molt fosques que poden alentir la lectura

Aquest patró base de 6x6 aplicat al codi canvia el color dels bits que queden sota una part negra de la màscara

Zones molt clares o molt fosques que poden alentir la lectura

Aquest patró base de 6x6 aplicat al codi canvia el color dels bits que queden sota una part negra de la màscara

Zones molt clares o molt fosques que poden alentir la lectura

Aquest patró base de 6x6 aplicat al codi canvia el color dels bits que queden sota una part negra de la màscara

Hi ha 8 patrons de màscara estàndard, i cada QR utilitza l’indicat a la seva informació del format. El patró assignat és el que aconsegueix un millor resultat final, i s’indica perquè el lector pugui desxifrar-ho correctament desaplicant aquesta màscara.

Les dades

I finalment arribem al bloc de les dades reals. Curiosament, les dades comencen a la cantonada inferior dreta, i es llegeixen en la direcció que indica l’exemple, fent una mena d’esses. El primer tram d'informació (de 4 bits) indica al lector de quina manera es van codificar les dades, i el segon (de 8 bits) li indica la longitud, tots dos marcats en vermell. Després ja comencen els caràcters de la informació en si, cadascun format per un bloc de 8 bits.

Inici

Inici

Inici

Correcció d'errors

Un cop escrites totes les dades, encara queda molt espai al codi. Aquí és on s'emmagatzema la informació de correcció d'errors, que és la que permetrà poder llegir el QR tot i estar incomplet, tapat... La manera com funciona és realment molt complexa, així que no la desenvoluparem en aquesta infografia.

Espero que t’hagis fet una mica més la idea de tot el que passa quan escaneges un QR amb el mòbil. La tecnologia al nostre abast pot ser sorprenent!

Infografia al paper de l'ARA Diumenge
Font: Viquipèdia i elaboració pròpia
stats