stringtranslate.com

Matriz de datos

Un ejemplo de código Data Matrix, codificando el texto: "Wikipedia, la enciclopedia libre"

Una matriz de datos es un código bidimensional que consta de "celdas" o puntos blancos y negros dispuestos en un patrón cuadrado o rectangular , también conocido como matriz . La información a codificar puede ser texto o datos numéricos. El tamaño de datos habitual es desde unos pocos bytes hasta 1556 bytes . La longitud de los datos codificados depende del número de celdas de la matriz. Los códigos de corrección de errores se utilizan a menudo para aumentar la confiabilidad: incluso si una o más celdas están dañadas y resultan ilegibles, el mensaje aún se puede leer. Un símbolo Data Matrix puede almacenar hasta 2335 caracteres alfanuméricos .

Los símbolos Data Matrix son rectangulares, generalmente de forma cuadrada, y están compuestos de "celdas" cuadradas que representan bits . Dependiendo de la codificación utilizada, una celda "clara" representa un 0 y una celda "oscura" es un 1, o viceversa. Cada Data Matrix se compone de dos bordes sólidos adyacentes en forma de "L" (llamado "patrón de búsqueda") y otros dos bordes que consisten en "celdas" o módulos oscuros y claros alternados (llamados "patrón de sincronización"). Dentro de estos bordes hay filas y columnas de celdas que codifican información. El patrón de búsqueda se utiliza para localizar y orientar el símbolo, mientras que el patrón de sincronización proporciona un recuento del número de filas y columnas del símbolo. A medida que se codifican más datos en el símbolo, aumenta el número de celdas (filas y columnas). Cada código es único. Los tamaños de los símbolos varían de 10×10 a 144×144 en la nueva versión ECC 200, y de 9×9 a 49×49 en la versión anterior ECC 000 – 140.

Aplicaciones

Una matriz de datos en una tarjeta Mini PCI , que codifica el número de serie 15C06E115AZC72983004

La aplicación más popular de Data Matrix es el marcado de elementos pequeños, debido a la capacidad del código para codificar cincuenta caracteres en un símbolo legible a 2 o 3 mm 2 (0,003 o 0,005 pulgadas cuadradas) y al hecho de que el código se puede leer con Sólo una relación de contraste del 20%. [1] Una Data Matrix es escalable; Existen aplicaciones comerciales con imágenes tan pequeñas como 300 micrómetros (0,012 pulgadas) (grabadas con láser en un dispositivo de silicio de 600 micrómetros (0,024 pulgadas)) y tan grandes como un cuadrado de 1 metro (3 pies) (pintadas en el techo de un vagón ). . La fidelidad de los sistemas de calificación y lectura es la única limitación. La Alianza de Industrias Electrónicas de EE. UU. (EIA) recomienda utilizar Data Matrix para etiquetar componentes electrónicos pequeños. [2]

Los códigos Data Matrix se están volviendo comunes en medios impresos como etiquetas y letras. El código puede leerse rápidamente mediante un lector de códigos de barras que permite realizar un seguimiento del medio, por ejemplo, cuando se ha enviado un paquete al destinatario.

Marcar superficies

Para fines de ingeniería industrial, los códigos Data Matrix se pueden marcar directamente en los componentes, asegurando que solo el componente deseado se identifique con los datos codificados en Data Matrix. Los códigos se pueden marcar en componentes con varios métodos, pero en la industria aeroespacial suelen ser el marcado por inyección de tinta industrial, el marcado por puntos, el marcado por láser y el grabado químico electrolítico (ECE). Estos métodos dan una marca permanente que puede durar hasta la vida útil del componente.

Los códigos Data Matrix generalmente se verifican utilizando software y equipos de cámara especializados. [ Se necesita más explicación ] Esta verificación garantiza que el código se ajuste a los estándares pertinentes y garantiza la legibilidad durante toda la vida útil del componente. Una vez que el componente entra en servicio, el código Data Matrix puede ser leído por una cámara lectora, que decodifica los datos Data Matrix que luego se pueden utilizar para diversos fines, como seguimiento de movimientos o comprobaciones de existencias de inventario.

Lectura de código Data Matrix con teléfono móvil ( proyecto Semacode )

Los códigos Data Matrix, junto con otros códigos de fuente abierta, como los códigos de barras 1D, también se pueden leer con teléfonos móviles descargando aplicaciones móviles específicas del código. Aunque muchos dispositivos móviles pueden leer códigos 2D, incluido el código Data Matrix, [3] pocos amplían la decodificación para permitir el acceso y la interacción móviles, con lo cual los códigos se pueden utilizar de forma segura y en todos los medios; por ejemplo, en seguimiento y localización, antifalsificación, gobierno electrónico y soluciones bancarias.

Industria de alimentos

Los códigos Data Matrix se utilizan en la industria alimentaria en sistemas de codificación automática para evitar que los productos alimenticios se empaqueten y fechen incorrectamente. Los códigos se mantienen internamente en una base de datos de fabricantes de alimentos y se asocian con cada producto único, por ejemplo, variaciones de ingredientes. Para cada ejecución del producto, se proporciona un código único a la impresora. Se requiere el diseño de la etiqueta para permitir que 2D Data Matrix se coloque para un escaneo óptimo. Para los códigos negro sobre blanco no es necesario realizar pruebas a menos que la calidad de impresión sea un problema, pero todas las variaciones de color deben probarse antes de la producción para garantizar que sean legibles. [ cita necesaria ]

Arte

En mayo de 2006, un programador informático alemán, Bernd Hopfengärtner, creó una gran matriz de datos en un campo de trigo (de forma similar a los círculos de las cosechas ). El mensaje decía " ¡Hola, mundo! ". [4] En junio de 2011, el tatuador parisino KARL, como parte de una promoción del whisky escocés Ballantine , [5] creó el primer tatuaje animado del mundo utilizando un código Data Matrix en un proceso colaborativo transmitido en vivo en Facebook. [6] [7]

Especificaciones técnicas

Un ejemplo de código Data Matrix, que codifica el texto: "Wikipedia" coloreado para mostrar datos (verde), relleno (amarillo), corrección de errores (rojo), buscador y sincronización (magenta) y no utilizado (naranja).

Los símbolos Data Matrix se componen de módulos dispuestos dentro de un buscador de perímetro y un patrón de sincronización. Puede codificar hasta 3116 caracteres de todo el conjunto de caracteres ASCII (con extensiones). El símbolo consta de regiones de datos que contienen módulos dispuestos en una matriz regular. Los símbolos grandes contienen varias regiones. Cada región de datos está delimitada por un patrón de buscador, que está rodeado por los cuatro lados por un borde de zona tranquila (margen). (Nota: Los módulos pueden ser redondos o cuadrados; no se define ninguna forma específica en el estándar. Por ejemplo, las celdas punteadas son generalmente redondas).

Matriz de datos ECC 200

ECC 200, la versión más nueva de Data Matrix, utiliza códigos Reed-Solomon para la recuperación de errores y borrados. ECC 200 permite la reconstrucción rutinaria de toda la cadena de datos codificados cuando el símbolo ha sufrido un daño del 30%, asumiendo que la matriz aún se puede ubicar con precisión. Data Matrix tiene una tasa de error de menos de 1 entre 10 millones de caracteres escaneados. [8]

Los símbolos tienen un número par de filas y un número par de columnas. La mayoría de los símbolos son cuadrados con tamaños de 10 × 10 a 144 × 144. Sin embargo, algunos símbolos son rectangulares con tamaños de 8 × 18 a 16 × 48 (solo valores pares). Todos los símbolos que utilizan la corrección de errores ECC 200 pueden reconocerse porque el módulo de la esquina superior derecha tiene el mismo color de fondo. (binario 0).

Las capacidades adicionales que diferencian los símbolos ECC 200 de los estándares anteriores incluyen:

[9]

Matriz de datos ECC 000–140

Las versiones anteriores de Data Matrix incluyen ECC 000, ECC 050, ECC 080, ECC 100, ECC 140. En lugar de utilizar códigos Reed-Solomon como ECC 200, ECC 000-140 utiliza una corrección de errores basada en convolución. Cada uno varía en la cantidad de corrección de errores que ofrece: ECC 000 no ofrece ninguna y ECC 140 ofrece la mayor. Para la detección de errores en el momento de la decodificación, incluso en el caso de ECC 000, cada una de estas versiones también codifica una verificación de redundancia cíclica (CRC) en el patrón de bits. Como medida adicional, la ubicación de cada bit en el código está determinada por las tablas de ubicación de bits incluidas en la especificación. Estas versiones anteriores siempre tienen un número impar de módulos y se pueden fabricar en tamaños que van desde 9 × 9 a 49 × 49. Todos los símbolos que utilizan la corrección de errores ECC 000 a 140 pueden reconocerse porque el módulo de la esquina superior derecha es el inverso. del color de fondo. (binario 1).

Según ISO/IEC 16022, "ECC 000–140 sólo debe usarse en aplicaciones cerradas donde una sola parte controla tanto la producción como la lectura de los símbolos y es responsable del rendimiento general del sistema".

Estándares

Data Matrix fue inventado por International Data Matrix, Inc. (ID Matrix), que se fusionó con RVSI/ Acuity CiMatrix , que fueron adquiridas por Siemens AG en octubre de 2005 y Microscan Systems en septiembre de 2008. Data Matrix está cubierto hoy por varias normas ISO / IEC. estándares y es de dominio público para muchas aplicaciones, lo que significa que puede usarse sin licencia ni regalías.

Error de corrección

Los códigos Data Matrix utilizan la corrección de errores de Reed-Solomon sobre el campo finito (o GF(2 8 ) ), cuyos elementos están codificados como bytes de 8 bits ; el byte con un valor numérico estándar codifica el elemento de campo donde se considera un elemento primitivo que satisface . El polinomio primitivo es , correspondiente al polinomio número 301, con raíz inicial = 1. El código Reed-Solomon utiliza uno de los 37 polinomios diferentes , con grados que van del 7 al 68, dependiendo de cuántos bytes de corrección de errores agregue el código.

Codificación

Lectores de códigos industriales Data Matrix

El proceso de codificación se describe en la norma ISO/IEC 16022:2006. [10] Se ha publicado un software de código abierto para codificar y decodificar la variante ECC-200 de Data Matrix. [11] [12]

Los diagramas siguientes ilustran la ubicación de los datos del mensaje dentro de un símbolo de Data Matrix. El mensaje es "Wikipedia" y está organizado en un patrón diagonal algo complicado que comienza cerca de la esquina superior izquierda. Algunos caracteres están divididos en dos partes, como la W inicial, y la tercera 'i' está en el "patrón de esquina 2" en lugar de la disposición habitual en forma de L. También se muestran el código de fin de mensaje (marcado como Fin), los bytes de relleno (P) y de corrección de errores (E), y cuatro módulos de espacio no utilizado (X).

Se utilizan múltiples modos de codificación para almacenar diferentes tipos de mensajes. El modo predeterminado almacena un carácter ASCII por palabra de código de 8 bits. Se proporcionan códigos de control para cambiar entre modos, como se muestra a continuación.

Modos de texto

Los modos C40, Texto y X12 son potencialmente más compactos para almacenar mensajes de texto. Son similares a DEC Radix-50 , utilizan códigos de caracteres en el rango de 0 a 39, y tres de estos códigos se combinan para formar un número hasta 40 3 =64000, que se empaqueta en dos bytes (valor máximo 65536) de la siguiente manera :

V = C1×1600 + C2×40 + C3 + 1
B1 = piso(V/256)
B2 = V mod 256

El valor resultante de B1 está en el rango de 0 a 250. El valor especial 254 se utiliza para volver al modo de codificación ASCII.

Las interpretaciones de los códigos de caracteres se muestran en la siguiente tabla. Los modos C40 y Texto tienen cuatro conjuntos separados. El conjunto 0 es el predeterminado y contiene códigos que seleccionan temporalmente un conjunto diferente para el siguiente carácter. La única diferencia es que invierten letras mayúsculas y minúsculas. C40 está principalmente en mayúsculas, con letras minúsculas en el conjunto 3; El texto es al revés. El conjunto 1, que contiene códigos de control ASCII, y el conjunto 2, que contiene símbolos de puntuación, son idénticos en C40 y en modo Texto.

Modo EDIFACT

El modo EDIFACT utiliza seis bits por carácter, con cuatro caracteres empaquetados en tres bytes. Puede almacenar dígitos, letras mayúsculas y muchos signos de puntuación, pero no admite letras minúsculas.

Modo base 256

Los datos del modo Base 256 comienzan con un indicador de longitud, seguido de una cantidad de bytes de datos. Una longitud de 1 a 249 se codifica como un solo byte y las longitudes más largas se almacenan como dos bytes.

L1 = piso(largo / 250) + 249, L2 = largo mod 250

Es deseable evitar largas cadenas de ceros en el mensaje codificado, porque se convierten en grandes áreas en blanco en el símbolo Data Matrix, lo que puede provocar que el escáner pierda la sincronización. (La codificación ASCII predeterminada no usa cero por este motivo). Para que esto sea menos probable, la longitud y los bytes de datos se oscurecen agregando un valor pseudoaleatorio R(n), donde n es la posición en el flujo de bytes.

R(norte) = (149 × norte) módulo 255 + 1

Problemas de patentes

Antes de la expiración de la patente estadounidense 5.612.524 en noviembre de 2007, la empresa de propiedad intelectual Acacia Technologies afirmó que Data Matrix estaba parcialmente cubierta por su contenido. Como propietario de la patente, Acacia supuestamente se puso en contacto con los usuarios de Data Matrix exigiendo tarifas de licencia relacionadas con la patente.

Cognex Corporation , un gran fabricante de dispositivos de códigos de barras 2D, presentó una demanda declarativa el 13 de marzo de 2006 después de recibir información de que Acacia se había puesto en contacto con sus clientes exigiendo tarifas de licencia. El 19 de mayo de 2008, la jueza Joan N. Ericksen del Tribunal de Distrito de Estados Unidos en Minnesota falló a favor de Cognex. [13] El fallo sostuvo que la patente '524, que pretendía cubrir un sistema para capturar y leer códigos de simbología 2D, es inválida e inaplicable debido a la conducta inequitativa de los demandados durante la obtención de la patente.

Si bien el fallo se dictó después de que expirara la patente, excluyó las reclamaciones por infracción basadas en el uso de Data Matrix antes de noviembre de 2007.

En 1991 se presentó una solicitud de patente alemana DE 4107020 y se publicó en 1992. Esta patente no se cita en las solicitudes de patente estadounidenses anteriores y podría invalidarlas. [ cita necesaria ]

Ver también

Referencias

  1. ^ "Código de barras de matriz de datos". Archivado desde el original el 14 de septiembre de 2017.
  2. ^ Stevenson, Rick (diciembre de 2005). "Códigos matriciales de marcado láser en PCB" (PDF) . Diseño y Fabricación de Circuitos Impresos . Consultado el 31 de mayo de 2007 .
  3. ^ Stefan, V. (2012). El uso de códigos 2D en el desarrollo de aplicaciones móviles con base de datos. Revista Valahian de Estudios Económicos, 3 (2), 105-114. Obtenido de https://econpapers.repec.org/article/vlhjournl/v_3a3_3ay_3a2012_3ai_3a2_3ap_3a105-114.htm
  4. ^ "Un hombre alemán programa" Hola mundo "en un campo de trigo". arstechnica.com . 11 de junio de 2007 . Consultado el 22 de febrero de 2017 .
  5. ^ "El primer tatuaje animado del mundo: blog digital de actualidad". digitalbuzzblog.com . Consultado el 22 de febrero de 2017 .
  6. ^ "Primer tatuaje animado: por KARL" youtube.com . Archivado desde el original el 12 de diciembre de 2021 . Consultado el 22 de febrero de 2017 .
  7. ^ "Facebook". facebook.com . Consultado el 22 de febrero de 2017 .
  8. ^ "Prueba de integridad de datos Data Matrix y PDF417" (PDF) . idautomation.com . Archivado desde el original (PDF) el 20 de agosto de 2019 . Consultado el 20 de agosto de 2019 .
  9. ^ Motor, Thomas. «Escáner de códigos QR en línea» . Consultado el 27 de febrero de 2022 .
  10. ^ Página de comercio electrónico ISO para este estándar http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=44230
  11. ^ "GitHub - zxing/zxing: inicio oficial del proyecto ZXing ("Zebra Crossing")". google.com . Consultado el 22 de febrero de 2017 .
  12. ^ "Inicio libdmtx". fuenteforge.net . Consultado el 22 de febrero de 2017 .
  13. ^ "Cognex invalida la patente de Acacia '524; ¿siguiente? Demandar por difamación empresarial". Groklaw . 23 de junio de 2008. Archivado desde el original el 5 de mayo de 2010.

enlaces externos