Patrón de máscara

También se llama: máscara de datos, enmascarado, mask pattern

Definición

Un patrón de máscara es uno de ocho patrones fijos que se aplican con XOR sobre el área de datos de un código QR para romper bloques grandes y formas engañosas. El codificador elige la máscara que puntúa mejor según cuatro reglas de penalización.

Qué hace el enmascarado

Una vez colocados los bits de datos y de corrección de errores, algunas zonas pueden acabar con largas tiras de un mismo color o con formas que parecen patrones de posición. El enmascarado lo arregla invirtiendo módulos allí donde se cumple una fórmula sencilla, lo que reparte el oscuro y el claro de forma más uniforme.

La máscara se aplica solo al área de datos y de corrección de errores. Los patrones de posición, de sincronización y de alineación, la información de formato y de versión y el módulo oscuro nunca se enmascaran.

Las ocho máscaras

Las máscaras se numeran de 000 a 111. Cada una se define por una condición sobre la fila i y la columna j de un módulo; donde se cumple la condición, ese módulo se invierte. El lector conoce el número de máscara por la información de formato y vuelve a aplicar la misma máscara para deshacerla.

  • 000: (i + j) mod 2 = 0, un tablero de ajedrez
  • 001: i mod 2 = 0, filas alternas
  • 010: j mod 3 = 0, una de cada tres columnas
  • 011: (i + j) mod 3 = 0, rayas diagonales
  • 100 a 111: combinaciones más complejas de filas, columnas y productos

Cómo se elige la mejor máscara

El codificador prueba las ocho máscaras y puntúa cada resultado con cuatro reglas de penalización. Se usa la máscara con la penalización total más baja, lo que hace que el código terminado sea más fácil de leer para las cámaras.

Algunos generadores se saltan la evaluación completa y usan una máscara fija, lo que sigue produciendo un código válido pero quizá algo más difícil de escanear. Los códigos Micro QR usan un conjunto menor de cuatro máscaras con su propia regla de puntuación.

  • Regla 1: tiras largas del mismo color en una fila o columna
  • Regla 2: bloques de 2 × 2 de un mismo color
  • Regla 3: patrones que se parecen a la proporción 1:1:3:1:1 de los patrones de posición
  • Regla 4: desequilibrio general entre módulos oscuros y claros

Preguntas frecuentes

¿Por qué dos códigos QR con el mismo contenido se ven distintos?

Pueden usar patrones de máscara, niveles de corrección de errores o versiones diferentes. Cualquiera de estos cambios altera la disposición de los módulos mientras el contenido decodificado es idéntico.

¿Cuántos patrones de máscara tiene un código QR?

El estándar define ocho, numerados de 000 a 111. El elegido se registra en la información de formato para que el escáner pueda quitarlo.

Fuentes y estándares

Todos los términos