Como os QR Codes funcionam

Também chamado de: codificação de QR Code, decodificação de QR Code, como funciona o QR Code

Definição

O QR Code funciona transformando dados em palavras-código, acrescentando correção de erros Reed–Solomon e distribuindo os bits numa grade ao redor de padrões fixos que ajudam a câmera a encontrar, endireitar e ler o código.

Dos dados ao padrão

Criar um QR Code começa pela escolha de um modo de codificação adequado aos dados: numérico, alfanumérico, byte ou kanji. O codificador converte os dados em bits, divide-os em palavras-código de 8 bits e acrescenta palavras-código de correção de erros Reed–Solomon no nível escolhido. Em seguida, escolhe a menor versão em que tudo cabe.

As palavras-código são dispostas na grade num caminho em zigue-zague que evita os padrões fixos. Por fim, o codificador aplica uma das oito máscaras para quebrar grandes áreas em branco ou formas confusas, e registra a máscara e o nível de correção de erros na informação de formato.

  • Escolher o modo de codificação
  • Codificar os dados e acrescentar as palavras-código de correção de erros
  • Escolher a versão (tamanho)
  • Posicionar os padrões de localização, sincronização e alinhamento
  • Preencher os módulos de dados
  • Aplicar a melhor das oito máscaras e gravar a informação de formato

Da imagem da câmera aos dados

A decodificação faz os mesmos passos no sentido inverso. O leitor encontra os três padrões de localização, cuja proporção 1:1:3:1:1 entre escuro e claro se destaca na maioria das imagens, e os usa junto com os padrões de sincronização e alinhamento para mapear a grade. Ele lê a informação de formato, remove a máscara e coleta as palavras-código.

A decodificação Reed–Solomon então repara as palavras-código lidas errado, até o limite do nível de correção de erros. Se o dano for grande demais, o código simplesmente não é lido, em vez de devolver dados errados, e é por isso que os QR Codes raramente produzem resultados embaralhados.

Por que tamanho e contraste importam

Cada etapa depende de a câmera distinguir os módulos escuros dos claros. Módulos pequenos, pouco contraste, reflexo, desfoque ou falta de zona de silêncio deixam mais módulos em dúvida, e a correção de erros só consegue absorver até certo ponto. Manter os dados curtos, o contraste forte e a margem livre deixa o trabalho do decodificador o mais fácil possível.

Perguntas frequentes

Como o celular sabe onde está o QR Code?

Ele procura os três grandes padrões de localização quadrados nos cantos. A proporção característica 1:1:3:1:1 permite que o leitor os encontre em qualquer ângulo e descubra a orientação.

Por que os QR Codes têm um padrão de máscara?

A máscara inverte módulos segundo um padrão definido, para que o código evite grandes áreas cheias e formas parecidas com padrões de localização. O codificador testa as oito máscaras e fica com a que oferece a leitura mais confiável.

Um QR Code pode ser lido de cabeça para baixo?

Sim. Os padrões de localização informam a orientação ao leitor, então o QR Code pode ser lido em qualquer rotação.

Fontes e normas

Todos os termos