fbpx
Wikipedia

Código Aztec

El Código Aztec es un tipo de código bidimensional inventado y patentado por los estadounidenses Andrew Longacre Jr. y Robert Hussey en 1995.[1]​ El código fue publicado por la Association for Automatic Identification and Mobility de Estados Unidos en el año 1997. Aunque el código Aztec fue patentado, la patente fue dedicada al dominio público, como ocurrió con otros códigos bidimensionales, por deseo expreso de los inventores.[1]​ El código Aztec es también publicado como estándar internacional bajo el número ISO/IEC 24778:2008. [2]​Nombrado por su semejanza con la vista aérea de una pirámide azteca, [3]​el código Aztec usa menos espacio que otros códigos matriciales porque no requiere una "zona tranquila" o de silencio circundante.

Ejemplo de Código Aztec

Estructura

El símbolo se construye sobre una cuadrícula con un patrón de "ojo de buey" en su centro para localizar el código. Los datos son codificados en anillos cuadrados concéntricos alrededor del "ojo" el cual es de 9 × 9 o 13 × 13 píxeles de tamaño y está rodeado de una fila de píxeles que representa los parámetros básicos de codificación, produciendo un "núcleo" cuadrado de 11 × 11 píxeles denominado "Runa Aztec". Los datos se añaden en "capas", cada una conteniendo dos anillos de píxeles, dando símbolos de dos tamaños diferentes: [4]

  • Compacto: Símbolo de 15 x 15 hasta 27 x 27 píxeles, con incrementos en pasos de 4 píxeles en cada dirección.
  • Completo: Símbolo de 19 x 19 hasta 151 x 151 píxeles, incrementos en pasos de 4 píxeles en cada dirección y hasta 6 en cierto casos para permitir la existencia de una cuadrícula de referencia.

Las esquinas del núcleo incluyen marcas de orientación, permitiendo que el código se lea si se gira o se refleja. La decodificación comienza en la esquina con tres píxeles negros, y procede en el sentido de las agujas del reloj hasta las esquinas con dos, uno y cero píxeles negros. Los píxeles variables en el núcleo central codifican el tamaño, por lo que no es necesario marcar el límite del código con una "zona tranquila" en blanco, aunque algunos lectores de código de barras requieren una.

El núcleo del código Aztec compacto puede estar rodeado de 1 a 4 capas, produciendo símbolos de 15 × 15 (espacio para 13 dígitos o 12 letras) hasta 27 × 27. El núcleo completo admite hasta 32 capas y 151 × 151 píxeles, que pueden codificar 3832 dígitos, 3067 letras o 1914 bytes de datos. Cualquier parte del símbolo no utilizada para los datos básicos se usa para la corrección de errores Reed-Solomon, y es completamente configurable, entre los límites de 1 palabra de datos, y 3 palabras de verificación. El número recomendado de palabras de verificación es el 23% de la capacidad del símbolo más 3 palabras de código. [5]

El código Aztec se supone que produce códigos legibles con varias tecnologías de impresora. También es adecuado para pantallas de teléfonos celulares y otros dispositivos móviles.

Codificación

El proceso de codificación consta de los siguientes pasos:

  1. Conversión del mensaje de origen en una cadena de bits.
  2. Cálculo del tamaño de símbolo y el mensaje de modo necesarios, lo cual determina el tamaño de la palabra de código Reed-Solomon.
  3. Rellenado de bits del mensaje en palabras de código Reed-Solomon.
  4. Relleno del mensaje a un límite de palabra de código.
  5. Adición de palabras de código de verificación.
  6. Disposición del mensaje completo en una espiral alrededor del núcleo.

Todas las conversiones entre cadenas de bits y otras formas se realizan de acuerdo con la convención big-endian (bit más significativo primero).

Capacidad de almacenamiento

Según el tamaño y la cantidad de capas, un Código Aztec puede almacenar determinada cantidad de información. La siguiente tabla muestra algunos de los casos posibles, tanto en los casos de códigos compactos como completos. [6]

Número de capas Tamaño del símbolo Capacidad de datos
1 (compacto) 15x15 13 dígitos, 12 letras, 6 bytes
1 (completo) 19x19 18 dígitos, 15 letras, 8 bytes
2 (compacto) 19x19 40 dígitos, 33 letras, 19 bytes
2 (completo) 23x23 49 dígitos, 40 letras, 24 bytes
3 (compacto) 23x23 70 dígitos, 57 letras, 33 bytes
10 57x57 516 dígitos, 414 letras, 256 bytes
20 101x101 1653 dígitos, 1324 letras, 824 bytes
32 151x151 3832 dígitos, 3067 letras, 1914 bytes

Conjunto de caracteres

Cada símbolo del Código Aztec consta de valores de 8 bits (1 byte, desde 0 hasta 255 en base decimal) los cuales son codificables. Por defecto, los códigos desde el 0 hasta el 127 se interpretan como caracteres ASCII y desde el 128 hasta el 255 son caracteres del Alfabeto Latino N°1 establecidos en el estándar ISO 8859-1. [7]​Los bytes se traducen en códigos de 4 y 5 bits, con códigos de desplazamiento (shift, en idioma inglés) y de retención (latch) para cambiar modos. Los valores de byte no disponibles de esta manera pueden codificarse usando un código general de "desplazamiento binario", el cual es seguido por una longitud y un número de códigos de 8 bits. Además se codifican dos caracteres que no son de datos:

  • FNC1 (Function Code One, Código de función 1 en castellano), un símbolo usado para identificar y separar los campos para identificadores de aplicación de longitud variable.
  • ECI, un símbolo de escape seguido de un código de 6 dígitos de protocolo Extended Channel Interpretation (Interpretación de Canal Extendido, en castellano) que especifica el conjunto de caracteres utilizado para interpretar los bytes siguientes.

Cada uno de los bytes que conforma el símbolo se codifica en uno de 5 conjuntos de códigos posibles: Superior (valor inicial por defecto), Inferior, Mixto, Puntuación y Dígito. Los dos primeros conjuntos se refieren a caracteres alfabéticos en mayúsculas y minúsculas, respectivamente; el conjunto mixto contiene una mezcla de caracteres de control y de puntuación; el conjunto de puntuación contiene caracteres de puntuación y sus combinaciones y el conjunto de dígitos contiene números y algunos caracteres de puntuación. Para cambiar entre los conjuntos de códigos, un código de desplazamiento afecta solamente a la interpretación del código siguiente, mientras que un código de retención afecta a todos los códigos siguientes. La mayoría de los modos utiliza códigos de 5 bits, pero el modo Dígito utiliza códigos de 4 bits. La siguiente tabla describe la codificación de caracteres con el código Aztec al como se describe en el estándar ISO/IEC 24778:2008. [7]

Codificación de caracteres en el Código Aztec
Código Modo Código Modo
Superior (S) Inferior (L) Mixto (M) Puntuación (P) Dígito (D) Superior (S) Inferior (I) Mixto (M) Puntuación (P)
0 P/S P/S P/S FLG(n) P/S 16 O o ^\ +
1 SP SP SP CR SP 17 P p ^] ,
2 A a ^A CR LF 0 18 Q q ^^ -
3 B b ^B . SP 1 19 R r ^_ .
4 C c ^C , SP 2 20 S s @ /
5 D d ^D : SP 3 21 T t \ :
6 E e ^E ! 4 22 U u ^ ;
7 F f ^F " 5 23 V v _ <
8 G g ^G # 6 24 W w ` =
9 H h ^H $ 7 25 X x | >
10 I i ^I % 8 26 Y y ~ ?
11 J j ^J & 9 27 Z z ^? [
12 K k ^K ' , 28 L/L U/S L/L ]
13 L l ^L ( . 29 M/L M/L U/L {
14 M m ^M ) U/L 30 D/L D/L P/L }
15 N n ^[ * U/S 31 B/S B/S B/S U/L

Donde:

  • x/S = Conjunto "x" de caracteres desplazado que solo afecta a un carácter. "x" representa cualquiera de los conjuntos de caracteres (U, L, M, P y D)
  • x/L = Conjunto "x" de caracteres retenido que afecta a los siguientes caracteres.
  • B/S = Desplazamiento a binario de 8 bits.

B/S (binary shift, desplazamiento binario) es seguido por una longitud de 5 bits. Si no es cero, esto indica que se siguen los códigos 1 a 31 son de 8 bits. Si es cero, 11 bits de longitud adicional codifican el número de bytes siguientes menos el código 31. Al final de la secuencia binaria, se reanuda el modo anterior.

FLG(n) es una "bandera" donde n es un valor de 3 bits. N = 0 codifica a FNC1. Si n va de 1 a 6, es seguido por los dígitos del 1 al 6 (en modo de dígito) que son rellenados con ceros para hacer un identificador de 6-bit ECI. El valor n = 7 está reservado y actualmente es ilegal.

Mensaje de modo

El mensaje de modo es una cadena de bits que rodea el patrón de búsqueda del código y que Incluye bits que indican el tamaño del símbolo, la longitud del mensaje, y bits que proporcionan el mensaje de modo con redundancia de errores. El mensaje de modo codifica el número de capas (L capas codificadas como el entero L-1), y el número de palabras de código de datos (D palabras de código, codificadas como el entero D-1) en el mensaje. Todas las palabras clave restantes se utilizan como palabras clave de verificación. Para los códigos Aztec compactos, el número de capas se codifica como un valor de 2 bits y el número de palabras de código de datos como un valor de 6 bits, dando como resultado una palabra de modo de 8 bits. Para los códigos Aztec completos, el número de capas se codifica en 5 bits, y el número de palabras de código de datos se codifica en 11 bits, haciendo una palabra de modo de 16 bits.

La palabra de modo se divide en 2 o 4 palabras de código de 4 bits en un campo finito de 16 bits, y se añaden 5 o 6 palabras de verificación de Reed-Solomon, haciendo un mensaje de modo de 28 o 40 bits, que está "envuelto" en una capa de 1 píxel alrededor del núcleo. Debido a que una capa L + 1 del código Aztec compacto puede contener más datos que un código completo de capa L, los códigos completos con menos de 4 capas se utilizan raramente. Lo más importante es que el número de capas determina el tamaño de las palabras clave Reed-Solomon utilizadas el cual es función de los polinomios de error, detallados en la tabla que sigue:

Polinomios de campo finito del Código Aztec
Palabra de Código (bits) Campo finito (bits) Polinomio Capas
4 16 x4+x+1 Mensaje de modo
6 64 x6+x+1 1 a 2
8 256 x8+x5+x3+x2+1 3 a 8
10 1024 x10+x3+1 9 a 22
12 4096 x12+x6+x5+x3+1 23 a 32

El tamaño de la palabra de código   es el número par más pequeño que asegura que el número total de palabras de código en el símbolo es menor que el límite de   que puede ser corregido por un código Reed-Solomon. Como se mencionó anteriormente, se recomienda que al menos el 23% de las palabras de código disponibles, más 3, estén reservados para la corrección, y se elija un tamaño de símbolo tal que el mensaje se ajuste al espacio disponible.

Relleno de bits

Los bits de datos se dividen en palabras de código, correspondiendo el primer bit al coeficiente más significativo. Al hacer esto, se evitan las palabras de código de todos-ceros y de todos-unos mediante el relleno de bits: si los primeros   bits de una palabra de código tienen el mismo valor, se inserta un bit adicional con el valor complementario en el flujo de datos. Esta inserción tiene lugar independientemente de si el último bit de la palabra de código hubiera tenido o no el mismo valor. Esto sólo se aplica a cadenas de   bits al principio de una palabra de código. Se permiten cadenas más largas de bits idénticos siempre y cuando eludan un límite de palabra de código.

Cuando se descodifica, se puede suponer que una palabra de código de todos-ceros o de todos-unos es un borrado y se corrige más eficientemente que un error general. Este proceso hace que el mensaje sea más largo y el número final de palabras de código de datos grabadas en el mensaje de modo no se conoce hasta que se complete. En casos raros, puede ser necesario saltar al siguiente símbolo más grande y comenzar el proceso de nuevo para mantener la fracción mínima de palabras de verificación.

Relleno

Después del relleno de bits, la cadena de datos se rellena al siguiente límite de palabra de código añadiendo "unos". Si esto resulta en una palabra de código de todos-unos, el último bit se cambia a cero (y será ignorado por el decodificador como un bit de relleno). En la decodificación, los bits de relleno se pueden decodificar como códigos de desplazamiento y de retención, pero eso no afectará al contenido del mensaje. El lector debe aceptar e ignorar un código parcial al final del mensaje, siempre y cuando sea de todos-unos. Además, si el número total de bits de datos disponibles en el símbolo no es un múltiplo del tamaño de palabra de código, la cadena de datos está prefijada con un número apropiado de "ceros" para ocupar el espacio adicional. Estos bits no se incluyen en el cálculo de palabras de verificación.

Palabras de código de verificación

Tanto la palabra de modo como los datos deben tener las palabras de verificación agregadas para completar el espacio disponible. Esto se calcula agregando K palabras de verificación de manera que todo el mensaje es un múltiplo del polinomio Reed-Solomon dado por  .

Debe tenerse en cuenta que las palabras de verificación no están sujetas a relleno de bits, y pueden ser de todos-ceros o todos-unos. Por lo tanto, no es posible detectar el borrado de una palabra de verificación.

Trazado del código

 
Código Aztec de tamaño completo y 6 capas (41×41 píxeles) mostrando la cuadrícula de referencia.

Un símbolo de código Aztec completo tiene, además del núcleo, una "cuadrícula de referencia" formada por líneas de píxeles alternantes en blanco y negro que ocupan cada 16ª fila y columna. Estos píxeles permiten que un lector mantenga la alineación con la cuadrícula sobre símbolos grandes. Para un máximo de 4 capas (31 × 31 píxeles), la cuadrícula consta sólo de líneas individuales que se extienden hacia fuera desde el núcleo, continuando el patrón alternante. Dentro de la quinta capa, sin embargo, se insertan filas y columnas adicionales de píxeles alternos ± 16 píxeles desde el centro, por lo que la quinta capa se sitúa ± 17 y ± 18 píxeles desde el centro.

Del mismo modo, las filas y columnas adicionales de la cuadrícula de referencia se insertan ± 32 píxeles desde el centro, haciendo un símbolo de 12 capas de 67 × 67 píxeles. El patrón continúa indefinidamente hacia afuera, con bloques de 15 píxeles de datos separados por filas y columnas de la cuadrícula de referencia.

Una forma de construir el símbolo es borrar completamente la cuadrícula de referencia y comenzar con un núcleo de 14 × 14 píxeles centrado en un cuadrado blanco de 2 × 2 píxeles. A continuación, se divide en bloques de 15 × 15 píxeles y se inserta la rejilla de referencia entre ellos.

El mensaje de modo comienza en la esquina superior izquierda del núcleo y lo envuelve en el sentido de las agujas del reloj en una capa de 1 bit de grosor. Comienza con el bit más significativo del número de capas y termina con las palabras de verificación. Para un código Aztec compacto, se dividE en cuatro pedazos de 7 bits para dejar espacio para las marcas de orientación. Un código Aztec completo, se divide en cuatro pedazos de 10 bits, y esas piezas se dividen a la mitad mediante la cuadrícula de referencia.

En algunos casos, la capacidad total de la matriz no se divide uniformemente por palabras de código completo. En estos casos, el mensaje principal se rellena con "ceros" en el principio. Estos bits no se incluyen en el cálculo de la palabra de comprobación y se deben omitir durante la decodificación. La capacidad total de la matriz para un símbolo completo se puede calcular como (112 + 16 * L) * L para un código Aztec completo y (88 + 16 * L) * L para un código compacto Aztec, donde L es el tamaño del símbolo en capas. Por ejemplo, la capacidad total de la matriz de un código compacto Aztec con una capa es de 104 bits. Dado que las palabras de código son de seis bits, esto da 17 palabras de código y dos bits adicionales. Dos "ceros" se añaden al mensaje como relleno y se deben omitir durante la decodificación.

El mensaje principal relleno comienza en la parte superior izquierda del símbolo completo y gira en espiral en sentido contrario a las agujas del reloj en una capa de 2 bits de grosor, terminando directamente encima de la esquina superior izquierda del núcleo. Esto coloca las palabras de datos rellenas de bits, para las cuales se pueden detectar códigos borrados, en las capas más exteriores del símbolo, que son más propensas a borrarse. Las palabras de verificación se almacenan más cerca del núcleo. La última palabra de verificación termina justo encima de la esquina superior izquierda del ojo de buey.

Con el núcleo en su orientación estándar, el primer bit de la primera palabra de datos se coloca en la esquina superior izquierda, con bits adicionales colocados en una columna de 2 bits de ancho De izquierda a derecha y de arriba abajo. Esto continúa hasta 2 filas desde la parte inferior del símbolo y continúa en una fila de 2 bits de alto, de abajo a arriba y de izquierda a derecha. Después de cuatro capas de igual tamaño, la espiral continúa con la esquina superior izquierda de la siguiente capa interna, terminando finalmente un píxel por encima de la esquina superior izquierda del núcleo. Finalmente, los "unos" del símbolo se imprimen como cuadrados negros y los "ceros" como cuadrados blancos.

Utilización

 
Boleto en línea de la empresa alemana Deutsche Bahn.

Transporte

Un código Aztec es utilizado por diversas empresas de transporte en el continente europeo como Eurostar y Deutsche Bahn, para sus boletos vendidos en línea e impresos por los clientes. Un código Aztec es utilizado por las empresas británicas Heathrow Express y East Coast en los boletos enviados a teléfonos móviles y exhibidos en sus pantallas, en los boletos impresos, y en los boletos solicitados en línea. La empresa danesa de ferrocarriles VR Group utiliza los códigos Aztec en cada tipo de boleto, excluyendo los vendidos a bordo. El código es escaneado por un escáner de mano por el personal del tren o en el torniquete para validar el boleto. Los quioscos de la empresa estadounidense NJ Transit imprimen boletos usando el formato de código Aztec, pero sus aplicaciones móviles usan el formato de código QR.

El código Aztec ha sido seleccionado por la industria aérea para los pases de embarque electrónicos. [8]​Varias aerolíneas envían códigos Aztec a los teléfonos móviles de los pasajeros, relacionados con la venta de boletos en línea (o sin papel).

Gobierno

Los documentos de registro de vehículos en Polonia llevan un resumen encriptado codificado como código Aztec. [9]​En agosto de 2016 se anunció que el Bank Millennium SA de ese país sería la primera empresa en ofrecer el aseguramiento en línea de automotores tanto en una aplicación para teléfonos móviles inteligentes, como a través de su sistema de transacciones en línea Millenet. [10]

Referencias

  1. «Patent US5591956: Two dimensional data encoding structure and symbology for use with optical readers» (en inglés). United States Patent Office. Consultado el 2 de mayo de 2017. 
  2. «ISO/IEC 24778:2008 Information technology-Automatic identification and data capture techniques-Aztec Code bar code symbology specification» (en inglés). International Organization for Standardization/International Electrotechnical Commission. Consultado el 2 de mayo de 2017. 
  3. «Simbología en códigos de barras». Cognex Corporation. Consultado el 2 de mayo de 2017. 
  4. (en inglés). Code Corporation. Archivado desde el original el 6 de junio de 2017. Consultado el 3 de mayo de 2017. 
  5. Russ Adams. «2-Dimensional Bar Code Page» (en inglés). Consultado el 1 de mayo de 2017. 
  6. «Aztec Code». Stroke Scribe (en inglés). 29 de enero de 2017. Consultado el 3 de mayo de 2017. 
  7. «Barcode encyclopedia: Symbology aztec» (en inglés). Barcode-software.eu. Consultado el 5 de mayo de 2017. 
  8. (en inglés). International Air Transport Association. 1 de junio de 2016. p. 20. Archivado desde el original el 16 de mayo de 2018. Consultado el 3 de mayo de 2017. 
  9. «Aztec Barcodes. Advantages, Limitations and Usage.» (en inglés). ByteScout. Consultado el 2 de mayo de 2017. 
  10. «Poland’s first motor insurance offered by a bank on mobile.» (en inglés). Bank Millennium SA. 22 de agosto de 2016. Consultado el 2 de mayo de 2017. 

Enlaces externos

  • 2D barcodes at AIM Global
  • Aztec code specification (ISO/IEC 24778:2008)
  •   Datos: Q794126
  •   Multimedia: Aztec code

código, aztec, tipo, código, bidimensional, inventado, patentado, estadounidenses, andrew, longacre, robert, hussey, 1995, código, publicado, association, automatic, identification, mobility, estados, unidos, año, 1997, aunque, código, aztec, patentado, patent. El Codigo Aztec es un tipo de codigo bidimensional inventado y patentado por los estadounidenses Andrew Longacre Jr y Robert Hussey en 1995 1 El codigo fue publicado por la Association for Automatic Identification and Mobility de Estados Unidos en el ano 1997 Aunque el codigo Aztec fue patentado la patente fue dedicada al dominio publico como ocurrio con otros codigos bidimensionales por deseo expreso de los inventores 1 El codigo Aztec es tambien publicado como estandar internacional bajo el numero ISO IEC 24778 2008 2 Nombrado por su semejanza con la vista aerea de una piramide azteca 3 el codigo Aztec usa menos espacio que otros codigos matriciales porque no requiere una zona tranquila o de silencio circundante Ejemplo de Codigo Aztec Indice 1 Estructura 2 Codificacion 2 1 Capacidad de almacenamiento 2 2 Conjunto de caracteres 2 3 Mensaje de modo 2 4 Relleno de bits 2 5 Relleno 2 6 Palabras de codigo de verificacion 2 7 Trazado del codigo 3 Utilizacion 3 1 Transporte 3 2 Gobierno 4 Referencias 5 Enlaces externosEstructura EditarEl simbolo se construye sobre una cuadricula con un patron de ojo de buey en su centro para localizar el codigo Los datos son codificados en anillos cuadrados concentricos alrededor del ojo el cual es de 9 9 o 13 13 pixeles de tamano y esta rodeado de una fila de pixeles que representa los parametros basicos de codificacion produciendo un nucleo cuadrado de 11 11 pixeles denominado Runa Aztec Los datos se anaden en capas cada una conteniendo dos anillos de pixeles dando simbolos de dos tamanos diferentes 4 Compacto Simbolo de 15 x 15 hasta 27 x 27 pixeles con incrementos en pasos de 4 pixeles en cada direccion Completo Simbolo de 19 x 19 hasta 151 x 151 pixeles incrementos en pasos de 4 pixeles en cada direccion y hasta 6 en cierto casos para permitir la existencia de una cuadricula de referencia Las esquinas del nucleo incluyen marcas de orientacion permitiendo que el codigo se lea si se gira o se refleja La decodificacion comienza en la esquina con tres pixeles negros y procede en el sentido de las agujas del reloj hasta las esquinas con dos uno y cero pixeles negros Los pixeles variables en el nucleo central codifican el tamano por lo que no es necesario marcar el limite del codigo con una zona tranquila en blanco aunque algunos lectores de codigo de barras requieren una El nucleo del codigo Aztec compacto sombreado en rojo claro que muestra el ojo de buey central las cuatro marcas de orientacion sombreado en cruz en azul claro y el espacio para 28 bits 7 bits por lado de informacion de codificacion sombreado horizontal verde claro El primer anillo de datos comienza en el area con sombreado gris claro El nucleo del codigo Aztec completo 40 bits estan disponibles entre las marcas de orientacion para los parametros de codificacion Los Datos de Mensaje rojo son colocados en un patron espiral alrededor del nucleo del codigo El Mensaje de Modo comienza con la cadena binaria 01011100 indicando la subcadena mas siginificativa 01 2 capas 012 1 210 y la subcadena 011100 2 29 capas 0111002 1 2910 de palabras de codigo de 6 bits cada una El nucleo del codigo Aztec compacto puede estar rodeado de 1 a 4 capas produciendo simbolos de 15 15 espacio para 13 digitos o 12 letras hasta 27 27 El nucleo completo admite hasta 32 capas y 151 151 pixeles que pueden codificar 3832 digitos 3067 letras o 1914 bytes de datos Cualquier parte del simbolo no utilizada para los datos basicos se usa para la correccion de errores Reed Solomon y es completamente configurable entre los limites de 1 palabra de datos y 3 palabras de verificacion El numero recomendado de palabras de verificacion es el 23 de la capacidad del simbolo mas 3 palabras de codigo 5 El codigo Aztec se supone que produce codigos legibles con varias tecnologias de impresora Tambien es adecuado para pantallas de telefonos celulares y otros dispositivos moviles Codificacion EditarEl proceso de codificacion consta de los siguientes pasos Conversion del mensaje de origen en una cadena de bits Calculo del tamano de simbolo y el mensaje de modo necesarios lo cual determina el tamano de la palabra de codigo Reed Solomon Rellenado de bits del mensaje en palabras de codigo Reed Solomon Relleno del mensaje a un limite de palabra de codigo Adicion de palabras de codigo de verificacion Disposicion del mensaje completo en una espiral alrededor del nucleo Todas las conversiones entre cadenas de bits y otras formas se realizan de acuerdo con la convencion big endian bit mas significativo primero Capacidad de almacenamiento Editar Segun el tamano y la cantidad de capas un Codigo Aztec puede almacenar determinada cantidad de informacion La siguiente tabla muestra algunos de los casos posibles tanto en los casos de codigos compactos como completos 6 Numero de capas Tamano del simbolo Capacidad de datos1 compacto 15x15 13 digitos 12 letras 6 bytes1 completo 19x19 18 digitos 15 letras 8 bytes2 compacto 19x19 40 digitos 33 letras 19 bytes2 completo 23x23 49 digitos 40 letras 24 bytes3 compacto 23x23 70 digitos 57 letras 33 bytes10 57x57 516 digitos 414 letras 256 bytes20 101x101 1653 digitos 1324 letras 824 bytes32 151x151 3832 digitos 3067 letras 1914 bytesConjunto de caracteres Editar Cada simbolo del Codigo Aztec consta de valores de 8 bits 1 byte desde 0 hasta 255 en base decimal los cuales son codificables Por defecto los codigos desde el 0 hasta el 127 se interpretan como caracteres ASCII y desde el 128 hasta el 255 son caracteres del Alfabeto Latino N 1 establecidos en el estandar ISO 8859 1 7 Los bytes se traducen en codigos de 4 y 5 bits con codigos de desplazamiento shift en idioma ingles y de retencion latch para cambiar modos Los valores de byte no disponibles de esta manera pueden codificarse usando un codigo general de desplazamiento binario el cual es seguido por una longitud y un numero de codigos de 8 bits Ademas se codifican dos caracteres que no son de datos FNC1 Function Code One Codigo de funcion 1 en castellano un simbolo usado para identificar y separar los campos para identificadores de aplicacion de longitud variable ECI un simbolo de escape seguido de un codigo de 6 digitos de protocolo Extended Channel Interpretation Interpretacion de Canal Extendido en castellano que especifica el conjunto de caracteres utilizado para interpretar los bytes siguientes Cada uno de los bytes que conforma el simbolo se codifica en uno de 5 conjuntos de codigos posibles Superior valor inicial por defecto Inferior Mixto Puntuacion y Digito Los dos primeros conjuntos se refieren a caracteres alfabeticos en mayusculas y minusculas respectivamente el conjunto mixto contiene una mezcla de caracteres de control y de puntuacion el conjunto de puntuacion contiene caracteres de puntuacion y sus combinaciones y el conjunto de digitos contiene numeros y algunos caracteres de puntuacion Para cambiar entre los conjuntos de codigos un codigo de desplazamiento afecta solamente a la interpretacion del codigo siguiente mientras que un codigo de retencion afecta a todos los codigos siguientes La mayoria de los modos utiliza codigos de 5 bits pero el modo Digito utiliza codigos de 4 bits La siguiente tabla describe la codificacion de caracteres con el codigo Aztec al como se describe en el estandar ISO IEC 24778 2008 7 Codificacion de caracteres en el Codigo Aztec Codigo Modo Codigo ModoSuperior S Inferior L Mixto M Puntuacion P Digito D Superior S Inferior I Mixto M Puntuacion P 0 P S P S P S FLG n P S 16 O o 1 SP SP SP CR SP 17 P p 2 A a A CR LF 0 18 Q q 3 B b B SP 1 19 R r 4 C c C SP 2 20 S s 5 D d D SP 3 21 T t 6 E e E 4 22 U u 7 F f F 5 23 V v lt 8 G g G 6 24 W w 9 H h H 7 25 X x gt 10 I i I 8 26 Y y 11 J j J amp 9 27 Z z 12 K k K 28 L L U S L L 13 L l L 29 M L M L U L 14 M m M U L 30 D L D L P L 15 N n U S 31 B S B S B S U LDonde x S Conjunto x de caracteres desplazado que solo afecta a un caracter x representa cualquiera de los conjuntos de caracteres U L M P y D x L Conjunto x de caracteres retenido que afecta a los siguientes caracteres B S Desplazamiento a binario de 8 bits B S binary shift desplazamiento binario es seguido por una longitud de 5 bits Si no es cero esto indica que se siguen los codigos 1 a 31 son de 8 bits Si es cero 11 bits de longitud adicional codifican el numero de bytes siguientes menos el codigo 31 Al final de la secuencia binaria se reanuda el modo anterior FLG n es una bandera donde n es un valor de 3 bits N 0 codifica a FNC1 Si n va de 1 a 6 es seguido por los digitos del 1 al 6 en modo de digito que son rellenados con ceros para hacer un identificador de 6 bit ECI El valor n 7 esta reservado y actualmente es ilegal Mensaje de modo Editar El mensaje de modo es una cadena de bits que rodea el patron de busqueda del codigo y que Incluye bits que indican el tamano del simbolo la longitud del mensaje y bits que proporcionan el mensaje de modo con redundancia de errores El mensaje de modo codifica el numero de capas L capas codificadas como el entero L 1 y el numero de palabras de codigo de datos D palabras de codigo codificadas como el entero D 1 en el mensaje Todas las palabras clave restantes se utilizan como palabras clave de verificacion Para los codigos Aztec compactos el numero de capas se codifica como un valor de 2 bits y el numero de palabras de codigo de datos como un valor de 6 bits dando como resultado una palabra de modo de 8 bits Para los codigos Aztec completos el numero de capas se codifica en 5 bits y el numero de palabras de codigo de datos se codifica en 11 bits haciendo una palabra de modo de 16 bits La palabra de modo se divide en 2 o 4 palabras de codigo de 4 bits en un campo finito de 16 bits y se anaden 5 o 6 palabras de verificacion de Reed Solomon haciendo un mensaje de modo de 28 o 40 bits que esta envuelto en una capa de 1 pixel alrededor del nucleo Debido a que una capa L 1 del codigo Aztec compacto puede contener mas datos que un codigo completo de capa L los codigos completos con menos de 4 capas se utilizan raramente Lo mas importante es que el numero de capas determina el tamano de las palabras clave Reed Solomon utilizadas el cual es funcion de los polinomios de error detallados en la tabla que sigue Polinomios de campo finito del Codigo Aztec Palabra de Codigo bits Campo finito bits Polinomio Capas4 16 x4 x 1 Mensaje de modo6 64 x6 x 1 1 a 28 256 x8 x5 x3 x2 1 3 a 810 1024 x10 x3 1 9 a 2212 4096 x12 x6 x5 x3 1 23 a 32El tamano de la palabra de codigo b displaystyle b es el numero par mas pequeno que asegura que el numero total de palabras de codigo en el simbolo es menor que el limite de 2 b 1 displaystyle 2b 1 que puede ser corregido por un codigo Reed Solomon Como se menciono anteriormente se recomienda que al menos el 23 de las palabras de codigo disponibles mas 3 esten reservados para la correccion y se elija un tamano de simbolo tal que el mensaje se ajuste al espacio disponible Relleno de bits Editar Los bits de datos se dividen en palabras de codigo correspondiendo el primer bit al coeficiente mas significativo Al hacer esto se evitan las palabras de codigo de todos ceros y de todos unos mediante el relleno de bits si los primeros b 1 displaystyle b 1 bits de una palabra de codigo tienen el mismo valor se inserta un bit adicional con el valor complementario en el flujo de datos Esta insercion tiene lugar independientemente de si el ultimo bit de la palabra de codigo hubiera tenido o no el mismo valor Esto solo se aplica a cadenas de b 1 displaystyle b 1 bits al principio de una palabra de codigo Se permiten cadenas mas largas de bits identicos siempre y cuando eludan un limite de palabra de codigo Cuando se descodifica se puede suponer que una palabra de codigo de todos ceros o de todos unos es un borrado y se corrige mas eficientemente que un error general Este proceso hace que el mensaje sea mas largo y el numero final de palabras de codigo de datos grabadas en el mensaje de modo no se conoce hasta que se complete En casos raros puede ser necesario saltar al siguiente simbolo mas grande y comenzar el proceso de nuevo para mantener la fraccion minima de palabras de verificacion Relleno Editar Despues del relleno de bits la cadena de datos se rellena al siguiente limite de palabra de codigo anadiendo unos Si esto resulta en una palabra de codigo de todos unos el ultimo bit se cambia a cero y sera ignorado por el decodificador como un bit de relleno En la decodificacion los bits de relleno se pueden decodificar como codigos de desplazamiento y de retencion pero eso no afectara al contenido del mensaje El lector debe aceptar e ignorar un codigo parcial al final del mensaje siempre y cuando sea de todos unos Ademas si el numero total de bits de datos disponibles en el simbolo no es un multiplo del tamano de palabra de codigo la cadena de datos esta prefijada con un numero apropiado de ceros para ocupar el espacio adicional Estos bits no se incluyen en el calculo de palabras de verificacion Palabras de codigo de verificacion Editar Tanto la palabra de modo como los datos deben tener las palabras de verificacion agregadas para completar el espacio disponible Esto se calcula agregando K palabras de verificacion de manera que todo el mensaje es un multiplo del polinomio Reed Solomon dado por x 2 x 4 x 2 K displaystyle x 2 x 4 cdots x 2 K Debe tenerse en cuenta que las palabras de verificacion no estan sujetas a relleno de bits y pueden ser de todos ceros o todos unos Por lo tanto no es posible detectar el borrado de una palabra de verificacion Trazado del codigo Editar Codigo Aztec de tamano completo y 6 capas 41 41 pixeles mostrando la cuadricula de referencia Un simbolo de codigo Aztec completo tiene ademas del nucleo una cuadricula de referencia formada por lineas de pixeles alternantes en blanco y negro que ocupan cada 16ª fila y columna Estos pixeles permiten que un lector mantenga la alineacion con la cuadricula sobre simbolos grandes Para un maximo de 4 capas 31 31 pixeles la cuadricula consta solo de lineas individuales que se extienden hacia fuera desde el nucleo continuando el patron alternante Dentro de la quinta capa sin embargo se insertan filas y columnas adicionales de pixeles alternos 16 pixeles desde el centro por lo que la quinta capa se situa 17 y 18 pixeles desde el centro Del mismo modo las filas y columnas adicionales de la cuadricula de referencia se insertan 32 pixeles desde el centro haciendo un simbolo de 12 capas de 67 67 pixeles El patron continua indefinidamente hacia afuera con bloques de 15 pixeles de datos separados por filas y columnas de la cuadricula de referencia Una forma de construir el simbolo es borrar completamente la cuadricula de referencia y comenzar con un nucleo de 14 14 pixeles centrado en un cuadrado blanco de 2 2 pixeles A continuacion se divide en bloques de 15 15 pixeles y se inserta la rejilla de referencia entre ellos El mensaje de modo comienza en la esquina superior izquierda del nucleo y lo envuelve en el sentido de las agujas del reloj en una capa de 1 bit de grosor Comienza con el bit mas significativo del numero de capas y termina con las palabras de verificacion Para un codigo Aztec compacto se dividE en cuatro pedazos de 7 bits para dejar espacio para las marcas de orientacion Un codigo Aztec completo se divide en cuatro pedazos de 10 bits y esas piezas se dividen a la mitad mediante la cuadricula de referencia En algunos casos la capacidad total de la matriz no se divide uniformemente por palabras de codigo completo En estos casos el mensaje principal se rellena con ceros en el principio Estos bits no se incluyen en el calculo de la palabra de comprobacion y se deben omitir durante la decodificacion La capacidad total de la matriz para un simbolo completo se puede calcular como 112 16 L L para un codigo Aztec completo y 88 16 L L para un codigo compacto Aztec donde L es el tamano del simbolo en capas Por ejemplo la capacidad total de la matriz de un codigo compacto Aztec con una capa es de 104 bits Dado que las palabras de codigo son de seis bits esto da 17 palabras de codigo y dos bits adicionales Dos ceros se anaden al mensaje como relleno y se deben omitir durante la decodificacion El mensaje principal relleno comienza en la parte superior izquierda del simbolo completo y gira en espiral en sentido contrario a las agujas del reloj en una capa de 2 bits de grosor terminando directamente encima de la esquina superior izquierda del nucleo Esto coloca las palabras de datos rellenas de bits para las cuales se pueden detectar codigos borrados en las capas mas exteriores del simbolo que son mas propensas a borrarse Las palabras de verificacion se almacenan mas cerca del nucleo La ultima palabra de verificacion termina justo encima de la esquina superior izquierda del ojo de buey Con el nucleo en su orientacion estandar el primer bit de la primera palabra de datos se coloca en la esquina superior izquierda con bits adicionales colocados en una columna de 2 bits de ancho De izquierda a derecha y de arriba abajo Esto continua hasta 2 filas desde la parte inferior del simbolo y continua en una fila de 2 bits de alto de abajo a arriba y de izquierda a derecha Despues de cuatro capas de igual tamano la espiral continua con la esquina superior izquierda de la siguiente capa interna terminando finalmente un pixel por encima de la esquina superior izquierda del nucleo Finalmente los unos del simbolo se imprimen como cuadrados negros y los ceros como cuadrados blancos Utilizacion Editar Boleto en linea de la empresa alemana Deutsche Bahn Transporte Editar Un codigo Aztec es utilizado por diversas empresas de transporte en el continente europeo como Eurostar y Deutsche Bahn para sus boletos vendidos en linea e impresos por los clientes Un codigo Aztec es utilizado por las empresas britanicas Heathrow Express y East Coast en los boletos enviados a telefonos moviles y exhibidos en sus pantallas en los boletos impresos y en los boletos solicitados en linea La empresa danesa de ferrocarriles VR Group utiliza los codigos Aztec en cada tipo de boleto excluyendo los vendidos a bordo El codigo es escaneado por un escaner de mano por el personal del tren o en el torniquete para validar el boleto Los quioscos de la empresa estadounidense NJ Transit imprimen boletos usando el formato de codigo Aztec pero sus aplicaciones moviles usan el formato de codigo QR El codigo Aztec ha sido seleccionado por la industria aerea para los pases de embarque electronicos 8 Varias aerolineas envian codigos Aztec a los telefonos moviles de los pasajeros relacionados con la venta de boletos en linea o sin papel Gobierno Editar Los documentos de registro de vehiculos en Polonia llevan un resumen encriptado codificado como codigo Aztec 9 En agosto de 2016 se anuncio que el Bank Millennium SA de ese pais seria la primera empresa en ofrecer el aseguramiento en linea de automotores tanto en una aplicacion para telefonos moviles inteligentes como a traves de su sistema de transacciones en linea Millenet 10 Referencias Editar a b Patent US5591956 Two dimensional data encoding structure and symbology for use with optical readers en ingles United States Patent Office Consultado el 2 de mayo de 2017 ISO IEC 24778 2008 Information technology Automatic identification and data capture techniques Aztec Code bar code symbology specification en ingles International Organization for Standardization International Electrotechnical Commission Consultado el 2 de mayo de 2017 Simbologia en codigos de barras Cognex Corporation Consultado el 2 de mayo de 2017 Barcode symbologies en ingles Code Corporation Archivado desde el original el 6 de junio de 2017 Consultado el 3 de mayo de 2017 Russ Adams 2 Dimensional Bar Code Page en ingles Consultado el 1 de mayo de 2017 Aztec Code Stroke Scribe en ingles 29 de enero de 2017 Consultado el 3 de mayo de 2017 a b Barcode encyclopedia Symbology aztec en ingles Barcode software eu Consultado el 5 de mayo de 2017 Bar Coded Pass Implementation Guide 5th Edition en ingles International Air Transport Association 1 de junio de 2016 p 20 Archivado desde el original el 16 de mayo de 2018 Consultado el 3 de mayo de 2017 Aztec Barcodes Advantages Limitations and Usage en ingles ByteScout Consultado el 2 de mayo de 2017 Poland s first motor insurance offered by a bank on mobile en ingles Bank Millennium SA 22 de agosto de 2016 Consultado el 2 de mayo de 2017 Enlaces externos Editar2D barcodes at AIM Global Aztec code specification ISO IEC 24778 2008 Datos Q794126 Multimedia Aztec codeObtenido de https es wikipedia org w index php title Codigo Aztec amp oldid 136588484, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos