Back

Os códigos QR podem sobreviver a 30% de danos? (Códigos Reed-Solomon)

Os códigos QR estão em toda parte em nossas vidas diárias, usados para pagamentos, check-ins e compartilhamento de informações.

Você já notou que um smartphone ainda pode escanear um código QR mesmo que parte dele esteja rasgada ou rabiscada?

Isso ocorre porque os códigos QR têm Correção de Erros integrada. Eles podem recuperar dados mesmo se até 30% do código estiver danificado.

1. Estrutura de um Código QR

Um código QR não é apenas uma dispersão aleatória de pontos pretos e brancos.

  • Padrões de Localização: Os três quadrados grandes nos cantos. Eles ajudam a câmera a detectar a posição e a orientação do código.
  • Padrões de Temporização: Pontos pretos e brancos alternados conectando os padrões de localização. Eles definem o sistema de coordenadas.
  • Região de Dados: Onde a informação real é armazenada.
  • Região do Código de Correção de Erros: Onde as informações necessárias para recuperar dados danificados são armazenadas.

2. Níveis de Correção de Erros

Ao gerar um código QR, você pode escolher um dos quatro níveis de correção de erros.

  1. Nível L (Baixo): Recupera ~7% de dano. (Maior capacidade de dados)
  2. Nível M (Médio): Recupera ~15% de dano. (Mais comumente usado)
  3. Nível Q (Quartil): Recupera ~25% de dano.
  4. Nível H (Alto): Recupera ~30% de dano.

Níveis de correção mais altos exigem mais palavras-código de correção de erros, o que aumenta o tamanho do código QR ou reduz a quantidade de dados que ele pode conter.

Códigos QR de design com logotipos no centro utilizam o Nível H, tratando a área coberta pelo logotipo como "dados danificados" e recuperando-a.

3. Códigos Reed-Solomon

O núcleo dessa capacidade mágica de recuperação é o algoritmo Reed-Solomon.

Também usado em CDs, DVDs, discos rígidos e comunicação espacial, esse algoritmo adiciona redundância matemática aos dados. Isso permite que os valores originais sejam calculados a partir das informações restantes, mesmo que algumas partes sejam perdidas.

É semelhante em princípio a resolver um sistema de equações lineares: se você tiver equações suficientes, poderá encontrar as variáveis desconhecidas.

Conclusão

Um código QR não é apenas um código de barras; é uma tecnologia repleta de algoritmos matemáticos avançados.

Na próxima vez que você escanear um código QR, reserve um momento para apreciar a robustez matemática escondida dentro desses pequenos quadrados.

TechQR CodeAlgorithmData

Explore ferramentas relacionadas

Experimente estas ferramentas gratuitas do Pockit