Um QR Code não continua funcionando porque a câmera “adivinha” os quadrados que desapareceram. Parte da informação necessária para reconstruir dados é inserida no próprio código no momento em que ele é criado. Essa redundância utiliza técnicas de correção de erros, principalmente códigos Reed-Solomon. O padrão QR oferece quatro níveis de correção, conhecidos como L, M, Q e H. Níveis maiores toleram mais perda de informação, mas exigem mais espaço. Ainda assim, não é correto dizer que um QR Code sempre funciona com 30% da imagem destruída. A localização do dano importa tanto quanto sua quantidade.

RESUMO INFOALFA

QR Codes armazenam informação em módulos claros e escuros organizados segundo uma estrutura padronizada.

Os níveis de correção L, M, Q e H acrescentam diferentes quantidades de redundância.

A DENSO WAVE associa esses níveis a capacidades aproximadas de correção na ordem de 7%, 15%, 25% e 30% das palavras-código, não da área física da imagem.

Danos em padrões fundamentais de localização, alinhamento ou na área de silêncio ao redor do símbolo podem impedir a leitura mesmo que ocupem uma região visualmente pequena.

Como o QR Code organiza a informação dentro do desenho

QR Code é um código bidimensional. Ao contrário do código de barras tradicional, que organiza informação principalmente em uma direção, ele utiliza uma matriz de pequenos módulos claros e escuros.

Os grandes quadrados presentes em três cantos são padrões de localização. Eles ajudam a câmera a reconhecer onde o símbolo começa, sua orientação e perspectiva.

Versões maiores incluem também padrões de alinhamento, úteis quando a imagem está inclinada ou levemente deformada.

Existe ainda uma área vazia ao redor do símbolo, chamada quiet zone ou zona de silêncio. Ela separa o QR Code do fundo e ajuda o leitor a identificar os limites corretos.

O restante dos módulos carrega dados, informações de formato e redundância de correção.

Quando um telefone aponta a câmera para o código, o software precisa localizar o símbolo, corrigir perspectiva, distinguir módulos claros e escuros e então decodificar a sequência.

O QR Code não precisa de internet para ser lido.

Se o conteúdo codificado for um texto ou número, o telefone pode recuperar essa informação localmente.

Se o código contém um endereço de site, a leitura funciona sem internet, mas abrir o destino obviamente exige conectividade.

Essa diferença também explica os chamados QR Codes “dinâmicos”.

Na prática comercial, muitos deles contêm apenas um endereço curto administrado por um serviço de redirecionamento. O destino final pode ser trocado posteriormente no servidor. A capacidade de alterar o link não vem do desenho do QR em si, mas da infraestrutura web associada.

Por que a correção de erros permite recuperar parte dos dados

Antes de desenhar os módulos, o processo de codificação acrescenta informações extras calculadas matematicamente.

O QR Code utiliza códigos Reed-Solomon, uma família de técnicas criada para permitir reconstrução quando parte dos dados chega incorreta ou desaparece.

Uma analogia simples é enviar uma mensagem junto com pistas matemáticas suficientes para reconstruir determinadas partes perdidas.

Quanto mais pistas são acrescentadas, maior a tolerância a falhas, mas menos espaço sobra para conteúdo dentro de um símbolo do mesmo tamanho.

OS QUATRO NÍVEIS DE CORREÇÃO
Nível Capacidade aproximada de correção Efeito
Lcerca de 7%Mais capacidade para dados, menor redundância
Mcerca de 15%Equilíbrio comum entre dados e correção
Qcerca de 25%Mais tolerância a danos
Hcerca de 30%Maior redundância entre os níveis padrão

Esses percentuais não significam que se pode apagar livremente 30% da superfície de um código de nível H.

A DENSO WAVE descreve capacidade aproximada de restauração de palavras-código. A geometria real do dano interfere.

Um rasgo distribuído em módulos de dados pode ser recuperável. Um dano menor exatamente sobre elementos necessários para detectar orientação pode tornar o símbolo ilegível.

É por isso que logotipos no centro de alguns QR Codes funcionam.

O gerador normalmente escolhe um nível de correção adequado e o logotipo é posicionado numa região planejada, sem destruir componentes indispensáveis.

Não significa que qualquer QR Code possa receber qualquer imagem por cima.

Quais danos fazem a leitura falhar mesmo quando o código parece quase inteiro

Contraste insuficiente é uma causa comum.

QR Codes coloridos podem funcionar, desde que exista diferença de luminosidade suficiente entre módulos e fundo. Combinações esteticamente atraentes podem se tornar difíceis de interpretar pela câmera.

Reflexo também prejudica. Um código impresso em superfície brilhante pode ficar parcialmente invisível para a câmera sob determinada iluminação.

Baixa resolução distorce módulos. Impressão pequena demais ou compressão agressiva pode fundir áreas que deveriam estar separadas.

Distorção extrema de perspectiva, sujeira e dobras também interferem.

A zona branca ao redor merece atenção. Quando textos, desenhos ou bordas encostam demais no símbolo, o leitor pode ter dificuldade para identificar seus limites.

Em pagamentos, ingressos, documentos ou autenticação, não é recomendável testar deliberadamente os limites de dano ou alterar o símbolo.

Um QR Code de pagamento pode conter informações sensíveis para a transação, e modificar o desenho pode produzir falha ou risco de direcionamento inadequado se outro código for sobreposto.

LEITURA INFOALFA

A resistência do QR Code é matemática e estrutural. O símbolo inclui redundância para sobreviver a determinados erros, mas essa tolerância possui limites. Dizer que um código “aguenta 30% destruído” simplifica demais o mecanismo porque quantidade, posição do dano e preservação dos padrões de localização fazem diferença.

Fontes consultadas