Cómo funcionan los códigos QR

También se llama: codificación de códigos QR, decodificación de códigos QR, cómo funciona un código QR

Definición

Un código QR funciona convirtiendo los datos en palabras de código, añadiendo corrección de errores Reed-Solomon y colocando los bits en una cuadrícula alrededor de patrones fijos que ayudan a la cámara a encontrarlo, enderezarlo y leerlo.

De los datos al patrón

Crear un código QR empieza por elegir un modo de codificación adecuado para los datos: numérico, alfanumérico, de bytes o kanji. El codificador convierte los datos en bits, los divide en palabras de código de 8 bits y añade palabras de código de corrección de errores Reed-Solomon al nivel elegido. Después escoge la versión más pequeña en la que caben.

Las palabras de código se colocan en la cuadrícula siguiendo un recorrido en zigzag que salta los patrones fijos. Por último, el codificador aplica una de ocho máscaras para romper las zonas en blanco grandes o las formas que pueden confundir, y anota la máscara y el nivel de corrección de errores en la información de formato.

  • Elegir el modo de codificación
  • Codificar los datos y añadir las palabras de código de corrección de errores
  • Elegir la versión (el tamaño)
  • Colocar los patrones de posición, de sincronización y de alineación
  • Rellenar los módulos de datos
  • Aplicar la mejor de las ocho máscaras y escribir la información de formato

De la imagen de la cámara a los datos

La decodificación recorre los mismos pasos a la inversa. El escáner encuentra los tres patrones de posición, cuya proporción 1:1:3:1:1 de oscuro y claro destaca en casi cualquier imagen, y los usa junto con los patrones de sincronización y de alineación para trazar la cuadrícula. Lee la información de formato, quita la máscara y recoge las palabras de código.

Después, la decodificación Reed-Solomon repara las palabras de código mal leídas, hasta el límite del nivel de corrección de errores. Si hay demasiado daño, el código no se lee, en lugar de devolver datos incorrectos, y por eso los códigos QR rara vez dan resultados ininteligibles.

Por qué importan el tamaño y el contraste

Cada paso depende de que la cámara distinga los módulos oscuros de los claros. Los módulos pequeños, el poco contraste, los reflejos, el desenfoque o la falta de zona de silencio dejan más módulos en duda, y la corrección de errores solo puede absorber hasta cierto punto. Mantener los datos cortos, el contraste fuerte y el margen despejado le pone las cosas fáciles al decodificador.

Preguntas frecuentes

¿Cómo sabe un móvil dónde está el código QR?

Busca los tres patrones de posición, los cuadrados grandes de las esquinas. Su proporción característica 1:1:3:1:1 permite al escáner encontrarlos desde cualquier ángulo y deducir la orientación.

¿Por qué tienen máscara los códigos QR?

La máscara invierte módulos siguiendo un patrón fijo para que el código evite las zonas sólidas grandes y las formas que se parecen a los patrones de posición. El codificador prueba las ocho máscaras y se queda con la que se lee con más fiabilidad.

¿Se puede leer un código QR al revés?

Sí. Los patrones de posición indican al escáner la orientación, así que un código QR se puede leer con cualquier giro.

Fuentes y estándares

Todos los términos