Resumen

  • Los códigos QR son una evolución de los códigos de barras, que contienen más datos y tienen su origen en la fabricación de automóviles japonesa.
  • Los códigos QR utilizan tecnología más avanzada que los códigos de barras tradicionales y se leen mediante algoritmos de visión artificial.
  • Los códigos QR pueden almacenar diversos datos más allá de las URL y evolucionan para diferentes aplicaciones con las mejoras de los teléfonos inteligentes.

Los códigos QR han triunfado. Se utilizan para todo, desde entradas de cine hasta fiestas clandestinas. Si necesitas compartir un enlace, descargar una aplicación o incluso validar el estado de salud de alguien, puedes utilizar un código QR. Pero, ¿cómo funciona esta tecnología? ¿Te sorprendería saber que existe desde los años 90? Analizaremos cómo funcionan exactamente los códigos QR, por qué han mejorado tanto en los dispositivos modernos y cómo estos pequeños y divertidos cuadrados llegaron a convertirse en un elemento básico de nuestra vida cotidiana.

Los códigos QR son simplemente códigos de barras elegantes

Tienen raíces en la fabricación de automóviles japonesa.

Los códigos QR son, fundamentalmente, una evolución de los códigos de barras. Los códigos de barras unidimensionales almacenan un volumen de datos mediante la disposición de una serie de líneas a distintas distancias, que pueden leerse con luz e interpretarse como datos. Estoy seguro de que has visto códigos de barras comunes en todas partes, pero hay una cantidad significativa de estándares alternativos y en competencia. Probablemente reconocerás algunas de las pequeñas diferencias entre ellos, que varían en tamaño, detalles del estándar y cuántas líneas hay. Los códigos de barras unidimensionales no almacenan muchos datos, por lo que normalmente solo representan un número, que a menudo es el código de producto del artículo al que están adheridos.

La galería de arriba contiene algunos otros estándares de códigos de barras, en orden: UPC, Code128, PDF417, un código Aztec y una matriz de datos.

Relacionado
Microsoft pone coto al spam de códigos QR de Copilot en la pantalla de bloqueo de Windows 11

La última y controvertida estrategia promocional de Microsoft implicó insertar códigos QR para Copilot en la pantalla de bloqueo de Windows 11.

Un código de barras 2D es exactamente lo que parece: un código de barras 1D con una segunda dimensión añadida. En lugar de codificar los datos en una única fila de líneas, los codifican en dos dimensiones. Esto aumenta enormemente la cantidad de bits de datos que se pueden almacenar. Si un código de barras 1D puede almacenar n bits, un código de barras 2D puede almacenar n^2. Los códigos QR no son más que un tipo específico de código de barras 2D, con algunas características adicionales.

Los primeros códigos QR fueron diseñados para su uso en líneas de producción.

Los códigos QR se inventaron originalmente para la industria automotriz en Japón, a medida que las líneas de producción se automatizaban cada vez más. Los códigos QR permitían almacenar más datos que un código de barras normal, así como una mayor verificación de errores. Se utilizaban para etiquetar piezas a medida que avanzaban por la línea de producción.

Los códigos QR normalmente se escanean de forma diferente

Si bien los códigos QR tienen su origen en los códigos de barras, normalmente no se escanean de la misma manera. Mientras que un escáner de códigos de barras se basa en un haz de luz óptico que escanea cada barra individualmente, los códigos QR normalmente utilizan una tecnología de visión artificial mucho más rápida y sofisticada. Es posible escanear códigos QR de la misma manera que los códigos de barras, pero ahora es poco común, ya que la tecnología de visión artificial ha mejorado significativamente.

Los códigos QR necesitan algunas características adicionales

¿Cuadrados en cuadrados, en cuadrados?

Imagen que muestra la estructura de los códigos QR.
Fuente: Wikimedia Commons

Al pasar de un código de barras 1D a uno 2D, necesitamos algunas características adicionales. La más obvia de ellas son los grandes cuadrados de orientación en cada código QR, conocidos comopatrones de detección de posición. Estos cuadrados son utilizados por el software para localizar inicialmente el código QR. Menos visible es un cuadrado más pequeño en la esquina que no presenta un cuadrado grande, que se utiliza para garantizar que la orientación del código QR sea correcta y se conoce comopatrón de alineación.

También hay algunas líneas alternas entre cada uno de los patrones de detección de posición, que se conocen comopatrones de tiempo, así como un área de espacio en blanco estándar (conocida comozona tranquila) alrededor de los bordes del código QR, que ayuda a la identificación (aunque muchos códigos QR omiten esto).

La combinación de estos patrones de detección de posición y alineación hace que el código QR sea localizado rápida y fácilmente por algoritmos de visión artificial.

Bits de formato y versión

Una vez que se ha localizado y orientado el código QR, se puede leer la información de la versión del código QR. Esta información se almacena en cuadrados específicos en una ubicación designada y denota el tamaño del código QR que estamos viendo.

Una vez identificada la versión y el tamaño del código QR y orientado correctamente, se puede leer el formato de mercado del código QR. Hay dos copias únicas de este, y contiene información sobre el nivel de corrección de errores y los bits del patrón de máscara. El nivel de corrección de errores es uno de los cuatro valores representados por dos bits en el código QR (es decir, dos cuadrados diminutos individuales), que codifican uno de los valoresbajo,medio,cuartiloalto, que permiten destruir el 7%, 15%, 25% o 30% respectivamente del código QR total y aún así recuperar los datos.

Los códigos QR utilizan un algoritmo de corrección de errores llamado Reed-Solomon. No vamos a explicar cómo funciona (para que este artículo no se convierta en una lección de informática), pero es muy eficaz y se utiliza en todo, desde DVD hasta RAID6. Reed-Solomon permite la reconstrucción parcial o solo la detección de errores, según la cantidad de datos dañados.

Una vez identificada toda esta información, podemos comenzar a leer los bits de datos.

Lectura de códigos QR

Decodificar códigos QR a mano es difícil, pero no imposible

Diagrama que muestra cómo se leen los códigos QR.
Fuente: Wikimedia Commons

El área de datos del código QR se lee desde la esquina inferior derecha, con el código QR orientado con el patrón de alineación en la esquina inferior derecha. El tamaño del área de datos varía, y algunas codificaciones tienen varios miles de caracteres. Comenzando desde la esquina inferior, el código QR lee cuadrados individuales (o píxeles) en bloques de 8. A qué corresponde cada patrón depende de la configuración de codificación del código QR, pero comúnmente representan caracteres ASCII (es decir, alfanuméricos). La longitud del código y el modo de codificación normalmente aparecen primero, seguidos por el bloque de datos, seguido nuevamente por los datos utilizados para la verificación de errores.

El código QR se lee siguiendo un patrón sinuoso desde la parte inferior derecha hasta la parte superior izquierda, un bloque de 8 píxeles a la vez. Estos datos se extraen, se ordenan y luego se decodifican para recuperar la cadena original.

Los códigos QR a menudo contienen URL

La redirección de URL se puede utilizar para abrir una aplicación con un código QRUna imagen de una aplicación con un código QR.

El uso más común de los códigos QR es, con diferencia, el de almacenar direcciones URL. Tu dispositivo puede gestionar estas direcciones URL de diversas formas, desde abrir una página web en unnavegadorhasta iniciar un correo electrónico. Las direcciones URL se pueden utilizar para la redirección de direcciones URL, una técnica en la que tu dispositivo interpreta que una página web está abriendo una aplicación y, a continuación, esta le pasa metadatos. Es probable que esto sea lo que hayas utilizado si has escaneado un código QR que se ha abierto en un sitio web antes de abrir una aplicación con algunos metadatos o contexto.

Pero no siempre...

Los códigos QR tienen muchos otros usos además de las URL. La mayoría delos teléfonos inteligentespueden abrir un enlace en una URL utilizando su aplicación de cámara predeterminada, pero otras aplicaciones con acceso a la cámara pueden utilizar los códigos QR para todo tipo de propósitos. Esto puede ser desde geocaching hasta la generación de monstruos de realidad aumentada en 3D. La velocidad y la facilidad de uso de los códigos QR para aplicaciones alternativas han mejorado junto conlas cámaras de los teléfonos inteligentesy la potencia de procesamiento general.

Su dispositivo decide cómo interpretar los datos

La mejor manera de entender los códigos QR es mantenerlos simples. Un código QR es solo un mensaje. Representa una cadena de caracteres de una longitud que va desde muy corta hasta más de 4000 caracteres. La decodificación del código QR no tiene ningún efecto en sí misma: lo que sucede a continuación lo decide la aplicación o el usuario que lo decodifica. Diferentes aplicaciones pueden usar códigos QR para una variedad de propósitos. Los boletos a menudo contienen un UUID (identificador único universal) que representa su boleto, y muchos sistemas de salud o pases de vacunación COVID usan sistemas similares. El estándar del código QR en sí no cambia, solo su aplicación e interpretación.

Códigos QR gráficos

¿Alguna vez te preguntaste cómo algunas personas obtienen logotipos en sus códigos QR?Un código QR con un logotipo Scan Me en el medio.

Una de las rarezas de los códigos QR que quizás hayas visto son los códigos que tienen un logotipo, texto o imagen en el medio. ¿Cómo funcionan?

Dejar una imagen en medio de un código QR no es compatible con el estándar para códigos QR, sino que depende de la comprobación de errores. La imagen ocupa la ubicación donde deberían estar los datos, lo que daña el código QR. Estas imágenes suelen tener una configuración de corrección de errores alta y dependen de que el intérprete de imágenes decodifique el valor a partir de los bits de corrección de errores, en lugar de hacerlo a partir del área en la que se supone que se almacenan los datos.

Si bien esto es más agradable estéticamente (y bueno para la marca), deja a estos códigos QR más vulnerables a daños, lo que reduce el área del código QR que posiblemente pueda dañarse antes de que el código se vuelva ilegible.

Los códigos QR llegaron para quedarse

Una cosa es clara sobre los códigos QR: llegaron para quedarse. Muchos profetizaron la muerte de los códigos QR en favor de tecnologías más llamativas como NFC. Pero los códigos QR se pueden proyectar prácticamente en cualquier lugar, en edificios o en cualquier tipo de área de exhibición, lo que permite que cientos o miles de personas los escaneen a la vez. Este atractivo para el mercado masivo y la adopción casi universal por parte de los proveedores de teléfonos inteligentes han convertido a los códigos QR en una tecnología increíblemente poderosa, y una que ciertamente llegó para quedarse.