RunToolz iconRunToolz
Welcome to RunToolz!
Código QRTécnicoAnálisis profundo

Correccion de errores en QR: por que los codigos danados siguen funcionando

Como los codigos QR sobreviven a rayaduras, logos y suciedad. Analisis profundo de los niveles de correccion L, M, Q y H.

RunToolz Team14 de enero de 20264 min read

Has visto codigos QR con el logo de una empresa plantado justo en el medio. Parte del codigo esta literalmente cubierta. Y sin embargo, cuando lo escaneas, funciona perfectamente.

No es suerte. Es la correccion de errores haciendo su trabajo.

Como los codigos QR manejan el dano

Los codigos QR usan correccion de errores Reed-Solomon, las mismas matematicas usadas en CDs, DVDs y comunicaciones espaciales. La idea: almacenar datos redundantes adicionales para que el mensaje original pueda reconstruirse incluso si partes faltan o estan danadas.

Cuando se genera un codigo QR, los datos se codifican junto con palabras de codigo de correccion de errores. Estas palabras de codigo contienen suficiente informacion para recuperar los datos originales incluso cuando una porcion del codigo es ilegible.

Los cuatro niveles de correccion de errores

Cada codigo QR usa uno de cuatro niveles de correccion de errores:

| Nivel | Capacidad de recuperacion | Mejor para | |-------|--------------------------|------------| | L (Bajo) | ~7% de dano | Pantallas digitales, ambientes limpios | | M (Medio) | ~15% de dano | Uso general, opcion predeterminada | | Q (Cuartil) | ~25% de dano | Material impreso, desgaste moderado | | H (Alto) | ~30% de dano | Ambientes hostiles, logos superpuestos |

"Dano" aqui significa el porcentaje de palabras de codigo que pueden ser ilegibles mientras el codigo sigue escaneandose con exito.

¿Quieres probarlo tú mismo?Generar codigos QR

El compromiso: correccion vs tamano

Mas correccion de errores significa mas datos redundantes. Mas datos significa un codigo QR mas complejo (mas grande). En la practica se ve asi:

Para el mismo contenido, un codigo QR con correccion nivel H tendra notablemente mas modulos (los cuadraditos) que uno con nivel L. El codigo se vuelve mas denso y mas dificil de escanear a distancia.

Nivel L: El codigo QR mas pequeno y simple. Mas facil de escanear de lejos. Menor proteccion.

Nivel M: Buen equilibrio. Predeterminado en la mayoria de generadores. Maneja el desgaste tipico.

Nivel Q: Significativamente mas denso. Bueno para materiales impresos que podrian doblarse, mancharse o cubrirse parcialmente.

Nivel H: Densidad maxima. Sobrevive a danos serios. Necesario si quieres poner un logo en el centro.

Por que los logos en los codigos QR funcionan

Cuando colocas un logo en el centro de un codigo QR, efectivamente estas "danando" el codigo -- haciendo esos modulos ilegibles. El algoritmo de correccion de errores trata el logo como datos danados y reconstruye la informacion faltante a partir de los modulos restantes.

Esto solo funciona de manera confiable con correccion nivel H (a veces Q). Con nivel L, cubrir incluso el 8% del codigo podria hacerlo inescaneable.

Algunas pautas para la colocacion del logo:

  • Usar correccion de errores nivel H
  • Mantener el logo en aproximadamente 15-20% del area del codigo QR
  • Centrar el logo (los codigos QR tienen patrones de posicionamiento importantes en las esquinas)
  • Usar un logo simple y de alto contraste
  • Siempre probar el codigo final con multiples escaneadores

Que nivel deberias usar?

Pantallas digitales (sitios web, apps, pantallas): Nivel L o M. El codigo no sufrira dano fisico, y los codigos mas pequenos son mas faciles de escanear.

Tarjetas de visita y folletos: Nivel M. Proteccion estandar contra desgaste menor.

Empaques de productos: Nivel Q. Los productos se manipulan, rayan y exponen a los elementos.

Carteles exteriores y ambientes hostiles: Nivel H. Maxima resistencia contra clima, suciedad y dano fisico.

Codigos QR con logos: Nivel H. Sin dudarlo. Necesitas la redundancia adicional para compensar el area cubierta.

La zona de silencio tambien importa

La correccion de errores maneja el dano al codigo mismo, pero los codigos QR tambien necesitan una "zona de silencio" -- un margen en blanco alrededor del codigo. Sin ella, los escaneadores no pueden encontrar donde empieza y termina el codigo.

El estandar requiere una zona de silencio de 4 modulos de ancho. Omitirla es la razon mas comun por la que los codigos QR fallan, y ninguna cantidad de correccion de errores puede arreglarlo.

¿Quieres probarlo tú mismo?Generar codigos de barras

La correccion de errores es lo que hace que los codigos QR sean practicos en el mundo real. Elige el nivel correcto para tu caso -- nivel M para la mayoria de situaciones, nivel H cuando necesites logos o maxima durabilidad -- y siempre prueba con escaneadores reales antes de imprimir.