Un código QR ( código de respuesta rápida ) [1] es un tipo de código de barras matricial bidimensional , inventado en 1994 por la empresa japonesa Denso Wave para etiquetar piezas de automóviles. [2] [3] Presenta cuadrados negros sobre un fondo blanco con marcadores fiduciales , legibles por dispositivos de imágenes como cámaras y procesados mediante corrección de errores Reed-Solomon hasta que la imagen pueda interpretarse adecuadamente. Luego, los datos necesarios se extraen de los patrones que están presentes tanto en los componentes horizontales como verticales de la imagen QR. [4]
Mientras que un código de barras es una imagen óptica legible por máquina que contiene información específica del artículo etiquetado, el código QR contiene los datos para un localizador, un identificador y un seguimiento web. Para almacenar datos de manera eficiente, los códigos QR utilizan cuatro modos estandarizados de codificación: (i) numérico , (ii) alfanumérico , (iii) byte o binario y (iv) kanji . [5] En comparación con los códigos de barras UPC estándar , el sistema de etiquetado QR se aplicó más allá de la industria automotriz debido a la lectura más rápida de la imagen óptica y una mayor capacidad de almacenamiento de datos en aplicaciones como el seguimiento de productos, la identificación de artículos, el seguimiento del tiempo, la gestión de documentos y el marketing general. [4]
Esta sección necesita ser ampliada . Puedes ayudar agregándole algo. ( Octubre 2021 ) |
El sistema de código QR fue inventado en 1994, en la empresa de productos automotrices Denso Wave , en Japón. [6] [7] [8] El diseño inicial de cuadrados alternos presentado por el equipo de investigadores, encabezado por Masahiro Hara , estaba influenciado por las fichas negras y las fichas blancas que se jugaban en un tablero de Go ; [9] el patrón de los marcadores de detección de posición se determinó al encontrar la secuencia menos utilizada de áreas negras y blancas alternadas en material impreso, que resultó ser (1:1:3:1:1). [10] [6] El propósito funcional del sistema de código QR era facilitar el seguimiento de los tipos y números de piezas de automóviles, al reemplazar las etiquetas de código de barras escaneadas individualmente en cada caja de piezas de automóvil con una sola etiqueta que contenía los datos de cada etiqueta. La configuración cuadrangular del sistema de código QR consolidó los datos de las diversas etiquetas de código de barras con códigos Kanji, Kana y alfanuméricos impresos en una sola etiqueta. [11] [10] [6]
A partir de 2024, [actualizar]los códigos QR se utilizan en un contexto mucho más amplio, que incluye tanto aplicaciones de seguimiento comercial como aplicaciones orientadas a la comodidad dirigidas a los usuarios de teléfonos móviles (denominadas etiquetado móvil). Los códigos QR se pueden utilizar para mostrar texto al usuario, para abrir una página web en el dispositivo del usuario, para añadir un contacto vCard al dispositivo del usuario, para abrir un Identificador Uniforme de Recursos (URI), para conectarse a una red inalámbrica o para redactar un correo electrónico o un mensaje de texto. Hay una gran cantidad de generadores de códigos QR disponibles como software o como herramientas en línea que son gratuitas o requieren una suscripción paga. [12] El código QR se ha convertido en uno de los tipos de código bidimensional más utilizados. [13]
En junio de 2011, 14 millones de usuarios de teléfonos móviles estadounidenses escanearon un código QR o un código de barras. Alrededor del 58% de esos usuarios lo hicieron desde sus hogares, mientras que el 39% lo hicieron desde tiendas minoristas; el 53% de los 14 millones de usuarios eran hombres de entre 18 y 34 años. [14]
En 2022, 89 millones de personas en los Estados Unidos escanearon un código QR usando sus dispositivos móviles, un 26 por ciento más en comparación con 2020. La mayoría de los usuarios de códigos QR los usaron para realizar pagos o acceder a información sobre productos y menús . [15]
En septiembre de 2020, una encuesta reveló que el 18,8 por ciento de los consumidores de Estados Unidos y el Reino Unido estaban totalmente de acuerdo en que habían notado un aumento en el uso de códigos QR desde que las restricciones relacionadas con el COVID-19 , entonces activas , habían comenzado varios meses antes. [16]
Existen varios estándares que cubren la codificación de datos como códigos QR: [17]
En la capa de aplicación , existen algunas variaciones entre la mayoría de las implementaciones. La empresa japonesa NTT DoCoMo ha establecido estándares de facto para la codificación de URL, información de contacto y otros tipos de datos. [21] El proyecto de código abierto " ZXing " mantiene una lista de tipos de datos de códigos QR. [22]
Los códigos QR se han vuelto comunes en la publicidad para consumidores. Normalmente, se utiliza un teléfono inteligente como escáner de códigos QR, que muestra el código y lo convierte en algún formato útil (como una URL estándar para un sitio web, lo que evita que el usuario tenga que escribirlo en un navegador web ).
El código QR se ha convertido en un elemento central de la estrategia publicitaria, ya que proporciona una forma de acceder al sitio web de una marca más rápidamente que introduciendo manualmente una URL. [23] [24] Más allá de la mera comodidad para el consumidor, la importancia de esta capacidad es que aumenta la tasa de conversión : la posibilidad de que el contacto con el anuncio se convierta en una venta. Convence a los clientes potenciales interesados a seguir avanzando en el embudo de conversión con poco retraso o esfuerzo, llevando al espectador al sitio web del anunciante de inmediato, mientras que un discurso de venta más largo y más específico puede hacer que el espectador pierda el interés.
Aunque inicialmente se utilizaron para rastrear piezas en la fabricación de vehículos, los códigos QR se utilizan en una gama mucho más amplia de aplicaciones. Estas incluyen el seguimiento comercial, el control de existencias en almacenes, la emisión de billetes de entretenimiento y transporte, el marketing de productos y fidelización y el etiquetado de productos en tiendas. [ cita requerida ] Algunos ejemplos de marketing incluyen la captura del descuento y el porcentaje de descuento de una empresa mediante un decodificador de códigos QR que es una aplicación móvil, o el almacenamiento de información de una empresa, como la dirección y la información relacionada, junto con sus datos de texto alfanuméricos, como se puede ver en las páginas amarillas de la guía telefónica . [ cita requerida ]
También se pueden utilizar para almacenar información personal de organizaciones. Un ejemplo de esto es la Oficina Nacional de Investigaciones de Filipinas (NBI), donde las autorizaciones de la NBI ahora vienen con un código QR. Muchas de estas aplicaciones están dirigidas a usuarios de teléfonos móviles (a través del etiquetado móvil ). Los usuarios pueden recibir mensajes de texto, agregar un contacto vCard a su dispositivo, abrir una URL o redactar un correo electrónico o un mensaje de texto después de escanear códigos QR. Pueden generar e imprimir sus propios códigos QR para que otros los escaneen y usen visitando uno de los varios sitios o aplicaciones de generación de códigos QR gratuitos o de pago. Google tenía una API , ahora obsoleta, para generar códigos QR, [25] y se pueden encontrar aplicaciones para escanear códigos QR en casi todos los dispositivos inteligentes. [26]
Los códigos QR que almacenan direcciones y URL pueden aparecer en revistas, carteles, autobuses, tarjetas de visita o prácticamente cualquier objeto sobre el que los usuarios quieran obtener información. Los usuarios con un teléfono con cámara equipado con la aplicación de lectura adecuada pueden escanear la imagen del código QR para mostrar texto e información de contacto, conectarse a una red inalámbrica o abrir una página web en el navegador del teléfono. Este acto de vincular objetos del mundo físico se denomina enlace duro o hipervínculo de objetos . Los códigos QR también pueden vincularse a una ubicación para rastrear dónde se ha escaneado un código. La aplicación que escanea el código QR recupera la información geográfica mediante GPS y triangulación de torres de telefonía móvil (aGPS) o la URL codificada en el propio código QR se asocia a una ubicación. En 2008, un albañil japonés anunció planes para grabar códigos QR en lápidas, lo que permite a los visitantes ver información sobre el fallecido y a los familiares realizar un seguimiento de las visitas. [28] El psicólogo Richard Wiseman fue uno de los primeros autores en incluir códigos QR en un libro, en Paranormality: Why We See What Isn't There (2011). [29] [ verificación fallida ] Microsoft Office y LibreOffice tienen una funcionalidad para insertar códigos QR en documentos. [30] [31]
Los códigos QR se han incorporado a la moneda. En junio de 2011, la Real Casa de la Moneda de los Países Bajos ( Koninklijke Nederlandse Munt ) emitió la primera moneda oficial del mundo con un código QR para celebrar el centenario de su edificio y sus instalaciones actuales. La moneda se puede escanear con un teléfono inteligente y originalmente estaba vinculada a un sitio web especial con contenido sobre el evento histórico y el diseño de la moneda. [32] En 2014, el Banco Central de Nigeria emitió un billete de 100 nairas para conmemorar su centenario, el primer billete que incorpora un código QR en su diseño. Cuando se escanea con un dispositivo móvil con acceso a Internet, el código va a un sitio web que cuenta la historia del centenario de Nigeria. [33]
En 2015, el Banco Central de la Federación Rusa emitió un billete de 100 rublos para conmemorar la anexión de Crimea por la Federación Rusa . [34] Contiene un código QR en su diseño, y cuando se escanea con un dispositivo móvil con acceso a Internet, el código va a un sitio web que detalla los antecedentes históricos y técnicos del billete conmemorativo. En 2017, el Banco de Ghana emitió un billete de 5 cedis para conmemorar los 60 años de banca central en Ghana . Contiene un código QR en su diseño que, cuando se escanea con un dispositivo móvil con acceso a Internet, va al sitio web oficial del Banco de Ghana.
La funcionalidad de las tarjetas de crédito está en desarrollo. En septiembre de 2016, el Banco de la Reserva de la India (RBI) lanzó el código QR homónimo BharatQR , desarrollado conjuntamente por las cuatro principales empresas de pago con tarjeta: National Payments Corporation of India , que gestiona tarjetas RuPay junto con Mastercard , Visa y American Express . También tendrá la capacidad de aceptar pagos en la plataforma Unified Payments Interface (UPI). [35] [36]
Los códigos QR se utilizan en algunos sistemas de realidad aumentada para determinar las posiciones de los objetos en el espacio tridimensional. [11]
Los códigos QR se pueden utilizar en varios sistemas operativos de dispositivos móviles. Si bien inicialmente requerían la instalación y el uso de aplicaciones de terceros, tanto los dispositivos Android como iOS (desde iOS 11 [37] [38] ) ahora pueden escanear códigos QR de forma nativa, sin necesidad de utilizar una aplicación externa. [39] La aplicación de la cámara puede escanear y mostrar el tipo de código QR junto con el enlace. Estos dispositivos admiten la redirección de URL , que permite que los códigos QR envíen metadatos a las aplicaciones existentes en el dispositivo.
Los códigos QR se han utilizado para establecer "tiendas virtuales", donde se presenta al cliente una galería de información de productos y códigos QR, por ejemplo, en la pared de una estación de tren. Los clientes escanean los códigos QR y los productos se envían a sus hogares. Este uso comenzó en Corea del Sur [40] y Argentina [41] , pero actualmente se está expandiendo a nivel mundial [42 ]. Walmart, Procter & Gamble y Woolworths ya han adoptado el concepto de tienda virtual [43] .
Los códigos QR se pueden utilizar para almacenar información de cuentas bancarias o de tarjetas de crédito, o se pueden diseñar específicamente para funcionar con aplicaciones de proveedores de pagos particulares. Existen varias aplicaciones de prueba de pagos con códigos QR en todo el mundo. [44] [45] En países en desarrollo, como China, [46] [47] India [48], el pago con códigos QR es un método muy popular y conveniente para realizar pagos. Desde que Alipay diseñó un método de pago con códigos QR en 2011, [49] el pago móvil se ha adoptado rápidamente en China. A partir de 2018, alrededor del 83% de todos los pagos se realizaron mediante pagos móviles. [50]
En noviembre de 2012, los pagos con código QR se implementaron a mayor escala en la República Checa cuando se introdujo un formato abierto para el intercambio de información de pago (un Descriptor Corto de Pago ) y la Asociación Bancaria Checa lo aprobó como la solución local oficial para los pagos con código QR. [51] [52] En 2013, el Consejo Europeo de Pagos proporcionó directrices para el código QR del EPC que permitía la iniciación del SCT dentro de la eurozona .
En 2017, Singapur creó un grupo de trabajo que incluía a organismos gubernamentales como la Autoridad Monetaria de Singapur y la Autoridad de Desarrollo de Medios de Información y Comunicación para impulsar un sistema de pagos electrónicos que utilizara especificaciones de códigos QR estandarizadas. Estas dimensiones específicas están especializadas para Singapur. [53]
El sistema de pago electrónico, Singapore Quick Response Code (SGQR), básicamente fusiona varios códigos QR en una etiqueta que puede ser utilizada por ambas partes en el sistema de pago. Esto permite que varias aplicaciones bancarias faciliten los pagos entre múltiples clientes y un comerciante que muestra un solo código QR. El sistema SGQR es propiedad conjunta de MAS e IMDA. [54] Una sola etiqueta SDQR contiene pagos electrónicos y combina múltiples opciones de pago. Las personas que realizan compras pueden escanear el código y ver qué opciones de pago acepta el comerciante. [54]
Los códigos QR se pueden utilizar para iniciar sesión en sitios web: se muestra un código QR en la página de inicio de sesión en la pantalla de una computadora y, cuando un usuario registrado lo escanea con un teléfono inteligente verificado, iniciará sesión automáticamente. La autenticación la realiza el teléfono inteligente, que se comunica con el servidor. Google implementó un esquema de inicio de sesión de este tipo en 2012. [55]
Existe un sistema mediante el cual se puede mostrar un código QR en un dispositivo como un teléfono inteligente y usarlo como boleto de entrada . [56] [57] Su uso es común para las entradas de la J1 League y la Nippon Professional Baseball en Japón. [58] [59] En algunos casos, los derechos se pueden transferir a través de Internet. En Letonia , los códigos QR se pueden escanear en el transporte público de Riga para validar los boletos electrónicos de Rīgas Satiksme . [60]
Los restaurantes pueden presentar un código QR cerca de la puerta de entrada o en la mesa que permita a los clientes ver un menú en línea, o incluso redirigirlos a un sitio web o aplicación de pedidos en línea, lo que les permite ordenar y/o posiblemente pagar su comida sin tener que usar un cajero o camarero. Los códigos QR también pueden vincularse a especiales diarios o semanales que no están impresos en los menús estandarizados, [61] y permiten al establecimiento actualizar el menú completo sin necesidad de imprimir copias. En los restaurantes con servicio de mesa, los códigos QR permiten a los clientes ordenar y pagar sus comidas sin la intervención de un camarero: el código QR contiene el número de mesa para que los camareros sepan dónde llevar la comida. [62] Esta aplicación ha crecido especialmente desde que la necesidad de distanciamiento social durante la pandemia de COVID-19 de 2020 provocó una reducción del contacto entre el personal de servicio y los clientes. [62]
Al especificar el SSID, el tipo de cifrado, la contraseña/frase de contraseña y si el SSID está oculto o no, los usuarios de dispositivos móviles pueden escanear y unirse rápidamente a redes sin tener que ingresar los datos manualmente. [63] Un formato similar a MeCard es compatible con Android e iOS 11+. [64]
WIFI:S:<SSID>;T:<WEP|WPA|nopass>;P:<PASSWORD>;H:<true|false|blank>;;
WIFI:S:MySSID;T:WPA;P:MyPassW0rd;;
Un código QR puede vincularse a un obituario y puede colocarse en una lápida . En 2008, Ishinokoe en la prefectura de Yamanashi, Japón, comenzó a vender lápidas con códigos QR producidos por IT DeSign, donde el código conduce a una tumba virtual del difunto. [65] [66] [67] Otras empresas, como Interactive Headstones, con sede en Wisconsin, también han comenzado a implementar códigos QR en lápidas. [68] En 2014, el Cementerio Judío de La Paz en Uruguay comenzó a implementar códigos QR para lápidas. [69]
Los códigos QR se pueden utilizar para generar contraseñas de un solo uso basadas en el tiempo para la autenticación electrónica .
Los códigos QR se han utilizado en varios establecimientos minoristas que tienen programas de fidelización . A veces, se accede a estos programas con una aplicación que se carga en un teléfono e incluye un proceso que se activa al escanear un código QR. Los códigos QR para programas de fidelización suelen encontrarse impresos en el recibo de una compra o en los propios productos. Los usuarios de estos programas obtienen puntos de premio al escanear un código.
Los códigos QR serializados han sido utilizados por marcas [70] y gobiernos [71] para permitir a los consumidores, minoristas y distribuidores verificar la autenticidad de los productos y ayudar a detectar productos falsificados, como parte de un programa de protección de marca . [72] Sin embargo, el nivel de seguridad de un código QR normal es limitado ya que los códigos QR impresos en productos originales se reproducen fácilmente en productos falsos, aunque el análisis de los datos generados como resultado del escaneo del código QR se puede utilizar para detectar falsificaciones y actividades ilícitas. [73] Se puede lograr un nivel de seguridad más alto incrustando una marca de agua digital o un patrón de detección de copias en la imagen del código QR. Esto hace que el código QR sea más seguro contra los intentos de falsificación; los productos que muestran un código que es falso, aunque válido como código QR, se pueden detectar escaneando el código QR seguro con la aplicación adecuada. [74]
El tratado que regula las apostillas (documentos que llevan un sello de autenticidad), ha sido actualizado para permitir la emisión de apostillas digitales por parte de los países; una apostilla digital es un documento PDF con una firma criptográfica que contiene un código QR para una URL canónica del documento original, permitiendo a los usuarios verificar la apostilla a partir de una versión impresa del documento.
Se han realizado diferentes estudios para evaluar la eficacia de los códigos QR como medio para transmitir información de etiquetado y su uso como parte de un sistema de trazabilidad de alimentos. En un experimento de campo, se encontró que cuando se les proporcionó acceso gratuito a un teléfono inteligente con una aplicación de escaneo de códigos QR, el 52,6% de los participantes lo usarían para acceder a la información de etiquetado. [75] Un estudio realizado en Corea del Sur mostró que los consumidores aprecian el código QR utilizado en el sistema de trazabilidad de alimentos, ya que proporciona información detallada sobre los alimentos, así como información que los ayuda en su decisión de compra. [76] Si los códigos QR están serializados, los consumidores pueden acceder a una página web que muestra la cadena de suministro de cada ingrediente, así como información específica de cada lote relacionado, incluidos los procesadores y fabricantes de carne, lo que ayuda a abordar las preocupaciones que tienen sobre el origen de sus alimentos. [77]
Después de que la pandemia de COVID-19 comenzó a propagarse, los códigos QR comenzaron a usarse como un sistema "sin contacto" para mostrar información, mostrar menús o proporcionar información actualizada al consumidor, especialmente en la industria hotelera. Los restaurantes reemplazaron los menús de papel o plástico laminado con calcomanías de códigos QR en la mesa, que abrían una versión en línea del menú. Esto evitó la necesidad de desechar menús de papel de un solo uso o instituir procedimientos de limpieza y desinfección para menús permanentes después de cada uso. [78] Las estaciones de televisión locales también han comenzado a utilizar códigos en los noticieros locales para permitir a los espectadores un acceso más rápido a historias o información relacionada con la pandemia, incluidos los sitios web de programación de pruebas e inmunización, o para enlaces dentro de las historias mencionadas en los noticieros en general.
En Australia , se exigió a los clientes que escanearan códigos QR en tiendas, clubes, supermercados y otros establecimientos de servicios y comercios minoristas al ingresar para facilitar el rastreo de contactos . Singapur, Taiwán , el Reino Unido y Nueva Zelanda utilizaron sistemas similares. [79]
Los códigos QR también están presentes en los certificados de vacunación contra la COVID-19 en lugares como Canadá y la UE ( certificado COVID digital de la UE ), donde se pueden escanear para verificar la información del certificado. [80]
A diferencia de los códigos de barras unidimensionales más antiguos, que se diseñaron para ser escaneados mecánicamente mediante un haz de luz estrecho, un código QR es detectado por un sensor de imagen digital bidimensional y luego analizado digitalmente por un procesador programado. El procesador ubica los tres cuadrados distintivos en las esquinas de la imagen del código QR, utilizando un cuadrado más pequeño (o varios cuadrados) cerca de la cuarta esquina para normalizar la imagen en cuanto a tamaño, orientación y ángulo de visión. Luego, los pequeños puntos que se encuentran en todo el código QR se convierten en números binarios y se validan con un algoritmo de corrección de errores.
La cantidad de datos que se pueden representar mediante un símbolo de código QR depende del tipo de datos ( modo o conjunto de caracteres de entrada), la versión (1, ..., 40, que indica las dimensiones generales del símbolo, es decir, 4 × número de versión + 17 puntos en cada lado) y el nivel de corrección de errores. Las capacidades máximas de almacenamiento se dan para la versión 40 y el nivel de corrección de errores L (bajo), denotado por 40-L: [13] [81]
Modo de entrada | Máximo de caracteres | Bits/carácter. | Caracteres posibles, codificación predeterminada |
---|---|---|---|
Sólo numérico | 7,089 | 3 1 ⁄ 3 | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Alfanumérico | 4.296 | 5 1 ⁄ 2 | 0–9, A–Z (solo mayúsculas), espacio, $, %, *, +, -, ., /, : |
Binario /byte | 2.953 | 8 | ISO/IEC 8859-1 |
Kanji / kana | 1.817 | 13 | Cambio JIS X 0208 |
A continuación se muestran algunos ejemplos de códigos QR:
Esta subsección puede resultar demasiado técnica para la mayoría de los lectores . ( Enero de 2024 ) |
Los códigos QR utilizan la corrección de errores Reed-Solomon sobre el campo finito o GF(2 8 ) , cuyos elementos se codifican como bytes de 8 bits ; el byte con un valor numérico estándar codifica el elemento del campo donde se toma como un elemento primitivo que satisface . El polinomio primitivo es , correspondiente al polinomio número 285, con raíz inicial = 0.
El código Reed-Solomon utiliza uno de 37 polinomios diferentes sobre , con grados que van desde 7 a 68, dependiendo de cuántos bytes de corrección de errores agregue el código. Se implica por la forma de Reed-Solomon utilizada ( vista sistemática de BCH ) que estos polinomios tienen todos la forma . Sin embargo, las reglas para seleccionar el grado son específicas del estándar QR.
Por ejemplo, el polinomio generador utilizado para el código QR de la versión 1 (21×21), cuando se utilizan 7 bytes de corrección de errores, es:
La potencia más alta de un polinomio (el grado , del polinomio) determina la cantidad de bytes de corrección de errores. En este caso, el grado es 7.
Al analizar la fase del código Reed-Solomon existe cierto riesgo de confusión, ya que el estándar QR ISO/IEC utiliza el término palabra de código para los elementos de , que con respecto al código Reed-Solomon son símbolos , mientras que utiliza el término bloque para lo que con respecto al código Reed-Solomon son las palabras de código. La cantidad de bytes de datos en función de la corrección de errores dentro de cada bloque depende de (i) la versión (longitud lateral) del símbolo QR y (ii) el nivel de corrección de errores, de los cuales hay cuatro. Cuanto mayor sea el nivel de corrección de errores, menor será la capacidad de almacenamiento. La siguiente tabla enumera la capacidad aproximada de corrección de errores en cada uno de los cuatro niveles:
Nivel L (Bajo) | Se puede restaurar el 7% de los bytes de datos. |
Nivel M (Medio) | Se puede restaurar el 15% de los bytes de datos. |
Nivel Q (Cuartil) [82] | Se puede restaurar el 25% de los bytes de datos. |
Nivel H (Alto) | Se puede restaurar el 30% de los bytes de datos. |
En los símbolos QR más grandes, el mensaje se divide en varios bloques de código Reed-Solomon. El tamaño de los bloques se elige de modo que no se intente corregir más de 15 errores por bloque; esto limita la complejidad del algoritmo de decodificación. Luego, los bloques de código se intercalan entre sí, lo que hace menos probable que un daño localizado en un símbolo QR supere la capacidad de un solo bloque.
El símbolo QR de la versión 1 con corrección de errores de nivel L, por ejemplo, consta de un único bloque de corrección de errores con un total de 26 bytes de código (compuesto por 19 bytes de mensaje y siete bytes de corrección de errores). Puede corregir hasta 2 bytes de error. Por lo tanto, este código se conoce como código de corrección de errores (26,19,2) sobre GF(2 8 ) .
Gracias a la corrección de errores, es posible crear códigos QR artísticos con adornos para hacerlos más legibles o atractivos para el ojo humano, e incorporar colores, logotipos y otras características en el bloque del código QR; los adornos se tratan como errores, pero los códigos aún se escanean correctamente. [83] [84]
También es posible diseñar códigos QR artísticos sin reducir la capacidad de corrección de errores manipulando las construcciones matemáticas subyacentes. [85] [86] Los algoritmos de procesamiento de imágenes también se utilizan para reducir errores en códigos QR. [87]
La información de formato registra dos cosas: el nivel de corrección de errores y el patrón de máscara utilizado para el símbolo. El enmascaramiento se utiliza para romper patrones en el área de datos que podrían confundir a un escáner, como grandes áreas en blanco o características engañosas que parecen marcas de localización. Los patrones de máscara se definen en una cuadrícula que se repite según sea necesario para cubrir todo el símbolo. Los módulos correspondientes a las áreas oscuras de la máscara se invierten. La información de formato de 5 bits está protegida de errores con un código BCH , y se incluyen dos copias completas en cada símbolo QR. [4] Se utiliza un código BCH de triple corrección de errores (15,5) sobre GF(2 4 ) , que tiene el polinomio generador . Puede corregir como máximo 3 errores de bit de los 5 bits de datos. Hay un total de 15 bits en este código BCH (se agregan 10 bits para la corrección de errores). Este código de 15 bits se combina mediante X-OR con un patrón de máscara fijo de 15 bits ( 101010000010010 ) para evitar una cadena de todos ceros.
El conjunto de datos del mensaje se coloca de derecha a izquierda en un patrón en zigzag, como se muestra a continuación. En símbolos más grandes, esto se complica por la presencia de patrones de alineación y el uso de múltiples bloques de corrección de errores intercalados.
La estructura general de una codificación QR es una secuencia de indicadores de 4 bits con una longitud de carga útil que depende del modo del indicador (por ejemplo, la longitud de carga útil de la codificación de bytes depende del primer byte). [88]
Indicador de modo | Descripción | Estructura típica '[tipo: tamaños en bits]' |
---|---|---|
1 = 0b0001 | Numérico | [0001 : 4] [ Indicador de conteo de caracteres : variable ] [ Flujo de bits de datos : 3 1 ⁄ 3 × charcount ] |
2 = 0b0010 | Alfanumérico | [0010: 4] [Indicador de conteo de caracteres: variable] [Flujo de bits de datos: 5 1 ⁄ 2 × charcount] |
4 = 0b0100 | Codificación de bytes | [0100 : 4] [ Indicador de conteo de caracteres : variable ] [ Flujo de bits de datos : 8 × charcount ] |
8 = 0b1000 | Codificación kanji | [1000 : 4] [ Indicador de conteo de caracteres : variable ] [ Flujo de bits de datos : 13 × charcount ] |
3 = 0b0011 | Anexo estructurado | [0011 : 4] [ Posición del símbolo : 4 ] [ Total de símbolos: 4 ] [ Paridad : 8 ] |
7 = 0b0111 | ECI | [0111 : 4] [ Número de asignación ECI : variable ] |
5 = 0b0101 | FNC1 en primera posición | [0101 : 4] [Carga útil numérica/alfanumérica/byte/kanji: variable] |
9 = 0b1001 | FNC1 en segunda posición | [1001 : 4] [ Indicador de aplicación : 8 ] [ Carga útil numérica/alfanumérica/byte/kanji : variable ] |
0 = 0b0000 | Fin del mensaje | [0000 : 4] |
Los indicadores de cuatro bits se utilizan para seleccionar el modo de codificación y transmitir otra información.
Indicador | Significado |
---|---|
0001 | Codificación numérica (10 bits por 3 dígitos) |
0010 | Codificación alfanumérica (11 bits por 2 caracteres) |
0100 | Codificación de bytes (8 bits por carácter) |
1000 | Codificación kanji (13 bits por carácter) |
0011 | Anexo estructurado (se utiliza para dividir un mensaje en varios símbolos QR) |
0111 | Interpretación de canal extendida (seleccione un conjunto de caracteres o codificación alternativos) |
0101 | FNC1 en primera posición (ver Código 128 para más información) |
1001 | FNC1 en segunda posición |
0000 | Fin del mensaje (Terminator) |
Los modos de codificación se pueden combinar según sea necesario dentro de un símbolo QR (por ejemplo, una URL con una cadena larga de caracteres alfanuméricos).
[ Indicador de modo][ Flujo de bits de modo ] --> [ Indicador de modo][ Flujo de bits de modo ] --> etc... --> [ 0000 Fin del mensaje (Terminador) ]
Después de cada indicador que selecciona un modo de codificación hay un campo de longitud que indica cuántos caracteres están codificados en ese modo. La cantidad de bits en el campo de longitud depende de la codificación y de la versión del símbolo.
Codificación | Vers. 1–9 | 10–26 | 27–40 |
---|---|---|---|
Numérico | 10 | 12 | 14 |
Alfanumérico | 9 | 11 | 13 |
Byte | 8 | 16 | 16 |
Kanji | 8 | 10 | 12 |
El modo de codificación alfanumérica almacena un mensaje de forma más compacta que el modo byte, pero no puede almacenar letras minúsculas y solo tiene una selección limitada de signos de puntuación, que son suficientes para direcciones web rudimentarias . Dos caracteres se codifican en un valor de 11 bits mediante esta fórmula:
Esto tiene la excepción de que el último carácter de una cadena alfanumérica con una longitud impar se lee como un valor de 6 bits.
Código | Personaje | Código | Personaje | Código | Personaje | Código | Personaje | Código | Personaje |
---|---|---|---|---|---|---|---|---|---|
00 | 0 | 09 | 9 | 18 | I | 27 | R | 36 | Espacio |
01 | 1 | 10 | A | 19 | Yo | 28 | S | 37 | $ |
02 | 2 | 11 | B | 20 | K | 29 | yo | 38 | % |
03 | 3 | 12 | do | 21 | yo | 30 | tú | 39 | * |
04 | 4 | 13 | D | 22 | METRO | 31 | V | 40 | + |
05 | 5 | 14 | mi | 23 | norte | 32 | Yo | 41 | - |
06 | 6 | 15 | F | 24 | Oh | 33 | incógnita | 42 | . |
07 | 7 | 16 | GRAMO | 25 | PAG | 34 | Y | 43 | / |
08 | 8 | 17 | yo | 26 | Q | 35 | O | 44 | : |
Las siguientes imágenes ofrecen más información sobre el código QR.
El código QR del modelo 1 es una versión anterior de la especificación. Es visualmente similar a los códigos del modelo 2, que se utilizan con frecuencia, pero carece de patrones de alineación. Las diferencias se encuentran en la esquina inferior derecha y en las secciones medias de los bordes inferior y derecho hay regiones funcionales adicionales.
El código Micro QR es una versión más pequeña del código QR estándar para aplicaciones en las que el tamaño de los símbolos es limitado. Hay cuatro versiones (tamaños) diferentes de códigos Micro QR: el más pequeño tiene 11x11 módulos; el más grande puede contener 35 caracteres numéricos, [89] o 21 caracteres alfanuméricos ASCII , o 15 bytes (128 bits).
El código QR micro rectangular (también conocido como código rMQR) es un código de barras de matriz bidimensional (2D) inventado y estandarizado en 2022 por Denso Wave como ISO/IEC 23941. El código rMQR está diseñado como una variación rectangular del código QR y tiene los mismos parámetros y aplicaciones que el código QR original. Pero el código rMQR es más adecuado para las áreas rectangulares y tiene una diferencia entre el ancho y la altura de hasta 19 en la versión R7x139.
El código iQR es una alternativa a los códigos QR cuadrados existentes desarrollados por Denso Wave. Los códigos iQR se pueden crear en formaciones cuadradas o rectangulares; esto está pensado para situaciones en las que una forma rectangular más larga y estrecha es más adecuada, como en objetos cilíndricos. Los códigos iQR pueden adaptarse a la misma cantidad de información en un 30% menos de espacio. Hay 61 versiones de códigos iQR cuadrados y 15 versiones de códigos rectangulares. Para los cuadrados, el tamaño mínimo es de 9 × 9 módulos; los rectángulos tienen un mínimo de 19 × 5 módulos. Los códigos iQR añaden el nivel de corrección de errores S, que permite una corrección de errores del 50%. [90] Los códigos iQR no habían recibido una especificación ISO/IEC hasta 2015, y solo los productos patentados de Denso Wave podían crear o leer códigos iQR. [91]
El código de respuesta rápida segura (SQR) es un código QR que contiene un segmento de "datos privados" después del terminador en lugar de los bytes de relleno especificados "ec 11". [92] Este segmento de datos privados debe descifrarse con una clave de cifrado. Esta puede utilizarse para almacenar información privada y para gestionar la información interna de una empresa. [93]
Frame QR es un código QR con un "área de lienzo" que se puede utilizar de forma flexible. En el centro de este código se encuentra el área de lienzo, donde se pueden organizar de forma flexible gráficos, letras y más, lo que permite diseñar el código sin perder el diseño de ilustraciones, fotos, etc. [94]
Los investigadores han propuesto un nuevo código bidimensional coloreado de alta capacidad (HCC2D), que se basa en una base de código QR para preservar la robustez de QR a las distorsiones y utiliza colores para aumentar la densidad de datos (a fecha de 2014 todavía se encuentra en la fase de creación de prototipos). La especificación del código HCC2D se describe en detalle en Querini et al. (2014), [95] mientras que las técnicas para la clasificación de color de las celdas del código HCC2D se describen en detalle en Querini e Italiano (2014), [96] que es una versión extendida de Querini e Italiano (2013). [97]
La introducción de colores en los códigos QR requiere abordar cuestiones adicionales. En particular, durante la lectura de códigos QR solo se tiene en cuenta la información de brillo, mientras que los códigos HCC2D tienen que lidiar con distorsiones cromáticas durante la fase de decodificación. Para garantizar la adaptación a las distorsiones cromáticas que surgen en cada código escaneado, los códigos HCC2D utilizan un campo adicional: el Patrón de paleta de colores. Esto se debe a que se supone que las celdas de color de un Patrón de paleta de colores se distorsionan de la misma manera que las celdas de color de la Región de codificación. Las paletas de colores replicadas se utilizan para entrenar clasificadores de aprendizaje automático.
El código QR accesible es un tipo de código QR que combina un código QR estándar con un patrón de puntos y rayas ubicado alrededor de una esquina del código para brindar información sobre el producto a personas ciegas o con visión parcial. Los códigos anuncian categorías de productos y detalles del producto, como instrucciones, ingredientes, advertencias de seguridad e información de reciclaje. Los datos están estructurados para las necesidades de los usuarios ciegos o con visión parcial y ofrecen una salida de audio o texto más grande. Puede leer códigos QR a un metro de distancia, activando las funciones de accesibilidad del teléfono inteligente, como VoiceOver, para anunciar los detalles del producto.
El uso de la tecnología de códigos QR se otorga con licencia libre siempre que los usuarios respeten los estándares para códigos QR documentados con JIS o ISO / IEC . Los códigos no estandarizados pueden requerir una licencia especial. [98]
Denso Wave posee varias patentes sobre tecnología de código QR, pero ha optado por ejercerlas de manera limitada. [98] Con el fin de promover el uso generalizado de la tecnología, Denso Wave decidió renunciar a sus derechos sobre una patente clave en su posesión solo para códigos estandarizados . [17] En los EE. UU., la patente de código QR otorgada es 5726435, y en Japón 2938338, ambas han expirado. La Oficina Europea de Patentes otorgó la patente 0672994 a Denso Wave, que luego fue validada en patentes francesas , británicas y alemanas, todas las cuales expiraron en marzo de 2015. [99]
El texto QR Code en sí es una marca registrada y una marca denominativa de Denso Wave Incorporated. [100] En el Reino Unido, la marca está registrada como E921775, el término QR Code , con una fecha de presentación del 3 de septiembre de 1998. [101] La versión del Reino Unido de la marca se basa en la marca Kabushiki Kaisha Denso (DENSO CORPORATION), presentada como marca registrada 000921775, el término QR Code , el 3 de septiembre de 1998 y registrada el 16 de diciembre de 1999 en la OAMI (Oficina de Armonización del Mercado Interior) de la Unión Europea. [102] La marca registrada estadounidense para el término QR Code es la marca registrada 2435991 y se presentó el 29 de septiembre de 1998 con una fecha de registro modificada del 13 de marzo de 2001, asignada a Denso Corporation. [103] En Corea del Sur, la solicitud de marca registrada presentada el 18 de noviembre de 2011 fue rechazada el 20 de marzo de 2012, porque la Oficina de Propiedad Intelectual de Corea consideró que la frase se había generalizado entre los ciudadanos de Corea del Sur para referirse a los códigos de barras matriciales en general. [104]
El único contexto en el que los códigos QR comunes pueden contener datos ejecutables es el tipo de datos URL. Estas URL pueden alojar código JavaScript , que puede utilizarse para explotar vulnerabilidades en aplicaciones del sistema host, como el lector, el navegador web o el visor de imágenes, ya que un lector normalmente enviará los datos a la aplicación asociada con el tipo de datos utilizado por el código QR.
En el caso de que no haya vulnerabilidades de software, los códigos QR maliciosos combinados con un lector permisivo pueden poner en riesgo el contenido de una computadora y la privacidad del usuario. Esta práctica se conoce como "attagging", un acrónimo de "attack tagging" (etiquetado de ataque). [105] Se crean fácilmente y se pueden colocar sobre códigos QR legítimos. [106] [ verificación fallida ] [107] En un teléfono inteligente, los permisos del lector pueden permitir el uso de la cámara, acceso total a Internet, lectura/escritura de datos de contacto, GPS , lectura del historial del navegador, lectura/escritura del almacenamiento local y cambios globales del sistema. [108] [109] [110] [ ¿ síntesis incorrecta? ]
Los riesgos incluyen enlaces a sitios web peligrosos con exploits del navegador, habilitar el micrófono/cámara/GPS y luego transmitir esas transmisiones a un servidor remoto, análisis de datos confidenciales (contraseñas, archivos, contactos, transacciones), [111] y enviar mensajes de correo electrónico/ SMS /IM o paquetes para DDoS como parte de una botnet , corromper la configuración de privacidad, robar identidad, [112] e incluso contener lógica maliciosa como JavaScript [113] o un virus. [114] [115] Estas acciones podrían ocurrir en segundo plano mientras el usuario solo ve al lector abriendo una página web aparentemente inofensiva. [116] En Rusia, un código QR malicioso provocó que los teléfonos que lo escanearan enviaran mensajes de texto premium a una tarifa de $ 6 cada uno. [105] Los códigos QR también se han vinculado a estafas en las que se colocan pegatinas en los parquímetros , haciéndose pasar por opciones de pago rápido, como se vio en Austin , San Antonio y Boston , entre otras ciudades de los Estados Unidos y Australia. [117] [118] [119]
La característica más importante de los códigos QR es que se pueden leer rápidamente. Se llama Quick Response porque reacciona rápidamente.