martes, 8 de febrero de 2011

Los códigos 2D (I)

¿Qué son los códigos 2D? A lo mejor sólo el nombre no ilumina mucho. ¿Y si digo "código de barras"? Ahí ya sí, todos estamos familiarizados con lo que son.

Cuando estuve por Japón, allá por el 2007, recuerdo que una de las muchas cosas que llamó mi atención fueron los móviles japoneses, que ya por aquel entonces se encontraban a años luz de los nuestros. En particular, un día que fui con unas amigas a hacernos unas puri-kura (las típicas fotos-pegatinas pequeñitas, donde después de hacer la foto las puedes decorar con letras u objetos sobre una pantalla antes de imprimirlas) salió en la pantalla del fotomatón una especie de dibujo hecho de cuadraditos blancos y negros, sobre el cual mis amigas pusieron sus geniales móviles encima, accedieron a internet y se descargaron para el móvil además algunas de las fotos que nos acabábamos de hacer.
Con los ojos como platos lo vi y no hice muchas preguntas al respecto, pensando que sería un sistema propio de Japón o algo así, un invento más para sus geniales móviles.
Sin embargo, los años han pasado y ya podemos ver ese sistema, o parecidos, implantados de manera discreta en el mundo que nos rodea: en la factura de teléfono, en las etiquetas de algunos paquetes que vienen del extranjero, algunos anuncios... ¿Qué son y para qué sirven?

Los códigos de barras de toda la vida siempre han sido muy útiles, son como un DNI de un objeto, expresado de tal forma a través de barras negras de manera que resulta muy rápido y fácil de leer e identificar. Sin embargo, la cantidad de información que cabe en un código de este tipo está limitada, si queremos meter más datos, de la manera en que están creados estos códigos acaban ocupando demasiado espacio, complicando el proceso de lectura e incrementando el coste de impresión.
En estos códigos, la información se almacena así:


Entonces, ¿por qué no almacenar la información de manera que haya datos en ambas dimensiones? Codificando la información como una matriz de puntos se reduce el espacio y se aumenta la cantidad de información contenida. Aquí entran en juego los códigos 2D.


LOS CÓDIGOS 2D

Al igual que hay muchos tipos de estándares para los códigos de barras también los hay para códigos 2D.

QR CODE




 Abreviatura para "Quick Response Code", fue creado por la empresa japonesa Denso Wave en 1994 para llevar cuenta de las partes de los coches en la manufactura de vehículos. De hecho son el estándar por defecto de los móviles japoneses.

Al contrario que otros tipos de códigos, que necesitan licencia para poder usarse, los códigos QR los puede generar y utilizar cualquiera. A la hora de generarse, hay unos espacios que deben contener una información fija (ver la imagen): los tres cuadrados de las esquinas, para posicionar el código, un cuadrado más pequeño como alineación, y dos líneas perpendiculares de pequeños cuadrados para la sincronización, además de la información del formato y la versión entre otros. Es necesario también controlar el nivel de distorsión que se puede generar al leer la imagen, por lo que tienen distintos niveles de capacidad de correción.
Los tipos de datos que se pueden codificar son numéricos, alfanuméricos, binarios y kanjis. (Más información aquí)

Páginas que hablan de los códigos QR:
  • Web para generarlos
  • Arte con los QR
  • De la página anterior destaco este artículo, me pareció especialmente interesante e ingenioso la forma que aplicó el autor para poder imprimir estos códigos en superficies curvas.
  • El blog de los códigos QR, en japonés.

DATAMATRIX Y SEMACODE


Los Datamatrix fueron los primeros tipos de matrices de datos, desarrollados en Estados Unidos en 1989. La principal desventaja que tienen respecto a los códigos QR es que su tamaño mínimo es menor. Cada símbolo Datamatrix se encuentra en una zona cuadrada delimitada por dos bordes sólidos y dos punteados, dentro del cual se almacena la información en las celdas.

Los Semacodes vienen de la compañía canadiense del mismo nombre, son un estándar ISO/IEC 16022, y vienen a ser matrices de datos (Datamatrix) en los que se codifican URL's.



PDF417

Está representada por el estándar ISO standard 15438, es de uso gratuito y fue creada en 1991 por la compañía americana Symbol Technologies. Una de las diferencias por las que destaca es porque es de longitud variable: las columnas varían en número entre 3 y 90, y es el usuario el que decide lo anchas y altas que van a ser cada una de las columnas. Para ver cada una de las partes de las que se componen estos códigos click aquí.


DIFERENCIAS EN ALMACENAMIENTO DE ESTOS CÓDIGOS
He aquí las diferencias de manera algo más visual:


Y aquí la diferencia espacial al escribir el dato "12345678901234567890" en distintos formatos:

Código 39
Entrelazado 2 de 5
PDF417
DataMatrix

En la siguiente entrada: Códigos BIDI y otros, Ventajas y desventajas de los códigos 2D y programas para poder ver y generarlos.

No hay comentarios:

Publicar un comentario