[go: up one dir, main page]

ES2947177T3 - Células y matrices de células codificadas - Google Patents

Células y matrices de células codificadas Download PDF

Info

Publication number
ES2947177T3
ES2947177T3 ES20170695T ES20170695T ES2947177T3 ES 2947177 T3 ES2947177 T3 ES 2947177T3 ES 20170695 T ES20170695 T ES 20170695T ES 20170695 T ES20170695 T ES 20170695T ES 2947177 T3 ES2947177 T3 ES 2947177T3
Authority
ES
Spain
Prior art keywords
cell
cells
alignment
bits
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES20170695T
Other languages
English (en)
Inventor
John Adam Ulyate
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gelliner Ltd
Original Assignee
Gelliner Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gelliner Ltd filed Critical Gelliner Ltd
Application granted granted Critical
Publication of ES2947177T3 publication Critical patent/ES2947177T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06093Constructional details the marking being constructed out of a plurality of similar markings, e.g. a plurality of barcodes randomly oriented on an object
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14131D bar codes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Micro-Organisms Or Cultivation Processes Thereof (AREA)
  • Optical Communication System (AREA)
  • Investigating Or Analysing Biological Materials (AREA)

Abstract

Se describen métodos relacionados con la codificación y decodificación de identificadores binarios dentro de una matriz de celdas. Un identificador binario recibido por un dispositivo informático puede codificarse según un esquema de codificación. La matriz de celdas puede incluir múltiples celdas codificadas (10), cada una de las cuales indica una secuencia predeterminada de dos o más bits, y que incluye un perímetro (12) y una marca de alineación (14) y un patrón de línea (17) dentro el perímetro (12). El patrón de línea (17) puede ser uno de un patrón de línea de celda vacía, un patrón que incluye uno o más vectores radiales asimétricos, uno o más vectores diametrales, una cruz simétrica o una estrella simétrica, o algún otro patrón de línea. El esquema de codificación puede definir una pluralidad de colores de celda que corresponden a una secuencia predeterminada de dos o más bits. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Células y matrices de células codificadas
Los códigos de barras son, en general, representaciones ópticas de datos binarios codificados por medio de atributos posicionales o dimensionales. Tales códigos de barras pueden escanearse mediante escáneres ópticos que, junto con un software interpretativo, permiten recuperar los datos binarios codificados.
Un código de barras unidimensional ("1-D") o lineal consiste en barras (es decir, líneas negras) y espacios (es decir, espacios en blanco) de diversas anchuras y emplea únicamente codificación de anchura. Tales códigos de barras 1-D se escanean de lado a lado y la información es relevante solo en una dimensión. Una barra de una única anchura representa un uno binario. Un espacio de una única anchura representa un cero.
Un código de barras bidimensional ("2-D") o de matriz consiste en una disposición de cuadrados oscuros y claros y usa codificación tanto de anchura como de altura. En un código de matriz 2-D, el código de matriz consiste en módulos. Un módulo oscuro es un uno binario y un módulo claro es un cero binario. Los códigos de barras 2-D se escanean de lado a lado y de arriba a abajo y la información es relevante en dos dimensiones. Un ejemplo de un código de barras 2-D de este tipo es el bien conocido y ampliamente usado código QR. El documento [03b] EP1656633B1 desvela un método implementado por ordenador diseñado para la impresión bajo demanda en impresoras digitales de un patrón de codificación para codificar datos en una superficie. El patrón de codificación comprende una pluralidad de secuencias numéricas paralelas que representan diferentes rotaciones de una secuencia numérica cíclica. El método podría implicar recuperar una representación digital del patrón de codificación e identificar las rotaciones en el mismo para derivar información de desplazamiento que designa una diferencia de fase entre cada rotación y la secuencia numérica cíclica. En la operación de impresión, todas las diferentes rotaciones pueden estar representadas por la secuencia numérica cíclica realizada como al menos una imagen de bloque de código. Esta imagen de bloque de código se repite de acuerdo con la información de desplazamiento para formar una imagen imprimible en la impresora.
El solicitante ha apreciado que es posible proporcionar una célula codificada que representa más de un único bit de información, permitiendo de esta manera la provisión de células codificadas (por ejemplo, una matriz de células) que representan mayores cantidades de información que los códigos de barras de la técnica anterior. Además, el solicitante ha apreciado que es posible incluir, dentro de una matriz de células, células que identifican un esquema de codificación usado para codificar otras células en la matriz de células. Tal identidad puede reducir una cantidad de tiempo necesario para decodificar una matriz de células. Aún más, el solicitante ha apreciado que una célula dentro de una matriz de células puede incluir aspectos redundantes para confirmar la precisión de la decodificación de la matriz de células. Aún más, el solicitante ha apreciado que se pueden definir células codificadas con diferentes tolerancias de nivel de ruido para acomodar diferentes medios para dar salida de una célula o matriz de células y para acomodar diferentes medios para capturar una célula o matriz de células. La invención se define en las reivindicaciones adjuntas.
En el presente documento se describen realizaciones ilustrativas. En un aspecto, una realización ilustrativa toma la forma de un método de acuerdo con cualquiera de las reivindicaciones 1-13.
En otro aspecto, una realización ilustrativa toma la forma de una máquina de acuerdo con la reivindicación 22.
En otro aspecto, una realización ilustrativa toma la forma de un medio legible por ordenador no transitorio de acuerdo con la reivindicación 23.
En otro aspecto, una realización ilustrativa toma la forma de un método de acuerdo con cualquiera de las reivindicaciones 14-21.
En otro aspecto, una realización ilustrativa toma la forma de un artículo del método de la reivindicación 24.
Estos, así como otros aspectos y ventajas serán evidentes para los expertos en la materia mediante la lectura de la siguiente descripción detallada, con referencia cuando sea apropiado a los dibujos adjuntos. Las realizaciones descritas en el presente documento pretenden ser únicamente ejemplos y no limitan necesariamente el alcance de la invención como se indica en las reivindicaciones.
Descripción de las figuras
Las realizaciones ilustrativas se describen en el presente documento con referencia a los dibujos.
La Figura 1 es una representación esquemática de una célula codificada de acuerdo con una o más realizaciones ilustrativas.
La Figura 2 ilustra una pluralidad de estados o patrones de línea de la célula codificada de la Figura 1 de acuerdo con una o más realizaciones ilustrativas.
La Figura 3 ilustra estados o patrones de línea adicionales de la célula codificada de la Figura 1 de acuerdo con una o más realizaciones ilustrativas.
La Figura 4 ilustra estados o patrones de línea adicionales de la célula codificada de la Figura 1 de acuerdo con una o más realizaciones ilustrativas.
La Figura 5 ilustra otro estado o patrón de línea de la célula codificada de la Figura 1 de acuerdo con una o más realizaciones ilustrativas.
La Figura 6 ilustra un nodo de alineación para usar en una matriz de células de acuerdo con una o más realizaciones ilustrativas.
La Figura 7 ilustra otro nodo de alineación para usar en una matriz de células de acuerdo con una o más realizaciones ilustrativas.
La Figura 8 ilustra estados o patrones de línea adicionales de la célula codificada de la Figura 1 de acuerdo con una o más realizaciones ilustrativas.
La Figura 9 es una representación esquemática de una célula codificada con una marca de alineación alternativa de acuerdo con una o más realizaciones ilustrativas.
La Figura 10 ilustra una matriz de células de acuerdo con una o más realizaciones ilustrativas.
La Figura 11 ilustra una representación esquemática de células codificadas con un perímetro alternativo de acuerdo con una o más realizaciones ilustrativas.
La Figura 12 ilustra una representación esquemática de células codificadas adicionales de acuerdo con una o más realizaciones ilustrativas.
La Figura 13 es un diagrama de bloques que muestra un sistema ilustrativo de acuerdo con una o más realizaciones ilustrativas.
La Figura 14 es un diagrama de bloques que muestra una máquina ilustrativa de acuerdo con una o más realizaciones ilustrativas.
La Figura 15 es un diagrama de flujo que representa un conjunto de funciones que pueden llevarse a cabo de acuerdo con una o más realizaciones ilustrativas.
La Figura 16 es un diagrama de flujo que representa otro conjunto de funciones que pueden llevarse a cabo de acuerdo con una o más realizaciones ilustrativas.
La Figura 17 es un diagrama de flujo que representa otro conjunto de funciones que pueden llevarse a cabo de acuerdo con una o más realizaciones ilustrativas.
La Figura 18 ilustra estados o patrones de línea adicionales de la célula codificada de la Figura 1 de acuerdo con una o más realizaciones ilustrativas.
La Figura 19 ilustra una representación esquemática de células codificadas adicionales de acuerdo con una o más realizaciones ilustrativas.
La Figura 20 ilustra características de una matriz de células de acuerdo con una o más realizaciones ilustrativas. Descripción detallada
I. INTRODUCCIÓN
Esta descripción describe realizaciones ilustrativas, al menos algunas de las cuales pertenecen a células codificadas y matrices de células. En general, una célula codificada puede incluir un perímetro, una marca de alineación dentro del perímetro y un patrón de línea dentro del perímetro. Una matriz de células puede incluir dos o más células. Una matriz de células puede denominarse "matriz de células codificada". Una matriz de células puede incluir células que codifican bits de un identificador binario y otras células.
A lo largo de esta descripción, los artículos "un" o "una" se usan para introducir elementos de las realizaciones ilustrativas. Cualquier referencia a "un" o "una" se refiere a "al menos uno/a", y cualquier referencia a "el/la" se refiere a "el/la al menos uno/a", salvo que se especifique lo contrario, o salvo si el contexto indica claramente lo contrario. La intención de usar la conjunción "o" dentro de una lista descrita de al menos dos términos es para indicar cualquiera de los términos enumerados o cualquier combinación de los términos enumerados. El uso de números ordinales como "primero", "segundo", "tercero", y así sucesivamente, es para distinguir los elementos respectivos en lugar de indicar un orden particular de esos elementos, a menos que el contexto indique claramente lo contrario. A través de toda esta descripción, el término "múltiple" y la expresión "una pluralidad de" se refieren a "dos o más" o "más de uno".
Los diagramas, representaciones y diagramas de flujo que se muestran en las figuras se proporcionan simplemente como ejemplos y no pretenden ser limitativos. Muchos de los elementos ilustrados en las figuras o descritos en el presente documento son elementos funcionales que pueden implementarse como componentes discretos o distribuidos o en conjunto con otros componentes, y en cualquier combinación y ubicación adecuadas. Los expertos en la materia apreciarán que en su lugar se pueden usar otras disposiciones y elementos (por ejemplo, máquinas, interfaces, funciones, órdenes o agrupaciones de funciones u operaciones). Cada elemento, o componentes de un elemento, mostrado en las figuras o descrito en esta descripción, en solitario o junto con uno o más elementos o componentes del mismo, puede denominarse sistema o máquina. Además, diversas funciones u operaciones descritas como realizadas por uno o más elementos pueden llevarse a cabo por un procesador que ejecuta instrucciones de programa legibles por ordenador o por cualquier combinación de hardware, firmware o software.
II. CÉLULA CODIFICADA
La Figura 1 ilustra una célula ilustrativa 10. La célula 10 incluye un perímetro 12, una marca de alineación 14 dentro del perímetro 12 y un patrón de línea 16 dentro del perímetro 12. Los aspectos de la célula 10, tales como el patrón de línea 16, pueden representar datos, tales como un único bit predeterminado de datos binarios (o más simplemente, un bit), una secuencia predeterminada de dos o más bits de datos binarios (o más simplemente, bits), u otros datos como se describe en el presente documento. En tales casos, la célula 10 puede denominarse célula codificada 10. "Dentro del perímetro" se refiere al interior del perímetro (por ejemplo, dentro de un área definida por el perímetro 12). El área definida por el perímetro 12 puede denominarse un cuerpo de célula 11. Como se muestra en la Figura 1, el perímetro 12 y el cuerpo de célula 11 tienen forma hexagonal, pero no están limitados a lo mismo. Geométricamente hablando, la célula 10 puede tener una o más líneas de simetría. Una célula 10 puede incluir un centro, tal como una ubicación dentro del perímetro en la que se cruzan dos o más líneas de simetría de la célula.
El patrón de línea 16 puede denominarse patrón de línea de células vacías, que es un patrón de línea de célula que carece de líneas dentro del perímetro 12. En la Figura 2 a la Figura 5, en la Figura 12, en la Figura 13 y en la Figura 18, se muestran ejemplos de patrones de línea con al menos una línea dentro del perímetro 12. Cada patrón de línea de una célula codificada puede corresponder a un estado de célula distinto. Por ejemplo, un patrón de línea de células vacías, tal como el patrón de línea 16, puede corresponder a un primer estado (por ejemplo, el estado n.° 1) de la célula codificada 10.
El perímetro 12 define un borde continuo de la célula 10. El perímetro 12 puede ser negro o de otro color, tal como un color identificado en la Tabla 6 a continuación. El perímetro 12 puede ser un polígono tal como, pero sin limitación, un triángulo, un cuadrilátero, un pentágono, un hexágono o un dodecágono. Sin embargo, el perímetro de una célula no está así limitado, ya que al menos una porción de un perímetro se puede curvar. Como ejemplo, un perímetro puede comprender un perímetro circular, un perímetro ovalado o un perímetro elíptico.
La marca de alineación 14 puede incluir o representarse como un círculo (por ejemplo, un punto), pero no está así limitada. El perímetro 12 y la marca de alineación 14 pueden incluir cada uno un centro respectivo. La marca de alineación 14 puede ubicarse en el centro (es decir, un centro de la marca de alineación 14 puede ubicarse en el centro de la célula 10). Como alternativa, un centro de la marca de alineación 14 se puede desplazar desde un centro de la célula 10.
Una matriz de células puede múltiples células codificadas. Una matriz de células puede codificar un identificador binario. Un patrón de línea en cada célula codificada puede corresponder a uno de una pluralidad de patrones de línea predefinidos. Cada patrón de línea predefinido y cada célula que incluye ese patrón de línea dentro de su perímetro 12 puede corresponder a un estado de célula. Un patrón de línea o estado de célula puede corresponder a una secuencia predeterminada de dos o más bits. Otros patrones de línea o estado de célula pueden corresponder a otros datos, tal como una instrucción de decodificación. Una célula con tal patrón de línea se puede denominar "célula de decodificación".
Una pluralidad de patrones de línea predefinidos puede incluir el patrón de línea de células vacías 16. Cada uno de uno o más de los patrones de línea predefinidos puede incluir uno o más vectores radiales asimétricos, tal como un patrón de línea de vector radial asimétrico mostrado en la Figura 2. Cada uno del uno o más de la pluralidad de patrones de línea predefinidos puede incluir uno o más vectores diametrales, tales como un patrón de línea vectorial diametral mostrado en la Figura 3. Cada uno del uno o más de la pluralidad de patrones de línea predefinidos puede incluir una cruz simétrica, tal como un patrón de línea de cruz simétrica mostrado en la Figura 4. Cada uno del uno o más de la pluralidad de patrones de línea predefinidos puede incluir una estrella simétrica, tal como el patrón de línea de estrella simétrica mostrado en la Figura 5. Cada uno del uno o más de la pluralidad de patrones de línea predefinidos puede incluir un patrón de línea curva como se muestra en la Figura 18.
Una célula de decodificación puede indicar un esquema de codificación usado para codificar un identificador binario. Por ejemplo, una célula de decodificación puede indicar un esquema de codificación que usa ocho estados de célula para representar una secuencia predeterminada de tres bits. Como otro ejemplo, una célula de decodificación puede indicar un esquema de codificación que usa células coloreadas para representar una secuencia predeterminada de dos o más bits.
Una célula de decodificación puede indicar diversas instrucciones de decodificación. Como ejemplo, una instrucción de decodificación puede incluir una instrucción de inicio de fila que indica que una célula es la primera célula en una fila de matriz de células (es decir, una fila de la matriz de células). Un dispositivo informático puede determinar que una célula codificada adyacente a la célula de decodificación en esa fila es la primera célula de la matriz de células que puede decodificarse para recuperar un identificador binario. Como otro ejemplo, una instrucción de decodificación puede incluir una instrucción de fin de fila que indica que una célula es la última célula en una fila de matriz de células. Un dispositivo informático puede determinar que una célula codificada adyacente a la célula de decodificación que incluye la instrucción de fin de fila es la última célula de esa fila a decodificar para recuperar el identificador binario. Como otro ejemplo, una instrucción de decodificación puede incluir una instrucción de fin de matriz que un dispositivo informático puede usar para determinar que no hay células adicionales en la matriz de células para escanear o decodificar.
A continuación, la Figura 2 muestra ocho instancias de la célula codificada 10 que incluyen un perímetro 12, una marca de alineación 14 dentro del perímetro 12 y un patrón de línea 17 dentro del perímetro 12. Los perímetros y las marcas de alineación en estas células codificadas pueden ser idénticos. Cada patrón de línea 17 mostrado en la Figura 2 está ubicado a un número diferente de grados desde un ángulo de referencia dado.
Cada célula codificada 10 mostrada en la Figura 2 incluye un patrón de línea distinto 17 que se extiende desde una marca de alineación hasta el perímetro. Los patrones de línea 17 son ejemplos de líneas radiales asimétricas, a las que se puede hacer referencia como "vectores radiales asimétricos" o "patrones de línea asimétricos". Además, una línea radial asimétrica dentro de una célula se puede configurar dentro de una de las siguientes disposiciones ilustrativas: (i) la línea radial asimétrica se extiende lejos de una marca de alineación hasta un punto debajo del perímetro, (ii) la línea radial asimétrica se extiende lejos de un perímetro hasta un punto debajo de la marca de alineación, y (iii) la línea radial asimétrica se extiende entre un perímetro y una marca de alineación sin entrar en contacto entre el perímetro y la marca de alineación.
De acuerdo con una realización ilustrativa, un patrón de línea asimétrico (por ejemplo, una línea radial asimétrica) de una célula puede alinearse en una cualquiera de ocho direcciones posibles en incrementos angulares de 45° desde una dirección de referencia dada, en concreto en posiciones angulares de 0 °, 45°, 90°, 135°, 180°, 225°, 270° y 315° desde la dirección de referencia, como se muestra en la Figura 2. Los patrones de línea asimétricos 17, como un atributo de la célula 10, definen ocho estados adicionales (por ejemplo, los estados n.° 2 a n.° 9) de la célula 10. Por sí solos, estos ocho estados adicionales pueden representar tres bits de datos binarios embebidos, como se ilustra en la Tabla 1.
Figure imgf000005_0001
Tabla 1
La célula 10 puede incluir otro tipo de patrón de línea en forma de un vector diametral 18 (es decir, simétricamente opuesto) que pasa a través de la marca de alineación 14, como se ilustra en la Figura 3. Un vector diametral puede denominarse "patrón de línea diametral". De acuerdo con una o más realizaciones ilustrativas, los vectores diametrales 18 pueden alinearse en una cualquiera de las cuatro direcciones posibles en incrementos angulares de 45° desde una dirección de referencia dada, en concreto en posiciones angulares de 0°, 45°, 90° y 135° desde la dirección de referencia, como se muestra en la Figura 3. La adición de los vectores diametrales 18 como un atributo adicional de la célula 10 define cuatro estados adicionales (por ejemplo, los estados n.° 10 a n.° 13) de la célula 10, que, por sí mismos, pueden representar dos bits de información embebida, como se ilustra en Tabla 2.
Figure imgf000006_0002
Tabla 2
De acuerdo con otras realizaciones ilustrativas, los incrementos angulares desde una dirección de referencia dada para vectores diametrales pueden ser distintos de 45° para proporcionar un número diferente de estados de célula correspondientes a un conjunto de vectores diametrales. Los vectores diametrales 68 que pasan a través de una marca de alineación también se muestran en la Figura 11.
La célula 10 puede incluir otro tipo de patrón de línea en forma de una cruz simétrica 20 centrada en la marca de alineación 14, como se ilustra en la Figura 4. Una cruz simétrica puede denominarse "patrón de línea de cruz simétrica". De acuerdo con una realización ilustrativa, la cruz simétrica 20 puede alinearse en cualquiera de dos direcciones posibles en incrementos angulares de 45° desde una dirección de referencia dada, en posiciones angulares de 0° o 45° desde la dirección de referencia. La adición de la cruz simétrica 20 como otro atributo de la célula 10 define otros dos estados (por ejemplo, los estados n.° 14 y n.° 15) de la célula 10 que, por sí solos, pueden representar un único bit de información embebida, como se ilustra en la Tabla 3.
Figure imgf000006_0003
Tabla 3
De acuerdo con otras realizaciones ilustrativas, un incremento angular desde una dirección de referencia dada para cruces simétricas puede ser distinto de 45° para proporcionar un número diferente de estados de célula usando un conjunto de cruces simétricas. Las cruces simétricas 59 que pasan a través de una marca de alineación también se muestran en la Figura 11.
La célula 10 puede incluir otro tipo de patrón de línea en forma de una estrella simétrica 22 centrada en la marca de alineación 14, como se ilustra en la Figura 5. Una estrella simétrica 55 que pasan a través de una marca de alineación también se muestra en la Figura 11. El uso de la estrella simétrica 22 como otro atributo de la célula 10 define un estado adicional (por ejemplo, el estado n.° 16) que, junto con la línea de células vacías 16, puede representar un único bit de información embebida, como se ilustra en la Tabla 4.
Figure imgf000006_0004
Tabla 4
Los diferentes tipos de patrones de línea mostrados en la Figura 1 a la Figura 5 no tienen que usarse de forma aislada entre sí o de otros patrones de línea. Por ejemplo, se apreciará que el patrón de línea de células vacías 16 y el estado de célula correspondiente n.° 1, los ocho patrones de línea adicionales y los estados de célula correspondientes n.° 2 a n.° 9 definidos por los patrones de línea asimétricos 17 de la Figura 2, los cuatro patrones de línea adicionales y los estados de célula correspondientes n.° 10 a n.° 13 definidos por los patrones de línea diametrales 18 de la Figura 3, los dos patrones de línea adicionales y los estados de célula correspondientes n.° 14 y n.° 15 definidos por el patrón de línea de cruz simétrica 20 de la Figura 4, y el patrón de línea y el estado de célula correspondiente n.° 16 definido por la estrella simétrica 22 de la Figura 5, en combinación, dan como resultado 16 patrones de línea distintos y estados de célula correspondientes. Estos 16 patrones de línea distintos se pueden usar para codificar un total de cuatro bits de datos binarios, dos dígitos octales o un dígito hexadecimal, como se ilustra en la Tabla 5.
Figure imgf000006_0001
continuación
Figure imgf000007_0001
Tabla 5
Cada patrón de línea ilustrativo ilustrado en la Figura 2 a la Figura 5 incluye al menos una línea dentro del perímetro 12. Una línea es una marca continua. Los patrones de línea mostrados en la Figura 2 a la Figura 5 son líneas rectas, pero las realizaciones ilustrativas no están así limitadas. La Figura 18 ilustra doce patrones de línea ilustrativos que usan líneas curvas. En particular, la Figura 18 muestra doce células 10 que incluyen el perímetro 12, la marca de alineación 14 dentro del perímetro 12 y uno de los patrones de línea 91, 93, 95 y 97 dentro del perímetro 12. Cada uno de los patrones de línea mostrados en la Figura 18 puede corresponder a un estado de célula distinto.
Cada patrón de línea 91 se extiende entre dos ubicaciones distintas (separadas por N1 grados) en el perímetro 12 y es tangencial a la marca de alineación 14. El patrón de línea 91 puede denominarse "patrón de línea tangencial curva única".
Cada patrón de línea 93 incluye dos líneas curvas que se extienden entre dos ubicaciones distintas (separadas por N2 grados) en el perímetro 12 y que son tangenciales a la marca de alineación 14. El patrón de línea 93 puede denominarse "patrón de línea tangencial curva dual". Un experto en la materia entenderá que tres o más líneas curvas tangenciales a la marca de alineación 14 y que se extienden entre dos ubicaciones distintas en el perímetro 12 podrían incluirse dentro de una célula para proporcionar estados de célula adicionales. En general, un patrón de línea con dos líneas curvas más tangenciales a la marca de alineación 14 y que se extiende entre dos ubicaciones distintas en el perímetro 12 puede denominarse "patrón de línea tangencial curva múltiple".
Cada patrón de línea 95 incluye una única línea curva que se extiende entre dos ubicaciones distintas (separadas por N3 grados) en el perímetro 12 y que pasa por la marca de alineación 14. De manera similar, cada patrón de línea 97 incluye una única línea curva que se extiende entre dos ubicaciones distintas (separadas por N4 grados) en el perímetro 12 y que pasa por la marca de alineación 14. Los patrones de línea 95 y 97 pueden denominarse "patrón de línea de paso a través de curva única". Un experto entenderá que dos o más líneas curvas que pasan a través de la marca de alineación 14 y que se extienden entre dos ubicaciones distintas en el perímetro 12 podrían incluirse dentro de una célula para proporcionar estados de célula adicionales. En general, un patrón de línea con dos líneas curvas más que pasan a través de la marca de alineación 14 y se extienden entre dos ubicaciones distintas en el perímetro 12 se puede denominar "patrón de línea de paso a través de múltiples curvas". Uno o más de N1, N2, N3, y N4 puede ser 90°, 120°, 180° u otro número de grados.
Para esta descripción, una línea, ya sea recta o curva, es una marca continua. Una línea discontinua es una línea no continua y se la conoce comúnmente como "línea discontinua de líneas". Cualquier patrón de línea descrito en el presente documento o mostrado en las figuras puede usarse con una línea discontinua en lugar de una línea (es decir, una marca continua).
El perímetro de una célula, tal como el perímetro 12, se puede configurar para que tenga una anchura predeterminada denominada en el presente documento "anchura de perímetro". Una línea de un patrón de línea se puede configurar para tener una anchura predeterminada denominada en el presente documento "anchura de línea".
De acuerdo con cualquier realización descrita en el presente documento, la anchura del perímetro para una o más células en una matriz de células puede ser igual a la anchura de línea para esas mismas una o más células. Como ejemplo, la anchura de perímetro y la anchura de línea para una célula dada pueden ser iguales a 1 unidad, 1,5 unidades, 2 unidades, 2,4 unidades, 3 unidades o algún otro número de unidades. Las unidades pueden ser, por ejemplo, milímetros, centímetros, pulgadas o alguna otra unidad apropiada para medir la anchura de un objeto.
De acuerdo con cualquier realización descrita en el presente documento, la anchura de perímetro para una o más células en una matriz de células puede ser igual a la anchura de la línea multiplicado por un primer multiplicador de anchura (es decir, un decimal positivo mayor que 1,0 o menor que 1,0). En consecuencia, la anchura de línea para esas una o más células en una matriz de células puede ser igual a la anchura de perímetro multiplicado por un segundo multiplicador de anchura que equivale a 1 dividido por el primer multiplicador de anchura. De acuerdo con estas realizaciones ilustrativas, la anchura de perímetro para una célula dada puede ser igual a 1 unidad, 1,5 unidades, 2 unidades, 2,4 unidades, 3 unidades o algún otro número de unidades, y la anchura de línea para la célula dada puede ser igual a 1 unidad, 1,5 unidades, 2 unidades, 2,4 unidades, 3 unidades o algún otro número de unidades por el segundo multiplicador de anchura.
III. CODIFICACIÓN DE COLOR
Una célula codificada, tal como la célula 10, incluye un atributo de color. Por ejemplo, contra un fondo blanco, los colores de las células pueden comprender el negro y los colores primarios detectables del espectro visible, en concreto, rojo, amarillo, verde, cian, azul, magenta y naranja, es decir, un total de ocho colores. Estos ocho atributos de color pueden definir ocho estados adicionales de la célula codificada. Por sí solos, estos ocho estados adicionales pueden codificar tres bits de datos binarios, como se ilustra en la Tabla 6. Un color en la Tabla 6 puede remplazarse por otro color. Por ejemplo, el magenta puede reemplazarse por violeta u otro color.
Figure imgf000008_0002
Tabla 6
El atributo de color de una célula codificada, tal como la célula 10, se puede usar para aumentar la capacidad de datos de la célula. En un ejemplo, el color de una célula codificada puede usarse para representar datos precursores de los datos binarios representados por el patrón de línea de la célula. En particular, el color de la célula codificada 10 puede usarse para representar los bits más significativos de una concatenación con los datos binarios representados por el patrón de línea. Como ilustración, en el ejemplo anterior donde la célula codificada 10 se puede presentar en uno cualquiera de los 8 colores diferentes, una célula codificada azul con el estado de célula n.° 5 que representa los datos binarios 011 (como se ilustra por los datos de la Tabla 1) producirá un patrón de bits concatenados de los datos binarios 101011.
En una disposición alternativa, los datos binarios representados por el patrón de línea pueden usarse para representar los bits más significativos de una concatenación con los datos binarios representados por el color de la célula. En el caso de una célula codificada en azul que representa los datos binarios 101 con el estado de célula n.° 5 que representa los datos binarios 011, un patrón de bits concatenados para esta disposición alternativa sería el dato binario 011101.
El atributo de color también puede usarse con un número de estados de célula distintos de los ocho estados de célula identificados en la Tabla 2. Por ejemplo, cada uno de los 16 estados posibles de la célula codificada 10 ilustrada en la Figura 1 a la Figura 5 se puede mostrar o imprimir en cualquiera de los 8 colores identificados en la Tabla 6. Los 16 estados de célula (es decir, los estados n.° 1 a n.° 16) de la célula codificada 10 y los colores de célula (colores n.° 1 a n.° 8) de la célula codificada 10 se pueden usar para codificar 7 bits de datos binarios, lo que es equivalente a números octales (en base 8) que van desde el dato octal 000 hasta el dato octal 177, inclusive. Este esquema de codificación se puede usar, por ejemplo, para representar caracteres en una tabla ASCII típica con 128 caracteres. La Tabla 7 muestra un ejemplo en el que el color de cada célula codificada puede representar los tres bits más significativos de los datos binarios y los estados de célula n.° 1 a n.° 16 pueden representar los bits menos significativos de los datos binarios. También son posibles otros ejemplos del uso de estados de célula y colores de célula para representar datos binarios o un intervalo de números octales.
Figure imgf000008_0001
continuación
Figure imgf000009_0001
continuación
Figure imgf000010_0001
Tabla 7
IV. TOLERANCIA A FALLOS
Para que una célula codificada 10 mostrada en la Figura 1 a la Figura 5 se use con éxito en una matriz de células, puede ser importante que la célula codificada sea escanee (es decir, "lea") y decodifique con éxito y de manera confiable. Si la célula codificada 10 tiene ruido, aumenta la posibilidad de exploración y decodificación erróneas. Puede surgir una célula con ruido, por ejemplo, si se imprime con una impresora de mala calidad o si se muestra en un dispositivo de visualización de baja resolución.
Los diversos estados de las células codificadas 10 mostrados en la Figura 1 a la Figura 5 muestran diferentes grados de tolerancia a fallo (o "tolerancia al ruido"), es decir, la capacidad de escanearse y decodificarse de manera fiable en presencia de ruido. El conjunto más tolerante a fallos de estados de célula codificados puede ser el conjunto de ocho estados de célula n.° 2 a n.° 9 ilustrados en la Figura 2. Por conveniencia, este nivel de tolerancia al ruido se denominará tolerancia al ruido de nivel I. El patrón de línea 17 en cada uno de estos estados de nivel I es de naturaleza asimétrica y, como resultado, una célula con ruido en cada uno de estos estados puede leerse o decodificarse con la menor probabilidad de error.
El siguiente conjunto más tolerante al ruido de estados de célula codificados puede ser el conjunto de cuatro estados de célula n.° 10 a n.° 13 ilustrado en la Figura 3, en el que el patrón de línea diametral 18 en cada uno de estos estados es simétrico. Este nivel de tolerancia al ruido se denominará tolerancia al ruido de nivel II. Por lo tanto, es posible que un estado de célula con ruido de nivel I se escanee y decodifique erróneamente como un estado de célula de nivel II.
Menos tolerancia a fallos todavía puede ser el conjunto de dos estados de célula codificados n.° 14 y n.° 15 ilustrados en la Figura 4 (denominado tolerancia al ruido de nivel III), y el menos tolerante a fallos de todos (para los 16 estados de célula de la Figura 1 a la Figura 5) puede ser el conjunto que comprende el estado de célula n.° 16 de la Figura 5 y la célula vacía (estado n.° 1) de la Figura 1 (denominado tolerancia al ruido de nivel IV).
En consecuencia, una célula codificada de "alta definición" que contiene poco o ningún ruido puede usar los 16 estados de célula posibles (es decir, los estados del n.° 1 al n.° 16, que son los conjuntos de estados de célula codificados de nivel I, II, III y IV). Como se describió anteriormente, sin considerar el color de la célula, una célula codificada 10 que puede usar 16 estados puede codificar 4 bits de datos binarios, como se muestra en la Tabla 5. Por otro lado, si una célula codificada tiene ruido, puede usar únicamente los 8 patrones de líneas para los estados de célula n.° 2 a n.° 9 con tolerancia de ruido de nivel I. Al hacerlo, sin tener en cuenta el color de la célula, cada célula codificada 10 podría codificar tres bits de datos binarios, como se muestra en la Tabla 1. Por lo tanto, puede haber un compromiso entre la capacidad de la célula codificada y el ruido de la célula codificada.
V. PATRONES DE LÍNEA DE CÉLULA ALTERNATIVOS
La Figura 1 y la Figura 3 a la Figura 5 ilustran instancias de célula codificada 10 que tienen patrones de línea simétricos. La Figura 2 ilustra el uso de un único patrón de línea asimétrico 17 en cada instancia de célula codificada 10. Sin embargo, la célula codificada 10 no se limita a las instancias de patrones de línea asimétricos mostrados en la Figura 2. Por ejemplo, la célula codificada 10 puede incluir un patrón de línea con dos o más líneas dispuestas asimétricamente.
La Figura 8 ilustra una matriz de células 80 que incluye doce instancias de la célula 10 que incluyen patrones de línea asimétricos 82. En la Figura 8 , cada célula 10 incluye un patrón de línea asimétrico 82 con un par de líneas separadas por 90 grados, cuando se considera la menor cantidad de grados que separan el par de líneas. Las líneas de patrones de línea asimétricos 82 de la matriz de células 80 pueden alinearse en cualquiera de los doce pares de direcciones posibles en incrementos angulares de 30° desde una dirección de referencia dada, en concreto en posiciones angulares de 0° y 90°, 30° y 120°, 60° y 150°, 90° y 180°, 120° y 210°, 150° y 240°, 180° y 270°, 210° y 300°, 240° y 330°, 270° y 0°, 300° y 30°, y 330° y 60° desde la dirección de referencia, como se muestra en la Figura 8 (empezando con la célula superior más a la izquierda y moviéndose de izquierda a derecha en cada fila). Una célula codificada 10 con un patrón de línea asimétrico, tal como los patrones de línea asimétricos 82, puede ser tolerante al ruido de nivel II.
Las células codificadas 10 mostradas en la Figura 8 se pueden definir como estados adicionales de la célula codificada 10. A partir de la fila superior, moviéndose de izquierda a derecha en cada fila de la Figura 8 , se puede definir que las células codificadas tienen estados de célula n.° 17 a n.° 28. Se pueden asociar diversos atributos con los estados de célula n.° 17 a n.° 28. Por ejemplo, la Tabla 8 muestra que los estados de célula n.° 17 a n.° 24 se pueden asociar con 3 bits de datos binarios, y los estados de célula n.° 25 a n.° 28 se pueden asociar con instrucciones de decodificación para su uso por un dispositivo informático (por ejemplo, un escáner o decodificador) que escanea una matriz de células. En una disposición alternativa, uno o más de los estados de célula n.° 17 a n.° 28 se pueden asociar con una instrucción de decodificación que indica un inicio de una fila de matriz de células o un inicio de una matriz de células. Tales células de decodificación se pueden usar con una matriz de células que usa diferentes colores de célula o con una célula codificada que usa un único color de célula.
Figure imgf000011_0001
Tabla 8
Ocho estados de célula dentro de los estados de célula n.° 17 a n.° 28 (por ejemplo, los estados de célula n.° 17 a n.° 24) se pueden combinar con los estados de célula n.° 2 a n.° 9 para poder codificar cuatro bits de datos binarios como se muestra en la Tabla 9. Los estados de estas células mostrados en la Tabla 9 son tolerantes al ruido de nivel II. Se apreciará que pueden definirse diversos conjuntos de dieciséis células codificadas para codificar cuatro bits de datos binarios.
Figure imgf000011_0002
continuación
Figure imgf000012_0001
Tabla 9
VI. MARCAS DE ALINEACION ALTERNATIVAS
A continuación, la Figura 9 ilustra una versión alternativa de una célula codificada 15 con un patrón de línea de células vacías. Como se muestra en la Figura 9, la célula 15 incluye un perímetro 19, una marca de alineación 17 dentro del perímetro 19 y un patrón de línea 13 dentro del perímetro 19. La marca de alineación 17 es una marca de alineación de desplazamiento que puede estar desplazada desde un centro de la célula codificada 15 o que está dentro de una célula codificada que no incluye un centro definido. La marca de alineación 17 se puede representar como un cuadrilátero (por ejemplo, un rectángulo), como se muestra en la Figura 2, pero no está así limitado.
Las marcas de alineación 14 y 17, mostradas en la Figura 1 y la Figura 9, respectivamente, se muestran como marcas de alineación llenas, pero una marca de alineación de una célula codificada puede ser, como alternativa, una marca de alineación sin llenar o una marca parcialmente llena. Además, una marca de alineación se puede representar como una forma distinta de un círculo o un cuadrilátero, tal como un triángulo, un pentágono, un hexágono, un octógono o alguna otra forma.
VII. MATRICES DE CÉLULAS
Las matrices de células pueden estar dispuestas en diversas configuraciones. En un aspecto, una matriz de células se puede disponer en una configuración en la que todas las células (y los perímetros de las células) tienen la misma forma. La matriz de células 30 mostrada en la Figura 10 es un ejemplo de una matriz de células en la que todas las células tienen la misma forma. Como alternativa, una matriz de células se puede disponer en una configuración en la que la matriz de células incluye al menos dos células (y perímetros) de formas diferentes. La Figura 20 muestra una matriz de células 101 o una porción de la matriz de células que incluye células con forma de triángulo 105 y células con forma de cuadrado 107. Las células con forma de triángulo 105 pueden configurarse como células con forma de triángulo 77 analizadas con respecto a la Figura 12, y las células con forma de cuadrado 107 pueden configurarse como células de forma rectangular analizadas con respecto a la Figura 11. También son posibles otros ejemplos de una matriz de células que incluye al menos dos células de formas diferentes.
En otro aspecto, una matriz de células puede incluir un espacio no celular entre múltiples células que colindan entre sí. La Figura 20 ilustra espacios no celulares 103 entre múltiples células de la matriz de células 101. Si una matriz de células con espacio no celular entre células adyacentes en la matriz de células es aceptable o preferida, a continuación, la matriz de células puede incluir células con perímetros que tienen líneas curvas, tales como, pero sin limitación, un perímetro circular, un perímetro ovalado o un perímetro elíptico.
En otro aspecto, una matriz de células puede incluir múltiples células que están estrechamente empaquetadas sin espacio no celular y sin huecos. La Figura 19 ilustra una matriz de células 113 que incluye múltiples células de forma de cruz 115 que están estrechamente empaquetadas sin espacio no celular y sin huecos.
En otro aspecto más, una matriz de células puede incluir un conjunto de células estrechamente empaquetadas dispuestas en un patrón específico que representa una forma, logotipo, configuración o similar deseados. La Figura 10 ilustra una matriz de células 30. La matriz de células 30 incluye una pluralidad de células 10 agrupadas en una disposición estrechamente empaquetada, similar a la de un panal. La matriz de células 30 incluye una pluralidad de células de forma hexagonal dispuestas como la letra "Z". Las células codificadas de forma no hexagonal también se pueden agrupar estrechamente empaquetadas, o de otra manera, para formar una matriz de células dispuesta como la letra "Z" o de otra manera.
La matriz de células 30 incluye un nodo de alineación 31 y 191 instancias de la célula 10. Para mayor claridad de la Figura 10, únicamente se etiqueta una instancia de la célula 10 y cada instancia de la célula 10 se muestra con el patrón de línea de células vacías 16. Un experto en la materia comprenderá que cada célula 10 dentro de la matriz de células 30 puede incluir cualquiera de los patrones de línea descritos u otro patrón de línea. El nodo de alineación 31 incluye dos células nulas adyacentes 32. En una disposición alternativa, la matriz de células 30 podría configurarse con el nodo de alineación 38 como se muestra en la Figura 7.
La matriz de células 30 incluye una primera porción 35, una segunda porción 37 y un hueco 39 que separa la primera porción 35 y la segunda porción 37. El nodo de alineación 31 y las células codificadas 10 de la primera porción 35 pueden ser de un primer color, tal como cian. Las células codificadas 10 de la segunda porción 37 pueden ser de un segundo color, tal como azul marino. Una matriz de células puede incluir más o menos huecos que separan porciones distintas de la matriz de células. Cada porción separada de una matriz de células puede incluir un nodo de alineación para esa porción de la matriz de células. Como alternativa, una porción separada, tal como la segunda porción 37, puede no incluir un nodo de alineación.
Una máquina, tal como la máquina 212 mostrada en la Figura 13, se puede configurar para generar un hueco 39 con una dimensión conocida (por ejemplo, una anchura conocida, tal como una anchura de la célula 10 dentro de la matriz de células 30) para que una máquina (por ejemplo, una máquina configurada para decodificar células y matrices de células) pueda detectar nodos adyacentes de dos porciones de la matriz de células. Por ejemplo, se puede definir una distancia entre porciones distintas (por ejemplo, las marcas de alineación 14) de dos células para una matriz de células. Esta distancia puede denominarse "paso". Una matriz de células puede definirse para que tenga un paso convencional para células codificadas adyacentes que colindan entre sí y un paso máximo para células adyacentes separadas por un hueco. El paso máximo, por ejemplo, podría ser igual al paso multiplicado por una variable de paso, tal como 2. Una máquina (por ejemplo, una máquina configurada para escanear o decodificar células o una matriz de células) se puede configurar para detectar el final de una fila de matriz de células o el final de una matriz de células codificada si la máquina no detecta ninguna célula codificada dentro de una distancia igual al paso máximo con relación a una célula codificada previamente escaneada.
Se puede proporcionar una entrada que incluye una o más selecciones de esquema de codificación a una máquina para generar una matriz de células, tal como la matriz de células 30. Como ejemplo, las selecciones del esquema de codificación pueden incluir, pero sin limitación, una selección de color para una o más células codificadas, el tamaño de una o más células codificadas, una o más dimensiones de la matriz de células (por ejemplo, una altura, longitud o anchura), una forma de la matriz de células, una selección de hueco y los datos que van a codificarse dentro de las células codificadas.
Una máquina que genera una matriz de células, tal como la máquina 212 mostrada en la Figura 13, se puede configurar para generar datos de disposición de células, tales como los datos de disposición de células ilustrativos mostrados en la Tabla 10. Los datos de disposición de células ilustrativos pueden indicar, para cada célula de una matriz de células, uno o más de los siguientes elementos: un número de célula, una posición de célula, un tipo de célula, un estado de célula y un color de célula. En la Tabla 10, el indicador "***" indica datos de disposición de célula para la matriz de células 30 no incluidos en la Tabla 10. Las posiciones de las células pueden especificarse, por ejemplo, mediante un indicador de fila y un indicador de posición. Como ejemplo, la posición más a la izquierda en una fila puede ser la posición 1, 1L o 1R. La posición 1L indica una posición a la izquierda de la primera posición en una fila anterior. La posición 1R indica una posición a la derecha de la primera posición en una fila anterior. La Tabla 10 indica ejemplos de tipos de células, estados de célula y colores de célula de células que se pueden incluir dentro de la matriz de células 30. El tipo de célula del número de célula 9 se indica como un hueco para incluir el espacio 39 de la matriz de células 30. La Tabla 10 muestra que la matriz de células 30 incluye 198 células. Esas células incluyen 2 células nulas 32, 191 células 10 y 5 células con hueco (es decir, 1 célula con hueco en cada fila de las 5 filas superiores.
Figure imgf000013_0001
Tabla 10
VIII. NODO DE ALINEACIÓN
El nodo de alineación 31 de la matriz de células 30 puede indicar una primera porción de la matriz de células 30 que va a escanearse o una primera porción de la matriz de células 30 que va a decodificarse. Con la matriz de células 30 dispuesta como se muestra en la Figura 10, el nodo de alineación 31 está en el lado superior e izquierdo de la matriz de células 30. Sin embargo, la matriz de células 30 se puede rotar un número de grados mayor que 0° y una máquina, tal como la máquina 230, todavía puede usar el nodo de alineación 31 para determinar un punto de inicio para escanear y decodificar la matriz de células 30.
A continuación, la Figura 6 ilustra un nodo de alineación 34 que puede usarse junto con una matriz de células compuesta por células sin un atributo de color. El nodo de alineación 34 puede ser un nodo de inicio o un nodo de fin. El nodo de alineación 34 puede incluir dos células de alineación adyacentes idénticas 36a y 36b. Un cuerpo de célula de células de alineación 36a y 36b puede ser el inverso del cuerpo de célula de una célula 10 con un patrón de línea de células vacías 16, como se muestra en la Figura 1. En otras palabras, las marcas de alineación 14a, 14b en el centro de las células de alineación 36a y 36b son blancas en lugar de negras, y las otras porciones del cuerpo de la célula dentro del perímetro de las células de alineación 36a y 36b son totalmente negras en lugar de blancas. Al menos uno de los cuerpos de célula dentro de las células de alineación 36a y 36b puede ser de un color distinto de blanco o negro. Por comodidad, una célula de alineación, tal como las células de alineación 36a y 36b, puede denominarse célula nula. Cuando el nodo de alineación 34 se explora por una máquina, tal como la máquina 230, la máquina puede usar la marca de alineación 14a para ubicar un centro de la primera célula de alineación 36a, y la distancia entre las marcas de alineación 14a y 14b de las células de alineación adyacentes para determinar el paso entre células codificadas adyacentes de una matriz de células, tal como la matriz de células 30, o para determinar un paso máximo multiplicando el paso detectado por una variable de paso.
A continuación, la Figura 7 ilustra un nodo de alineación 38 para una matriz de células que incluye un atributo de color. De acuerdo con la invención reivindicada, el nodo de alineación 38 incluye una cadena ordenada de células nulas adyacentes, una en cada color permitido de la célula codificada 10, con dos instancias adyacentes de la célula nula inicial. Por tanto, como se ilustra en la Figura 7, donde los colores permitidos de la célula codificada 10 son como se describió anteriormente, el nodo de alineación 38 incluye una cadena de nueve células nulas adyacentes en el siguiente orden: dos células nulas negras 40a y 40b seguidas de una célula nula en cada uno de los siguientes colores - Rojo 42, Amarillo 44, Verde 44, Cian 46, Azul 50, Magenta 52 y Naranja 54. Como se describió anteriormente, cuando se escanea el nodo de alineación 38, el escáner puede usar la distancia entre las marcas de alineación de las células nulas negras 40a y 40b para determinar el paso entre células adyacentes de una matriz de células. Además, el escáner puede usar el orden predeterminado de las células nulas coloreadas 42 a 54 para realizar una calibración de color de la propia máquina.
Una máquina 230 (por ejemplo, una máquina de escaneo (es decir, un escáner)) puede analizar un nodo de alineación escaneado para determinar si la matriz de células a la que se aplica es una célula codificada monocromo o si está compuesta de células codificadas 10 que tienen un atributo de color. Por ejemplo, si las dos primeras células codificadas escaneadas son células nulas y la tercera célula no es una célula nula, a continuación, el nodo de alineación es como se indica con el número de referencia 34 de la Figura 6 y la matriz de células a la que pertenece el nodo de alineación 34 debe tratarse como una célula codificada monocromo, independientemente del color o colores en los que se muestre. Si, por otro lado, las dos primeras células codificadas escaneadas son células nulas y también lo es la tercera, a continuación, el nodo de alineación puede ser como se indica con el número de referencia 38 de la Figura 7 y la matriz de células 30 puede estar compuesta por las células 10 que tienen un atributo de color.
IX. CAPACIDAD DE CÉLULA CODIFICADA
Como se describió anteriormente, un conjunto de células codificadas 10 con tolerancia de ruido de nivel I que usa únicamente los estados de célula n.° 2 a n.° 9, como se ilustra en la Figura 2, en monocromo, puede codificar 3 bits de datos binarios, como se ilustra en la Tabla 1.
El uso de los estados de célula n.° 1 a n.° 16, como se ilustra en la Figura 1 a la Figura 5, en monocromo, puede aumentar la capacidad de la célula codificada a 4 bits de datos digitales, como se ilustra en la Tabla 5.
La adición de un atributo de color, como se describe con 8 colores distintos, puede aumentar la capacidad de célula codificada en 3 bits, a 6 bits con tolerancia de ruido de nivel I, y a 7 bits por célula usando los niveles de tolerancia de ruido inferiores, como se ilustra en la Tabla 7.
X. MÁQUINAS Y ARQUITECTURAS DE SISTEMA ILUSTRATIVOS
A continuación, la Figura 13 es un diagrama de bloques que muestra un sistema ilustrativo 200 de acuerdo con una realización ilustrativa. En general, el sistema 200 incluye una etapa de codificación 202, una etapa de salida 204, una etapa de visualización 206 y una etapa de escaneo o decodificación 208. El sistema 200 puede incluir una máquina, tal como una máquina 212 o 230, una máquina que incluye una impresora 216 o una máquina que incluye una pantalla 226. Cada elemento mostrado en la Figura 13 no está restringido a operar dentro de la etapa 202, 204, 206 o 208 que incluye ese elemento. En la etapa de codificación 202, la entrada 210 se proporciona a la máquina 212.
La entrada 210 puede incluir datos que van a codificarse por la máquina 212. Como ejemplo, la entrada 210 puede incluir un identificador binario, tal como los datos binarios "0100 0010 a 0010 0001" mostrados en la Figura 13. El identificador binario ilustrativo mostrado en la Figura 13 representa los valores de ASCII para el texto "¡Compra ACME!" Recibir un identificador binario puede incluir recibir datos que la máquina 212 puede convertir en datos binarios. Por ejemplo, la máquina 212 puede recibir equivalentes hexadecimales para los datos binarios mostrados en la Figura 13 (es decir, los datos hexadecimales 42, 75, 79, 20, 41, 43, 4D, 45 y 21) y convertir los valores hexadecimales en valores binarios equivalentes. Como otro ejemplo, la máquina 212 puede recibir texto, tal como "¡Compra ACME!" convertir el texto a valores de ASCII y a continuación convertir los valores de ASCII a valores binarios equivalentes.
La entrada 210 puede incluir una o más selecciones de esquemas de codificación. Una selección de esquema de codificación puede incluir, por ejemplo, una selección de forma de célula, una selección de color de célula, una selección de color de matriz de células o una selección de distribución para generar una matriz de células. También son posibles otros ejemplos de una selección de esquema de codificación.
La máquina 212 puede codificar una porción de los datos de entrada 210 (por ejemplo, la porción de identificador binario de los datos de entrada 210) como una matriz de células. La codificación de una porción de datos de entrada 210 puede incluir convertir una porción de datos de entrada 210 basándose en una tabla ASCII. La conversión de la porción de datos de entrada 210 puede incluir convertir texto, tal como "¡Compra ACME!", a los valores binarios equivalentes a los valores de ASCII que representan el texto "¡Compra ACME!". La máquina 212 puede codificar los valores binarios obtenidos convirtiendo la porción de los datos de entrada 210 en una matriz de células basándose en una selección de esquema de codificación.
La máquina 212 puede dar salida (por ejemplo, proporcionar o transmitir) de una matriz de células a un elemento de la etapa de salida 204. La salida de una matriz de células puede incluir la emisión de células codificadas de la matriz de células una a la vez o dos o más a la vez. La salida de una matriz de células o una célula codificada puede incluir la salida de datos que indican la matriz de células o la célula codificada, respectivamente. La etapa de salida 204 puede incluir elementos tales como la red 214 y la impresora 216. La salida de los datos que indican la matriz de células puede incluir la transmisión de un esquema de codificación 268 o los datos del esquema de codificación. La salida de los datos que indican la matriz de células puede incluir la transmisión de una representación de datos de una célula de la matriz de células. La máquina 212 puede proporcionar la matriz de células (o los datos que indican la matriz de células) a la red 214 y la impresora 216 a través de un enlace de comunicación inalámbrica 218 o un enlace de comunicación alámbrica 220.
El enlace de comunicación inalámbrica 218 se puede configurar de acuerdo con cualquiera de diversos protocolos de comunicación inalámbrica, tal como un protocolo IEEE 802.11, tal como el protocolo comúnmente denominado Wi-Fi. El enlace de comunicación alámbrica 220 se puede configurar de acuerdo con cualquiera de diversos protocolos de comunicación alámbrica, tal como el protocolo comúnmente denominado Ethernet. Un enlace de comunicación (no mostrado) puede incluir tanto un enlace de comunicación inalámbrica como un enlace de comunicación alámbrica.
La red 214 puede incluir una red de área local o una red de área amplia, tal como Internet. La red 214 puede incluir enlaces de comunicación inalámbrica 218 y enlaces de comunicación alámbrica 220. La impresora 216 puede incluir una impresora láser, una impresora de matriz de puntos, una impresora de inyección de tinta, pero no está así limitada. La impresora 216 se puede configurar para imprimir una instancia de una célula codificada o una matriz de células en una superficie de un artículo de fabricación.
La etapa de visualización 206 puede incluir un segmento electrónico 222 y un segmento tangible 224. El segmento electrónico 222 puede incluir una pantalla 226. La red 214 puede transportar una célula codificada o una matriz de células (o los datos que indican la célula codificada o la matriz de células) para mostrar 226 a través de un enlace de comunicación, tal como un enlace de comunicación inalámbrica 218 o un enlace de comunicación alámbrica 220. La pantalla 226 puede incluir cualquiera de diversas pantallas electrónicas, tales como, pero sin limitación, una pantalla de diodo de emisión de luz (LED), una pantalla de plasma, una pantalla de tubo de rayos catódicos (CRT) o una pantalla de cristal líquido (LCD). La pantalla 226 puede incluir una pantalla dentro de un quiosco, tal como un quiosco en un centro comercial, aeropuerto o museo. La pantalla 226, a la que se puede denominar un "dispositivo de visualización", se puede incorporar dentro de una máquina, tal como una máquina 248 mostrada en la Figura 14.
Mostrar una célula codificada o una matriz de células dentro del segmento de visualización 206 puede incluir proporcionar una instancia tangible de la célula codificada o una instancia tangible de la matriz de células. Las instancias tangibles de la célula codificada o matriz de células pueden generarse mediante la impresora 216 imprimiendo la célula codificada o la matriz de células, o por otros medios, tales como, pero sin limitación, pintura, grabado, decapado, teñido o serigrafía. Se puede generar una instancia tangible de una célula codificada o una matriz de células en la superficie de un artículo de fabricación que incluye cualquiera de diversos medios, tales como, pero sin limitación, papel, plástico, ropa, un metal, un material cerámico, o cartón.
La etapa de escaneo o decodificación 208 puede incluir una máquina 230 configurada para escanear una célula codificada o una matriz de células proporcionada dentro de la etapa de visualización 206. La máquina 230 puede decodificar la célula o la matriz de células para recuperar los datos de entrada codificados en la célula codificada o en la matriz de células, respectivamente. Por ejemplo, la máquina 230 puede recuperar el texto de entrada "¡Compra ACME!" y proporcionar los datos recuperados a una pantalla 232 para visualizar los datos recuperados. Los detalles adicionales con respecto a aspectos mostrados en la Figura 13 se describen en cualquier otra parte de esta descripción.
A continuación, la Figura 14 es un diagrama de bloques de una máquina ilustrativa 248. Una o más de las máquinas 212 y 230 pueden disponerse como la máquina 248 o una porción de la misma. Como se muestra en la Figura 14, la máquina 248 puede incluir un procesador 250, un transceptor de datos 252, una interfaz de usuario 254, un medio legible por ordenador 256 y un dispositivo de captura 266, todos los cuales pueden acoplarse mediante un bus del sistema, una red u otro mecanismo de conexión 258. La máquina 248 puede comprender un teléfono inteligente o un dispositivo de tableta, pero no está así limitada.
Un procesador, tal como el procesador 250, puede comprender uno o más procesadores de propósito general (por ejemplo, microprocesadores de un solo núcleo INTEL o microprocesadores de múltiples núcleos INTEL) o uno o más procesadores de propósito especial (por ejemplo, procesadores de señales digitales). Un procesador puede configurarse para ejecutar instrucciones de programa legibles por ordenador (CRPI) almacenadas en un dispositivo de almacenamiento de datos (por ejemplo, una memoria). Se puede hacer referencia a un procesador como un dispositivo informático o un procesador legible por ordenador.
El transceptor de datos 252 puede incluir uno o más transmisores (por ejemplo, un transmisor de enlace de comunicación inalámbrica o un transmisor de enlace de comunicación alámbrica). Un transmisor de enlace de comunicación inalámbrica puede configurarse para transmitir datos hacia o a través de un enlace de comunicación inalámbrica. Un transmisor de enlace de comunicación alámbrica puede configurarse para transmitir datos hacia o a través de un enlace de comunicación alámbrica. El transceptor de datos 252 puede incluir uno o más receptores (por ejemplo, un receptor de enlace de comunicación inalámbrica o un receptor de enlace de comunicación alámbrica). Un receptor de enlace de comunicación inalámbrica puede configurarse para recibir datos transmitidos a través de o mediante un enlace de comunicación inalámbrica. Un receptor de enlace de comunicación alámbrica puede configurarse para recibir datos transmitidos a través de o mediante un enlace de comunicación alámbrica. El transceptor de datos 252 puede incluir una o más antenas, tal como una o más antenas conectadas a un transmisor de enlace de comunicación inalámbrica o un receptor de enlace de comunicación inalámbrica. El transceptor de datos 252 puede incluir una tarjeta de interfaz de red configurada para interconectarse con un enlace de comunicación alámbrica, tal como el enlace de comunicación alámbrica 220.
El transceptor de datos 252 se puede configurar para recibir una entrada, tal como los datos de entrada 210. El transceptor de datos 252 se puede configurar para transmitir una célula codificada o una matriz de células (o datos que indican la célula codificada o la matriz de células) a un elemento en la etapa de salida 204, tal como la red 214 o la impresora 216.
La interfaz de usuario 254 puede incluir uno o más componentes de entrada para introducir datos, tales como los datos de entrada 210, en la máquina 248. Como otro ejemplo, la interfaz de usuario 254 puede configurarse para recibir una solicitud de entrada para hacer que el dispositivo informático escanee o decodifique una matriz de células. La solicitud de entrada puede ser una solicitud de escaneo, una solicitud de decodificación u otra solicitud. El uno o más componentes de entrada pueden incluir, pero sin limitación, un teclado de ordenador, una pantalla táctil, un ratón de ordenador u otro dispositivo apuntador, o un micrófono de audio.
La interfaz de usuario 254 puede incluir uno o más componentes de salida para presentar datos, tal como una matriz de células, a un usuario. El uno o más componentes de salida pueden incluir, pero sin limitación, una pantalla (tal como una pantalla de LED, una pantalla de LCD, una pantalla de CRT o una pantalla de plasma) o un altavoz de audio. Uno o más componentes, tales como la pantalla táctil, pueden funcionar como un componente de entrada y un componente de salida.
El dispositivo de captura 266 comprende uno o más componentes configurados para capturar una matriz de células, tal como la matriz de células 30. Como ejemplo, un componente configurado para capturar una matriz de células incluye una cámara digital configurada para capturar una imagen de la matriz de células o para escanear una imagen de la matriz de células. El dispositivo de captura 266 puede usar una cantidad de puntos por pulgada (DPI) para almacenar una representación de la matriz de células (es decir, la matriz de células capturada). Los DPI especificados pueden indicar el nivel de ruido de las células codificadas que pueden decodificarse con precisión por la máquina 248. Al capturar una matriz de células, el dispositivo de captura 266 puede capturar células individuales de la matriz de células. El dispositivo de captura 266 puede comprender una cámara dentro de un teléfono inteligente o dispositivo de tableta, pero no está así limitado.
El medio legible por ordenador 256 puede comprender un medio de almacenamiento legible por ordenador no transitorio legible por un procesador, tal como el procesador 250. El medio de almacenamiento legible por ordenador puede comprender componentes de almacenamiento volátiles y/o no volátiles, tales como memoria óptica, magnética, orgánica u otra o almacenamiento en disco, que pueden estar integrados en su totalidad o parcialmente con un procesador. El medio legible por ordenador 256 también, o como alternativa, puede proporcionarse por separado, como un medio legible por máquina no transitorio.
Adicionalmente o como alternativa, el medio legible por ordenador 256 puede comprender un medio legible por ordenador transitorio. El medio legible por ordenador transitorio puede incluir, pero sin limitación, un medio de comunicaciones tal como un medio de comunicaciones digital o analógico (por ejemplo, un cable de fibra óptica, un guiaondas, un enlace de comunicación alámbrica o una línea de comunicación inalámbrica).
El medio legible por ordenador 256 puede almacenar diversos datos para su uso por la máquina 248 para llevar a cabo cualquier función descrita en el presente documento según se realiza o es realizable por la máquina 212, 230 o 248. Como ejemplo, el medio legible por ordenador 256 puede almacenar instrucciones de programa legibles por ordenador (CRPI) 260, datos de entrada 262, una matriz de células 264, un esquema de codificación 268, un conjunto de patrones de línea 270 y una matriz de colores 272. Las CRPI 260 se pueden escribir de acuerdo con cualquiera de diversos lenguajes de programación informático, tales como, pero sin limitación, los lenguajes de programación C y C++. Los datos de entrada 262 pueden incluir datos de entrada 210, que incluyen datos de entrada que se van a codificar en una célula codificada o una matriz de células. Los datos de entrada 262 pueden incluir una o más selecciones de esquemas de codificación.
La matriz de células 264 puede incluir una o más matrices de células como se describe en el presente documento. De acuerdo con una realización ilustrativa en la que la máquina 248 se usa para codificar un identificador binario, tal como la máquina 212, la matriz de células 264 puede incluir una o más matrices de células codificadas por el procesador 250. De acuerdo con una realización ilustrativa en la que la máquina 248 se usa para decodificar una matriz de células, la matriz de células 264 puede incluir una o más matrices de células capturadas por el dispositivo de captura 266. La matriz de células 264 puede incluir una o más matrices de células codificadas por el procesador 250 y una o más células capturadas por el dispositivo de captura 266.
El esquema de codificación 268 puede incluir uno o más esquemas de codificación usables por el procesador 250 para codificar un identificador binario o para decodificar una matriz de células capturada. El esquema de codificación 268 puede incluir un esquema de codificación que incluye datos del esquema de codificación (ESD) que define una matriz de células. El ESD puede incluir datos que definen la forma o formas de célula disponibles para codificar células en la matriz de células. El ESD puede incluir datos que definen una dimensión de paso. El ESD puede incluir datos que definen una posición de ángulo de referencia. El ESD puede incluir datos que definen qué patrones de línea están disponibles para codificar células en la matriz de células. Ese ESD puede incluir datos que definen cuántos patrones de línea están disponibles para codificar células en la matriz de células. El ESD puede incluir datos que representan un color de célula. El ESD puede incluir datos que definen una secuencia predeterminada de bits correspondientes a cada patrón de línea disponible. El ESD puede incluir datos que definen qué colores de célula están disponibles para codificar células en la matriz de células. El ESD puede incluir datos que definen cuántos colores de célula están disponibles para codificar células en la matriz de células. El ESD puede incluir datos que definen una secuencia predeterminada de bits para cada color de célula disponible. El ESD puede incluir datos que definen un orden de bits para cualquier célula que codifica más de una secuencia predeterminada de bits. El e Sd puede incluir datos que definen una o más células de decodificación disponibles para su colocación en la matriz de células. El ESD puede incluir datos que definen si las células de huecos están disponibles para su colocación en la matriz de células. El ESD puede incluir una representación de datos de una célula correspondiente a cada uno de los números de estado. El ESD puede incluir la representación de datos de una célula que pueden incluir datos que representan un patrón de línea de la célula para distinguir la célula de otras células. El ESD puede definir una marca de alineación disponible para su colocación en una célula. El ESD puede definir una posición de marca de alineación dentro de una célula. También son posibles otros ejemplos del e Sd que se pueden incluir dentro de un esquema de codificación 268.
Los patrones de línea 270 pueden comprender uno o más conjuntos de patrones de línea. Cada conjunto de patrones de línea puede corresponder a uno o más esquemas de codificación. El dispositivo informático 250 puede usar un conjunto de patrones de línea para compararlos con un patrón de línea de una célula que se está decodificando. Una representación de datos usada por el esquema de codificación 258 puede estar dentro de los patrones de línea 270.
La matriz de colores 272 puede comprender una o más matrices de colores. Cada matriz de colores 272 puede corresponder a uno o más esquemas de codificación. El dispositivo informático 250 puede usar una matriz de colores para comparar con un color de célula de una célula que se está decodificando. La representación de datos usada por el esquema de codificación 258 puede estar dentro de la matriz de colores 272.
El medio legible por ordenador 256 puede comprender un medio legible por ordenador que almacena instrucciones de programa, que cuando se ejecutan por un dispositivo informático, tal como el procesador 250, hacen que se realice un conjunto de funciones. Como ejemplo, el conjunto de funciones puede incluir el conjunto de funciones 150 descrito con respecto a la Figura 15, el conjunto de funciones 160 descrito con respecto a la Figura 16, o el conjunto de funciones 170 descrito con respecto a la Figura 17. Como otro ejemplo, el conjunto de funciones puede describir cualquier combinación de funciones descritas en las realizaciones ilustrativas adicionales numeradas del 1 al 36, del 110 al 143 y del 213 al 246.
La máquina 248, o elementos de la misma (por ejemplo, el procesador 250 y el medio legible por ordenador) que forman una máquina, pueden configurarse para hacer que se realice un conjunto de funciones. El medio legible por ordenador 256 puede almacenar instrucciones de programa, tales como las CRPI 260 que, cuando se ejecutan por el procesador 250, hacen que se realice el conjunto de funciones. Como ejemplo, las funciones pueden incluir el conjunto de funciones 150 descrito con respecto a la Figura 15, el conjunto de funciones 160 descrito con respecto a la Figura 16, o el conjunto de funciones 170 descrito con respecto a la Figura 17. Como otro ejemplo, el conjunto de funciones puede describir cualquier combinación de funciones descritas en las realizaciones ilustrativas adicionales numeradas del 1 al 36, del 110 al 143 y del 213 al 246.
XI. OPERACIÓN ILUSTRATIVA
A continuación, la Figura 15 representa un diagrama de flujo que muestra un conjunto de funciones (por ejemplo, operaciones) 150 (o más simplemente, "el conjunto 150") que se pueden llevar a cabo de acuerdo con una o más de las realizaciones ilustrativas descritas en el presente documento. Las funciones del conjunto 150 se muestran dentro de bloques etiquetados con números enteros pares entre 152 y 158, inclusive. Cualquier otra función o funciones descritas en este documento se puede realizar antes, durante o después de realizar una o más de las funciones del conjunto 150. Aquella otra función o funciones se pueden realizar en combinación con o por separado de una cualquiera o más de las funciones del conjunto 150. Los números de referencia de las figuras se incluyen con la siguiente descripción de la Figura 15 con fines ilustrativos en lugar de limitar la descripción a cualquier realización particular. El conjunto 150 puede incluir una o más funciones adicionales. Se proporcionan ejemplos de tales funciones adicionales después de la descripción del bloque 158. También son posibles otros ejemplos de tales funciones adicionales. Las CRPI 260 pueden incluir instrucciones de programa para realizar cualquiera de las funciones adicionales descritas con respecto a al menos uno del conjunto 150, el conjunto 160 y el conjunto 170.
El bloque 152 incluye recibir, por un dispositivo informático 250, un identificador binario que comprende una pluralidad de bits. Recibir el identificador binario puede incluir recibir datos (por ejemplo, la entrada 210) que indica cada bit de la pluralidad de bits en una secuencia predeterminada. El dispositivo informático 250 también puede recibir una entrada no binaria y convertir la entrada no binaria en el identificador binario. Recibir el identificador binario puede incluir recibir el identificador no binario y convertir el identificador no binario en un identificador binario equivalente. Por ejemplo, un identificador no binario tal como los datos hexadecimales 45 es equivalente al identificador binario que comprende los datos binarios 0100 0101. Por ejemplo, el identificador binario o el identificador no binario puede incluir datos que representan un conjunto de caracteres de ASCII que indican una cadena de texto, tal como "¡Compra ACME!"
A continuación, el bloque 154 incluye determinar, por el dispositivo informático 250, una o más células codificadas que codifican el identificador binario de acuerdo con un esquema de codificación 268, en donde cada célula codificada indica una secuencia predeterminada de dos o más bits, y en donde cada célula codificada incluye un perímetro, una marca de alineación dentro del perímetro y un patrón de línea dentro del perímetro. El perímetro se puede configurar como cualquier perímetro descrito en el presente documento, pero no está así limitado. La marca de alineación dentro del perímetro se puede configurar como cualquier marca de alineación descrita en el presente documento, pero no está así limitada. El patrón de línea dentro del perímetro se puede configurar como cualquier patrón de línea descrito en el presente documento, pero no está así limitado.
Determinar la una o más células codificadas de acuerdo con un esquema de codificación 268 puede incluir determinar, para cada una de la una o más células codificadas, un color de célula, tal como un color de célula de una pluralidad de células (por ejemplo, los colores identificados en la Tabla 6 o una pluralidad diferente de colores). Como se muestra en la Tabla 6 , cada color de célula puede representar una secuencia distinta de datos binarios, tal como dos o más bits de datos. De acuerdo con las realizaciones ilustrativas en las que el esquema de codificación 268 se basa en un color de célula y un patrón de línea, dos o más bits de datos representados por el color de célula pueden ser un precursor de cualquier bit o bits de datos representado por el patrón de línea. Como alternativa, dos o más bits de datos representados por un patrón de línea pueden ser un precursor de cualquier bit o bits de datos representados por un color de célula. De acuerdo con otras realizaciones, determinar un color de célula puede incluir determinar un color de célula asociado a una secuencia predeterminada de dos o más bits que coincide con la secuencia predeterminada de dos o más bits indicada por el patrón de línea de la célula para codificar secuencias redundantes de dos o más bits en la célula codificada que se pueden comparar durante la decodificación de la célula codificada para confirmar la decodificación apropiada.
Como otro ejemplo, el esquema de codificación 268 puede incluir un esquema de codificación basado en los datos mostrados en la Tabla 5 y el identificador binario puede incluir los datos binarios de la entrada 210 mostrada en la Figura 13 (es decir, 0100, 0010, 0111, 0101, 0111, 1001, 0010, 0000, 0100, 0001, 0100, 0011, 0100, 1101, 0100, 0101, 0010 y 0001). La codificación de ese identificador binario usando el esquema de codificación de la Tabla 5 puede incluir que el dispositivo informático 250 identifique cada conjunto de cuatro bits de datos y determine el número de estado de célula que corresponde a los cuatro bits de datos. De acuerdo con este ejemplo, el dispositivo informático 250 puede determinar los siguientes números de estado de célula: 5, 3, 8 , 6 , 8 , 10, 3, 1, 5, 2, 5, 4, 5, 14, 5, 6 , 3 y 2. El dispositivo informático 250 puede seleccionar datos (por ejemplo, un patrón de línea o un color) que representan una célula correspondiente a cada uno de los números de estado determinados para su uso en la generación de una matriz de células. Para otros esquemas de codificación 268, el dispositivo informático 250 puede determinar un número de estado de célula que corresponde a un número diferente de bits de datos (por ejemplo, 2, 3, 5, 6 , 7, 8 o 16 bits).
A continuación, el bloque 156 incluye generar, por el dispositivo informático 250, una matriz de células 30 que incluye la una o más células codificadas. Generar la matriz de células 30 puede incluir que el dispositivo informático 250 genere datos de disposición de células para indicar una posición para cada célula en la matriz de células con relación a una posición de al menos otra célula en la matriz de células. Por lo tanto, el dispositivo informático 250 puede determinar una posición para cada célula (por ejemplo, una célula codificada, una célula de alineación, un hueco, una célula de decodificación o una célula de distribución) dentro de la matriz de células. El dispositivo informático 250 puede determinar células distintas de las células codificadas para incluirlas en la matriz de células basándose, al menos en parte, en el esquema de codificación seleccionado 268. Los datos de disposición de células generados también pueden identificar una o más dimensiones de paso para especificar un paso entre dos o más marcas de alineación en células adyacentes. Los datos de disposición de célula se pueden almacenar dentro de un medio legible por ordenador 256 como una matriz de células 264.
A continuación, el bloque 158 incluye dar salida, por el dispositivo informático 250, de datos para producir una representación gráfica de la matriz de células. La salida de los datos referenciados en el bloque 158 puede incluir transmitir los datos desde el dispositivo informático 250 a la red 214 para su transmisión, a su vez, a otra máquina. Como ejemplo, la otra máquina puede incluir una impresora 216 que, a su vez, puede imprimir una instancia de la representación gráfica de la matriz de células en la superficie de un artículo de fabricación. Como otro ejemplo, la otra máquina puede incluir una máquina de grabado (por ejemplo, una máquina de grabado por láser) que puede grabar, a su vez, una instancia de la representación gráfica de la matriz de células en la superficie de un artículo de fabricación. Como otro ejemplo más, la otra máquina puede incluir una máquina que comprende la pantalla 226, que puede mostrar, a su vez, esos datos como una representación gráfica de la matriz de células.
Dado que un dispositivo informático (por ejemplo, el procesador 250) puede incorporarse dentro de una máquina, tal como la máquina 248, recibir el identificador binario en el bloque 152, determinar la una o más matrices de células en el bloque 154, generar la matriz de células en el bloque 156, y dar salida a los datos en el bloque 156 puede llevarse a cabo por la máquina (es decir, una máquina que incorpora el dispositivo informático).
Otra función que se puede realizar como parte del conjunto 150 incluye determinar, por el dispositivo informático 250, una o más células de alineación, en donde la matriz de células generada incluye la una o más células de alineación. La una o más células de alineación determinadas pueden incluir uno cualquiera o más de lo siguiente: (i) al menos una célula de alineación que indica un punto de inicio dentro de la matriz de células, (ii) dos o más células adyacentes (por ejemplo, las células 36a y 36b) que identifican colectivamente un nodo de inicio (por ejemplo, el nodo de inicio 34) en la matriz de células, (iii) al menos una célula de alineación que indica un punto final dentro de la matriz de células, (iv) al menos una célula de alineación que indica un punto final de una fila dentro de la matriz de células, (v) una pluralidad de células de alineación coloreadas, y (vi) al menos una célula de alineación que es una inversa de un patrón de línea de células vacías, tal como el patrón de línea de células vacías de la célula codificada 10 mostrada en la Figura 1. Una célula de alineación coloreada se puede colorear para que coincida con un color correspondiente de una pluralidad de colores, tal como la pluralidad de colores identificados en la Tabla 6 u otra pluralidad de colores.
Otra función que se puede realizar como parte del conjunto 150 incluye determinar, por el dispositivo informático 250, una selección de distribución para generar la matriz de células 30 y determinar, por el dispositivo informático 250, una distribución de acuerdo con la selección de distribución determinada. La generación de la matriz de células 30 puede incluir situar la una o más células codificadas en la distribución de acuerdo con la selección de distribución determinada. Generar la matriz de células 30 puede incluir situar una o más células de distribución. La una o más células de distribución pueden formar una porción de la distribución, pero no codifican ninguna porción del identificador binario.
Otra función que se puede realizar como parte del conjunto 150 incluye determinar, por el dispositivo informático 250, un nivel de tolerancia al ruido seleccionado. El nivel de tolerancia al ruido se puede seleccionar entre los niveles de tolerancia al ruido descritos en el presente documento (es decir, los niveles de tolerancia al ruido I, II, III y IV) o entre otro conjunto de niveles de tolerancia al ruido que se pueden definir. La una o más células codificadas en la matriz de células pueden tener un nivel de tolerancia al ruido que es más tolerante al ruido o que coincide con el nivel de tolerancia al ruido seleccionado.
A continuación, la Figura 16 representa un diagrama de flujo que muestra un conjunto de funciones (por ejemplo, operaciones) 160 (o más simplemente, "el conjunto 160") que se pueden llevar a cabo de acuerdo con una o más de las realizaciones ilustrativas descritas en el presente documento. Las funciones del conjunto 160 se muestran dentro de bloques etiquetados con números enteros pares entre 162 y 168, inclusive. Cualquier otra función o funciones descritas en este documento se puede realizar antes, durante o después de realizar una o más de las funciones del conjunto 160. Aquella otra función o funciones se pueden realizar en combinación con o por separado de una cualquiera o más de las funciones del conjunto 160. Los números de referencia de las figuras se incluyen dentro de la siguiente descripción de la Figura 16 con fines ilustrativos en lugar de limitar la descripción a cualquier realización particular. El conjunto 160 puede incluir una o más funciones adicionales. Se proporcionan ejemplos de tales funciones adicionales después de la descripción del bloque 168. También son posibles otros ejemplos de tales funciones adicionales.
El bloque 162 incluye recibir, por un dispositivo informático 250, una matriz de células capturada que incluye una o más células codificadas que codifican un identificador binario de acuerdo con un esquema de codificación 268, en donde cada célula codificada 10 indica una secuencia predeterminada de dos o más bits, y en donde cada célula codificada incluye un perímetro, una marca de alineación dentro del perímetro y un patrón de línea dentro del perímetro. El perímetro se puede configurar como cualquier perímetro descrito en el presente documento, pero no está así limitado. La marca de alineación dentro del perímetro se puede configurar como cualquier marca de alineación descrita en el presente documento, pero no está así limitada. El patrón de línea dentro del perímetro se puede configurar como cualquier patrón de línea descrito en el presente documento, pero no está así limitado.
El dispositivo informático 250 puede recibir la matriz de células capturada de diversos componentes, tales como el transceptor de datos 252, el medio legible por ordenador 256, el dispositivo de captura 266 u otro componente configurado para proporcionar la matriz de células capturada al dispositivo informático. Recibir la matriz de células capturada puede incluir recibir una imagen capturada de la matriz de células o recibir una imagen escaneada de la matriz de células. La matriz de células capturada puede incluir al menos una célula de decodificación que incluye una instrucción de decodificación (por ejemplo, una instrucción de decodificación que indica el esquema de codificación 268 usado para codificar el identificador binario).
A continuación, el bloque 164 incluye decodificar, por el dispositivo informático 250, cada célula codificada 10 en la matriz de células capturada 30 de acuerdo con un esquema de decodificación correspondiente al esquema de codificación para recuperar los bits indicados por la célula codificada. Decodificar cada célula codificada en la matriz de células de captura puede incluir, pero sin limitación, realizar una cualquiera o más de las siguientes funciones: (i) detectar, por el dispositivo informático, cada célula codificada en la matriz de células capturada, y (ii) decodificar, por el dispositivo informático, un color de célula para cada célula de la una o más células codificadas en la matriz de células. El color decodificado puede ser uno de los colores identificados en la Tabla 6. Cada color de la pluralidad de colores puede representar una secuencia distinta de dos o más bits.
Decodificar una célula codificada también puede incluir el dispositivo informático 250 que identifica el patrón de línea dentro de la célula codificada 10. El dispositivo informático 250 puede identificar un nodo de alineación 31 de la matriz de células 30 independientemente de dónde esté situado el nodo de alineación 31 dentro de la matriz de células de captura. Por ejemplo, el nodo de alineación 31 dentro de la matriz de células de captura 30 podría ubicarse en la porción superior izquierda de la matriz de células 30 como se muestra en la Figura 10. Como otro ejemplo, el nodo de alineación 31 dentro de la matriz de células capturada podría ubicarse en una posición superior derecha de la matriz de células 30 con una célula nula 32 por encima de la otra célula nula 32. Esto se puede visualizar rotando la Figura 10 en el sentido de las agujas del reloj 90 grados. Como otro ejemplo más, el nodo de alineación 31 dentro de la matriz de células capturada podría ubicarse en una posición inferior derecha de la matriz de células 30. Esto se puede visualizar rotando la Figura 10 en el sentido de las agujas del reloj 180 grados.
El dispositivo informático 250 puede determinar el paso entre las marcas de alineación en las dos primeras células de un nodo de alineación. El dispositivo informático 250 puede usar el paso determinado para ubicar una marca de alineación en una célula que va a decodificarse (por ejemplo, una célula adyacente a una célula de alineación o una célula adyacente a una célula previamente decodificada). El dispositivo informático 250 puede usar el paso determinado para determinar el perímetro de la célula que va a decodificarse. El dispositivo informático 250 puede comparar un patrón de línea dentro del perímetro determinado de la célula que se está decodificando con un conjunto de patrones de línea 270. El dispositivo informático 250 puede determinar un patrón de línea dentro del conjunto de patrones de línea 270 que coincide con el patrón de línea de la célula que se está decodificando para determinar el número de estado o la secuencia de bits codificados por la célula que se está decodificando.
A continuación, el bloque 166 incluye recuperar, por el dispositivo informático 250, el identificador binario combinando los bits recuperados. Combinar los bits recuperados puede incluir combinar los bits recuperados para cada célula en una secuencia predeterminada de bits y a continuación combinar la secuencia predeterminada de bits para cada célula de acuerdo con un orden en el que las células aparecen en la matriz de células. Si la célula codifica un color y un patrón de línea, la secuencia predeterminada puede incluir dos o más bits, que incluyen dos o más bits basándose en el patrón de línea dentro del perímetro de la célula y dos o más bits representados por el color de la célula. En un sentido, los dos o más bits representados por el color de la célula pueden ser precursores de los dos o más bits basados en el patrón de línea. En otro sentido, los dos o más bits basados en el patrón de línea pueden ser precursores de los dos o más bits representados por el color de la célula.
A continuación, el bloque 168 incluye dar salida, por el dispositivo informático 250, del identificador binario recuperado. La salida del identificador binario recuperado puede incluir una máquina, que incluye el dispositivo informático y una pantalla, que muestra el identificador binario recuperado en la pantalla. La salida del identificador binario recuperado puede incluir la transmisión del identificador binario recuperado desde el dispositivo informático a un dispositivo de visualización, tal como un dispositivo de visualización de la interfaz de usuario 254.
Otra función que se va a realizar como parte del conjunto 160 incluye la identificación, por el dispositivo informático, de células de alineación dentro de la matriz de células capturada. Identificar cada célula de alineación incluye identificar las células nulas, tal como la célula nula 36a o 36b. Identificar la célula nula puede incluir identificar, por el dispositivo informático dentro de la imagen capturada, un perímetro y una marca de alineación dentro del perímetro. La una o más células de alineación identificadas pueden incluir uno cualquiera o más de lo siguiente: (i) al menos una célula de alineación que indica un punto de inicio dentro de la matriz de células, (ii) un nodo de alineación que incluye dos o más células de alineación adyacentes que identifican colectivamente un punto de inicio dentro de la matriz de células, (iii) al menos una célula de alineación que indica un punto final dentro de la matriz de células, (iv) al menos una célula de alineación que indica un punto final de una fila dentro de la matriz de células, (v) una pluralidad de células de alineación coloreadas, cada célula de alineación coloreada comprende una célula de alineación coloreada para hacer coincidir un color correspondiente de una pluralidad de colores, y (vi) al menos una célula de alineación que es una inversa de un patrón de línea de células vacías.
Otra función que se puede realizar como parte del conjunto 160 incluye determinar, por el dispositivo informático, una dimensión de distancia desde una porción del perímetro, tal como un borde exterior del perímetro, de la célula nula a alguna porción de la marca de alineación, tal como el centro de la marca de alineación. El dispositivo informático 250 puede usar la dimensión para determinar un paso entre células adyacentes en la matriz de células. Como ejemplo, el dispositivo informático 250 puede multiplicar la dimensión por dos para determinar el paso. Identificar la una o más células de alineación puede incluir que el dispositivo informático 250 determine si alguna otra célula de alineación es adyacente a una célula de alineación identificada buscando otra marca de alineación ubicada dentro de una distancia igual al paso determinado en relación con una ubicación de la célula de alineación identificada. Tras ubicar otra célula de alineación, el dispositivo informático 250 puede determinar si la célula que incluye la célula de alineación ubicada es una célula nula.
Otra función que se puede realizar como parte del conjunto 160 incluye determinar, por el dispositivo informático, una distancia entre las marcas de alineación dentro de dos células de alineación adyacentes y determinar, por el dispositivo informático, la presencia de una célula codificada en la matriz de células capturada detectando una marca de alineación de la célula codificada en la matriz de células capturada y una marca de alineación de otra matriz de células capturada separada por una distancia igual a la distancia entre las marcas de alineación dentro de dos células adyacentes.
Otra función que se puede realizar como parte del conjunto 160 incluye convertir, por el dispositivo informático, el identificador binario recuperado a una representación alfanumérica del identificador binario recuperado. En un caso de este tipo, la salida del identificador binario recuperado puede incluir transmitir la representación alfanumérica a una impresora o dispositivo de visualización. La representación alfanumérica para la entrada 210 puede ser "¡Compra ACME!" como se muestra en la Figura 13.
A continuación, la Figura 17 representa un diagrama de flujo que muestra un conjunto de funciones (por ejemplo, operaciones) 170 (o más simplemente, "el conjunto 170") que se pueden llevar a cabo de acuerdo con una o más de las realizaciones ilustrativas descritas en el presente documento. Las funciones del conjunto 170 se muestran dentro de bloques etiquetados con números enteros pares entre 172 y 174, inclusive. Cualquier otra función o funciones descritas en este documento se puede realizar antes, durante o después de realizar una o más de las funciones del conjunto 170. Aquella otra función o funciones se pueden realizar en combinación con o por separado de una cualquiera o más de las funciones del conjunto 170. Los números de referencia de las figuras se incluyen dentro de la siguiente descripción de la Figura 170 con fines ilustrativos en lugar de limitar la descripción a cualquier realización particular. El conjunto 170 puede incluir una o más funciones adicionales. Se proporcionan ejemplos de tales funciones adicionales después de la descripción del bloque 174. También son posibles otros ejemplos de tales funciones adicionales.
El bloque 172 incluye recibir, por un dispositivo informático, datos que especifican una matriz de células, en donde la matriz de células incluye una o más células codificadas que codifican un identificador binario de acuerdo con un esquema de codificación, en donde cada célula codificada indica una secuencia predeterminada de dos o más bits, y en donde cada célula codificada incluye un perímetro, una marca de alineación dentro del perímetro y un patrón de línea dentro del perímetro.
Los datos recibidos pueden indicar un color de célula para cada una de la una o más células codificadas. Cada color de célula puede representar una secuencia distinta de dos o más bits. Los datos recibidos pueden indicar un color de célula para cualquier otra célula dentro de la matriz de células especificada. El perímetro se puede configurar como cualquier perímetro descrito en el presente documento, pero no está así limitado. La marca de alineación dentro del perímetro se puede configurar como cualquier marca de alineación descrita en el presente documento, pero no está así limitada. El patrón de línea dentro del perímetro se puede configurar como cualquier patrón de línea descrito en el presente documento, pero no está así limitado.
A continuación, el bloque 174 incluye mostrar, por una pantalla conectada al dispositivo informático, una representación gráfica de la matriz de células, en donde la matriz de células mostrada incluye la una o más células codificadas que codifican el identificador binario de acuerdo con el esquema de codificación, en donde cada la célula codificada visualizada indica una secuencia predeterminada de dos o más bits, y en donde cada célula codificada incluye un perímetro, una marca de alineación dentro del perímetro y un patrón de línea dentro del perímetro.
La pantalla se puede conectar al dispositivo informático 250 mediante al menos uno de un enlace de comunicación inalámbrica, un enlace de comunicación alámbrica y un enlace de comunicación alámbrica e inalámbrica.
La secuencia predeterminada de dos o más bits puede incluir dos o más bits basados en el patrón de línea dentro del perímetro y dos o más bits basados en un color de célula. Los dos o más bits representados por el color de la célula pueden ser precursores de los dos o más bits basados en el patrón de línea. Los dos o más bits representados por el patrón de línea pueden ser precursores de los dos o más bits basados en el color de la célula. Para cada una de la una o más células codificadas, la secuencia distinta de dos o más bits representados por el color de célula indicado para la célula puede coincidir con la secuencia predeterminada de dos o más bits indicados por el patrón de línea de la célula para codificar secuencias redundantes de dos o más bits en la célula codificada que se pueden comparar durante la decodificación de la célula codificada para confirmar la decodificación apropiada.
La matriz de células puede incluir una o más células de alineación. Los datos recibidos pueden indicar la una o más células de alineación dentro de la matriz de células. La una o más células de alineación pueden incluir cualquiera de lo siguiente: (i) una pluralidad de células de alineación coloreadas, (ii) al menos una célula de alineación que indica un punto de inicio dentro de la matriz de células, (iii) un nodo de alineación que incluye dos o más células de alineación adyacentes que identifican colectivamente un punto de inicio dentro de la matriz de células, (iv) al menos una célula de alineación que indica un punto final dentro de la matriz de células, (v) al menos una célula de alineación que indica un punto final de una fila dentro de la matriz de células, y (vi) al menos una célula de alineación que es una inversa de un patrón de línea de células vacías.
La pluralidad de colores puede incluir un número predeterminado de colores. Las dos o más células adyacentes pueden incluir un número predeterminado de células igual al número predeterminado de colores. Cada célula de las dos o más células adyacentes puede corresponder a un color distinto del número predeterminado de colores.
Otra función que se puede realizar como parte del conjunto 170 incluye recibir, por el dispositivo informático 250, un identificador no binario equivalente al identificador binario, y convertir, por el dispositivo informático 250, el identificador no binario al identificador binario. En consecuencia, recibir el identificador binario puede incluir recibir el identificador binario convertido por el dispositivo informático 250 a partir del identificador no binario.
Las descripciones de la Figura 15 a la Figura 17 se refieren al dispositivo informático 250 y la máquina 248. Se puede usar una instancia separada del dispositivo informático 250 y la máquina 248 para llevar a cabo una o más de las funciones de los conjuntos 150, 160 y 170, aunque no es necesario, ya que una sola instancia del dispositivo informático 250 o la máquina 248 puede llevar a cabo una o más de las funciones de los conjuntos 150, 160 y 170.
XII. CÉLULAS CODIFICADAS ALTERNATIVAS
A continuación, la Figura 11 ilustra una matriz de células ilustrativa 60 que incluye el nodo de alineación 61 y las células codificadas 62. El nodo de alineación 61 y las células codificadas 62 son rectangulares y pueden ser cuadrados. El nodo de alineación 61 puede incluir células nulas adyacentes 57, como se muestra en la Figura 11. Las células codificadas 62 incluyen un perímetro rectangular (por ejemplo, un perímetro cuadrado) 63, una marca de alineación 65 dentro del perímetro 63 y un patrón de línea 66 dentro del perímetro 63. El perímetro 63 puede definir un cuerpo de célula rectangular 64. El perímetro 63 puede ser negro o de otro color, tal como un color identificado en la Tabla 6. La marca de alineación 65 está ubicada en el centro dentro de la célula 62 pero, como alternativa, puede estar desplazada desde el centro de la célula 62. La marca de alineación 65 se representa como un círculo (por ejemplo, un punto) en la Figura 11, pero no está así limitado. Como se muestra en la Figura 11, una matriz de células puede incluir células de forma rectangular estrechamente empaquetadas. Las matrices de células que usan células de forma rectangular se pueden crear en cualquiera de diversas formas, tales como la letra Z u otra forma.
La Figura 11 muestra células codificadas 62 con 22 patrones de línea (o estados) diferentes. Cada célula tiene uno de los niveles de tolerancia al ruido definidos, como se muestra en la Tabla 11. Cada uno de los 22 patrones de línea se puede asociar con hasta 4 bits de datos binarios o una instrucción de decodificación como se muestra en la Tabla 11. Los estados de célula n.° 17 a n.° 19 pueden identificar un nivel de tolerancia de una o más células dentro de una matriz de células, tal como una o más células que siguen a una célula con estado de célula n.° 17, n.° 18 o n.° 19. Otro nivel de tolerancia, tal como el nivel de tolerancia I, de una o más células puede estar implícito para un número de células codificadas dentro de una matriz de células, tal como una o más células ubicadas al comienzo de una fila o una o más células después de la ocurrencia de dos células que identifican un nivel de tolerancia distinto del nivel de tolerancia implícito. El estado de célula n.° 22 puede corresponder a un patrón de línea de células vacías 67.
Figure imgf000023_0001
Tabla 11
La siguiente Figura 12 ilustra una matriz de células ilustrativa 70 que incluye un nodo de alineación 78 y 14 instancias de una célula codificada 77 (únicamente una de las cuales está etiquetada para claridad de la figura) con forma de triángulo (o más simplemente, "triangular"). El nodo de alineación 78 puede incluir dos células nulas triangulares 71. Las células codificadas 77 incluyen un perímetro triangular 72, una marca de alineación 73 dentro del perímetro 72 y un patrón de línea 74 dentro del perímetro 72. El perímetro 72 puede definir un cuerpo de célula triangular 79. El perímetro 72 puede ser negro o de otro color, tal como un color identificado en la Tabla 6. La marca de alineación 73 puede estar ubicada en el centro dentro de la célula 72 pero, como alternativa, puede estar desplazada desde el centro de la célula 72. La marca de alineación 73 se representa como un círculo (por ejemplo, un punto) en la Figura 12, pero no está así limitado. Como se muestra en la Figura 12, una matriz de células puede incluir células de forma triangular estrechamente empaquetadas. Las matrices de células que usan células de forma triangular se pueden crear en cualquiera de diversas formas. La Figura 12 muestra células codificadas 72 con 14 patrones de línea diferentes que incluyen un patrón de línea de células vacías 75. Esos 14 patrones de línea diferentes pueden codificar, por ejemplo, 3 bits y estar asociados a 6 instrucciones de decodificación. Como alternativa, se pueden definir dos o más patrones de línea diferentes y adicionales para una célula con forma de triángulo, de modo que se pueden codificar 4 bits de datos binarios mediante 16 patrones de línea diferentes dentro de células con forma de triángulo.
A continuación, la Figura 19 ilustra una matriz de células ilustrativa 113 que incluye un nodo de alineación 115 y 14 instancias de células codificadas en forma de cruz 119 (únicamente una de las cuales está etiquetada para mayor claridad de la figura). El nodo de alineación 115 puede incluir dos células nulas en forma de cruz 117. Las células codificadas 119 incluyen un perímetro en forma de cruz 123, una marca de alineación 125 dentro del perímetro 123 y un patrón de línea 121 dentro del perímetro 123. El perímetro 123 puede definir un cuerpo de célula en forma de cruz 127. El perímetro 123 puede ser negro o de otro color, tal como un color identificado en la Tabla 6. La marca de alineación 125 puede estar ubicada en el centro dentro de la célula 123 pero, como alternativa, puede estar desplazada desde el centro de la célula 123. La marca de alineación 125 se representa como un círculo (por ejemplo, un punto) en la Figura 19, pero no está así limitado. Como se muestra en la Figura 19, una matriz de células puede incluir células en forma de cruz estrechamente empaquetadas 119. Las matrices de células que usan células en forma de cruz se pueden crear en cualquiera de diversas formas. La Figura 19 muestra células codificadas 119 con catorce patrones de línea diferentes que incluyen un patrón de línea de células vacías 129. Esos catorce patrones de línea diferentes pueden codificar, por ejemplo, tres bits y estar asociados a seis instrucciones de decodificación. Como alternativa, se pueden definir dos o más patrones de línea diferentes y adicionales para una célula en forma de cruz, de modo que se puedan codificar cuatro bits de datos binarios por dieciséis patrones de línea diferentes dentro de células en forma de cruz.
XIII. ARTÍCULO DE FABRICACIÓN
Las realizaciones ilustrativas también pueden incluir o pertenecer a un método para proporcionar un artículo de fabricación. De acuerdo con las realizaciones ilustrativas, un artículo de fabricación puede incluir una superficie y una matriz de células en la superficie. La matriz de células puede ser legible por el dispositivo informático 250. La superficie puede comprender una superficie de metal, una superficie de plástico, una superficie de vidrio o una superficie de madera. La superficie puede estar fabricada de metal, plástico, vidrio, madera o algún otro material sobre el que se pueda situar una matriz de células en la superficie.
La matriz de células en la superficie se puede configurar como cualquier matriz de células descrita en el presente documento o como una matriz de células que incluya cualquiera de las características de la matriz de células descritas en el presente documento. Como ejemplo, la matriz de células puede incluir una o más células codificadas que codifican, de acuerdo con un esquema de codificación, un identificador binario que representa información que pertenece al artículo de fabricación. El identificador binario puede comprender una pluralidad de bits. Cada célula codificada puede indicar una secuencia predeterminada de dos o más bits. La secuencia predeterminada de dos o más bits puede incluir dos o más bits basados en el patrón de línea dentro del perímetro y dos o más bits representados por el color de célula. Cualquiera de esas secuencias predeterminadas de dos o más bits puede ser un precursor de la otra secuencia predeterminada de dos o más bits. La secuencia predeterminada de dos o más bits para una o más de las células codificadas puede basarse en una posición angular del patrón de línea desde una dirección de referencia predeterminada.
Cada célula codificada puede incluir un perímetro, una marca de alineación dentro del perímetro y un patrón de línea dentro del perímetro. El artículo de fabricación puede comprender una revista o un periódico. La información que pertenece al artículo de fabricación puede incluir al menos uno de un anuncio, un localizador de recursos uniforme (URL) y un número de teléfono.
La matriz de células en la superficie puede comprender una matriz de células en la superficie. La matriz de células sobre la superficie puede comprender una matriz de células impresa en la superficie. La matriz de células en la superficie puede comprender una matriz de células fijada a la superficie usando un adhesivo.
La matriz de células en la superficie puede comprender una matriz de células dentro de la superficie. La matriz de células dentro de la superficie puede comprender una matriz de células grabada dentro de la superficie. La matriz de células dentro de la superficie puede comprender una matriz de células decapada dentro de la superficie.
El perímetro se puede configurar como cualquier perímetro descrito en el presente documento, pero no está así limitado. La marca de alineación dentro del perímetro se puede configurar como cualquier marca de alineación descrita en el presente documento, pero no está así limitada. El patrón de línea dentro del perímetro se puede configurar como cualquier patrón de línea descrito en el presente documento, pero no está así limitado.
La matriz de células en la superficie puede incluir una célula de alineación. La célula de alineación se puede configurar como cualquier célula de alineación descrita en el presente documento, pero no está así limitada. La matriz de células en la superficie puede incluir una célula de decodificación. La célula de decodificación puede configurarse como cualquier célula de decodificación descrita en el presente documento, pero no está así limitada. La matriz de células en la superficie puede incluir una o más células de distribución que forman una porción de la matriz de células, pero que no codifican ninguna porción del identificador binario.
Cada una de la una o más células codificadas puede ser un color de célula coloreado. Ese color de célula puede ser uno de la pluralidad de colores, tal como la pluralidad de colores mostrada en la Tabla 6. El color de célula puede estar asociado a una secuencia predeterminada de dos o más bits que coincide con la secuencia predeterminada de dos o más bits indicada por el patrón de línea de la célula para codificar secuencias redundantes de dos o más bits en la célula codificada que se pueden comparar durante la decodificación de la célula codificada para confirmar la decodificación apropiada.
XIV. ASPECTOS ADICIONALES DE REALIZACIONES ILUSTRATIVAS
Claramente, son posibles numerosas variaciones y permutaciones de las realizaciones sin apartarse del alcance de esta divulgación: Algunas de estas variaciones y permutaciones se describen a continuación.
De acuerdo con una o más de las realizaciones desveladas, una célula codificada puede ser un dodecágono (es decir, de 12 lados) en lugar de un hexágono o las otras formas según se ha descrito. En una disposición de este tipo, un patrón de línea asimétrico puede alinearse en una cualquiera de las dieciséis direcciones posibles, en incrementos angulares de 22,5° desde la dirección de referencia. Una disposición de este tipo aumentará la cantidad de datos que pueden codificarse por célula codificada en relación con los patrones de línea de célula codificada espaciados a intervalos de 45°. Una matriz de células que incluye células codificadas en forma de dodecágono puede incluir otras células en forma de dodecágono que están configuradas como una célula de alineación, una célula de decodificación o una célula usada para otra característica descrita en el presente documento.
De acuerdo con una o más de las realizaciones desveladas, en lugar de que el atributo de color de la célula codificada 10 se use como precursor de los datos binarios representados por el estado de la célula, el atributo de color puede usarse como un sucesor de los datos binarios representados por el patrón de línea de la célula. En particular, el color de la célula codificada 10 puede usarse para representar los bits menos significativos de una concatenación con los datos binarios representados por el patrón de línea (o estado de célula). Como ilustración, en el ejemplo anterior donde la célula codificada 10 se puede presentar en uno cualquiera de 8 colores diferentes, una célula codificada azul con tolerancia a fallos de nivel I que representa los datos binarios 011 (como se indica por el número de referencia 24 en la Figura 2) producirá un patrón de bits concatenados de 011101.
De acuerdo con una o más de las realizaciones desveladas, en lugar del atributo de color con 8 colores permitidos, el número de colores permitidos puede duplicarse a 16, aumentando de esta manera la capacidad de datos de la célula codificada en un bit. En este ejemplo, la célula de alineación de una célula codificada puede incluir una cadena ordenada de 17 células nulas adyacentes, una en cada uno de los 16 colores permitidos de la célula codificada, con las dos instancias adyacentes de la célula nula inicial.
XVI. CONCLUSIÓN
Los aspectos y realizaciones ilustrativos se han descrito anteriormente con fines de ilustración y no pretenden ser limitativos. Los expertos en la materia entenderán que se pueden realizar cambios y modificaciones en los aspectos y realizaciones descritos sin apartarse del alcance de la presente invención, que se define en las reivindicaciones.
Las realizaciones alternativas se incluyen dentro del alcance de estas realizaciones ilustrativas. En estas realizaciones alternativas, por ejemplo, las funciones descritas como etapas, bloques, transmisiones, comunicaciones, solicitudes, respuestas y/o mensajes pueden ejecutarse fuera del orden mostrado o analizado, incluyendo en orden sustancialmente simultáneo o inverso, dependiendo de la funcionalidad implicada.
Finalmente, la descripción incluye palabras que usan grafías del inglés británico, tales como color, coloreado, colores, análogo, centro, milímetros y centímetros en lugar de las grafías equivalentes en inglés estadounidense color, coloreado, colores, análogo, centro, milímetros y centímetros, respectivamente.

Claims (24)

REIVINDICACIONES
1. Un método que comprende:
recibir, por un dispositivo informático, un identificador binario que comprende una pluralidad de bits; determinar, por el dispositivo informático, una pluralidad de células codificadas (10) que codifican el identificador binario de acuerdo con un esquema de codificación, en donde cada célula codificada indica una secuencia predeterminada de dos o más bits, y en donde cada célula codificada incluye un perímetro (12), una marca de alineación (14) dentro del perímetro (12) y un patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) dentro del perímetro (12); y en donde el patrón de línea (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) dentro del perímetro (12) para cada célula codificada incluye una línea ubicada radialmente con respecto a la marca de alineación (14) de la célula codificada para representar al menos dos bits en la secuencia predeterminada de la célula codificada;
generar, por el dispositivo informático, una matriz de células (30, 60, 70, 80) que incluye la pluralidad de células codificadas; y
dar salida, por el dispositivo informático, de datos para producir una representación gráfica de la matriz de células (30, 60, 70, 80),
caracterizado por:
definir una célula nula como una célula que tiene el mismo perímetro conformado que una célula codificada en donde dicha célula nula no contiene un patrón de línea radial, pero contiene la marca de alineación en el centro de la célula nula de la misma manera que la célula codificada;
en donde determinar la pluralidad de células codificadas (10) de acuerdo con el esquema de codificación incluye determinar, para cada una de la pluralidad de células codificadas, un color de célula, en donde el color de célula es uno de una pluralidad de colores, y
determinar, por el dispositivo informático, una pluralidad de células de alineación, en donde la matriz de células generada (30, 60, 70, 80) incluye la pluralidad de células de alineación y en donde la pluralidad de células de alineación incluye una pluralidad de células de alineación coloreadas, cada célula de alineación coloreada comprende una célula de alineación coloreada para que coincida con un color correspondiente de la pluralidad de colores,
en donde la pluralidad de células de alineación es una cadena ordenada de células nulas adyacentes, una en cada color permitido, con dos instancias adyacentes de una célula nula inicial en la cadena.
2. El método de la reivindicación 1, en donde cada color de célula de la pluralidad de colores representa una secuencia distinta de dos o más bits y, opcionalmente, en donde la secuencia predeterminada de dos o más bits incluye dos o más bits basados en el patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) dentro del perímetro (12) y los dos o más bits representados por el color de la célula y, aún más opcionalmente, los dos o más bits representados por el color de la célula son un precursor de los dos o más bits basados en el patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) o los dos o más bits basados en el patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) son un precursor de los dos o más bits representados por el color de la célula.
3. El método de las reivindicaciones 1 o 2, en donde determinar el color de célula incluye determinar un color de célula asociado a una secuencia predeterminada de dos o más bits que coincide con la secuencia predeterminada de dos o más bits indicada por el patrón de línea (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) de la célula para codificar secuencias redundantes de dos o más bits en la célula codificada que se pueden comparar durante la decodificación de la célula codificada para confirmar la decodificación apropiada.
4. El método de la reivindicación de cualquier reivindicación anterior, en donde la una o más células de alineación incluyen al menos una célula de alineación que indica un punto de inicio dentro de la matriz de células (30, 60, 70, 80), o en donde la una o más células de alineación incluyen un nodo de alineación (34) que incluye dos o más células de alineación adyacentes que identifican colectivamente un punto de inicio dentro de la matriz de células; y/o en donde la una o más células de alineación incluyen al menos una célula de alineación que indica un punto final dentro de la matriz de células (30, 60, 70, 80); y/o en donde la una o más células de alineación incluyen al menos una célula de alineación que indica un punto final de una fila dentro de la matriz de células (30, 60, 70, 80); y/o en donde la una o más células de alineación incluyen al menos una célula de alineación que es una inversa de una célula vacía (16) sin ningún patrón de línea.
5. El método de cualquier reivindicación anterior, en donde la matriz de células generada (30, 60, 70, 80) incluye al menos una célula de decodificación que indica el esquema de codificación usado para codificar el identificador binario.
6. El método de cualquiera de las reivindicaciones 1 a 5, en donde el patrón de línea en cada célula codificada corresponde a uno de una pluralidad de patrones de línea predefinidos, y en donde cada patrón de línea predefinido corresponde a una secuencia predeterminada de dos o más bits; y, opcionalmente, en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende uno o más vectores radiales asimétricos, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende uno o más vectores diametrales, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende una cruz simétrica, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende una estrella simétrica, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea comprende un patrón de línea curva.
7. El método de una cualquiera de las reivindicaciones 1 a 6 , en donde el perímetro (12) es un polígono, en donde, opcionalmente, el polígono es un triángulo, un cuadrilátero, un pentágono, un hexágono o un dodecágono.
8. El método de la reivindicación 7, en donde la marca de alineación (14) incluye un centro, en donde el polígono incluye un centro, y en donde el centro de la marca de alineación (14) está en el centro del polígono, o en donde el centro de la marca de alineación (14) está desplazado del centro del polígono.
9. El método de cualquier reivindicación anterior, en donde una anchura del perímetro es igual a una anchura de una línea dentro del patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121), y/o en donde la salida de datos para producir la representación gráfica de la matriz de células (30, 60, 70, 80) incluye transmitir los datos desde el dispositivo informático a una impresora, y/o en donde la salida de datos para producir la representación gráfica de la matriz de células (30, 60, 70, 80) incluye transmitir los datos desde el dispositivo informático a un dispositivo de visualización.
10. El método de cualquier reivindicación anterior, que comprende además determinar, por el dispositivo informático, una selección de distribución para generar la matriz de células (30, 60, 70, 80) y determinar, por el dispositivo informático, una distribución de acuerdo con la selección de distribución determinada, en donde generar la matriz de células (30, 60, 70, 80) incluye situar la pluralidad de células codificadas (10) en la distribución de acuerdo con la selección de distribución determinada y, opcionalmente, situar una o más células de distribución en donde la una o más células de distribución forman una porción de la distribución pero no codifican ninguna porción del identificador binario.
11. El método de una cualquiera de las reivindicaciones 1 a 10, que comprende además determinar, por el dispositivo informático, un nivel de tolerancia al ruido seleccionado, en donde la pluralidad de células codificadas (10) tienen un nivel de tolerancia al ruido que es más tolerante al ruido o que coincide con el nivel de tolerancia al ruido seleccionado.
12. El método de una cualquiera de las reivindicaciones 1 a 11, en donde la secuencia predeterminada de dos o más bits de la pluralidad de células codificadas (10) se basa en una posición angular del patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) desde una dirección de referencia predeterminada.
13. El método de una cualquiera de las reivindicaciones 1 a 12, que comprende además recibir, por el dispositivo informático, un identificador no binario equivalente al identificador binario; y convertir, por el dispositivo informático, el identificador no binario en el identificador binario, en donde recibir el identificador binario incluye recibir el identificador binario convertido por el dispositivo informático a partir del identificador no binario.
14. Un método que comprende recibir, por un dispositivo informático, una matriz de células capturada (30, 60, 70, 80) que incluye una pluralidad de células codificadas (10) que codifican un identificador binario de acuerdo con un esquema de codificación, en donde cada célula codificada indica dos o más bits del identificador binario en una secuencia predeterminada en donde cada célula codificada incluye un perímetro (12), una marca de alineación (14) dentro del perímetro (12) y un patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) dentro del perímetro (12), y en donde el patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) dentro del perímetro (12) para cada célula codificada incluye una línea ubicada radialmente con respecto a la marca de alineación (14) de la célula codificada para representar al menos dos bits en la secuencia predeterminada de la célula codificada;
decodificar, por el dispositivo informático, cada célula codificada en la matriz de células capturada (30, 60, 70, 80) de acuerdo con un esquema de decodificación correspondiente al esquema de codificación que identifica un patrón de línea (17, 18, 20, 22, 66 , 74, 82, 91, 93, 95, 97, 121) en cada célula codificada en la matriz de células capturada (30, 60, 70, 80) y determinar que el patrón de línea identificado coincide, de entre un conjunto de patrones de línea, con un patrón de línea (17, 18, 20, 22, 66, 74, 82, 91,93, 95, 97, 121) asociado a una secuencia de dos o más bits indicados por la célula codificada en la matriz de células capturada (30, 60, 70, 80); y
recuperar, por el dispositivo informático, el identificador binario combinando bits recuperados;
dar salida, por el dispositivo informático, del identificador binario recuperado,
en donde decodificar cada célula codificada en la matriz de células capturada (30, 60, 70, 80) incluye detectar, por el dispositivo informático, cada célula codificada en la matriz de células capturada (30, 60, 70, 80); e
identificar, por el dispositivo informático, una pluralidad de células de alineación dentro de la matriz de células capturada (30, 60, 70, 80), caracterizado por que la pluralidad de células de alineación incluye una pluralidad de células de alineación coloreadas, cada célula de alineación coloreada comprende una célula de alineación coloreada para que coincida con un color correspondiente de la pluralidad de colores,
en donde la pluralidad de células de alineación es una cadena ordenada de células nulas adyacentes, una en cada color permitido, con dos instancias adyacentes de una célula nula principal en la cadena, en donde una célula nula es una célula que tiene el mismo perímetro conformado que una célula codificada en donde dicha célula nula no contiene un patrón de línea radial, pero contiene la marca de alineación en el centro de la célula nula de la misma manera que la célula codificada.
15. El método de la reivindicación 14, en donde recibir la matriz de células capturada (30, 60, 70, 80) incluye recibir una imagen capturada de la matriz de células (30, 60, 70, 80), y/o en donde recibir la matriz de células capturada (30, 60, 70, 80) incluye recibir una imagen escaneada de la matriz de células (30, 60, 70, 80), y/o en donde decodificar cada célula codificada de acuerdo con el esquema de decodificación incluye decodificar, para cada una de la pluralidad de células codificadas, un color de célula, y en donde el color de célula es uno de una pluralidad de colores y, opcionalmente, en donde cada color de célula de la pluralidad de colores representa una secuencia distinta de dos o más bits y, opcionalmente, además, la secuencia predeterminada de dos o más bits incluye dos o más bits basados en el patrón de línea (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) dentro del perímetro (12) y los dos o más bits representados por el color de la célula y, aún más opcionalmente, en donde los dos o más bits representados por el color de la célula son un precursor de los dos o más bits basados en el patrón de línea (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) o en donde los dos o más bits basados en el patrón de línea (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121) son un precursor de los dos o más bits representados por el color de la célula.
16. El método de las reivindicaciones 14 o 15, en donde la una o más células de alineación incluyen al menos una célula de alineación que indica un punto de inicio dentro de la matriz de células (30, 60, 70, 80) y/o en donde la una o más células de alineación incluyen un nodo de alineación (34) que incluye dos o más células de alineación adyacentes que identifican colectivamente un punto de inicio dentro de la matriz de células (30, 60, 70, 80), comprendiendo el método opcionalmente además determinar, por el dispositivo informático, una distancia entre las marcas de alineación dentro de dos células de alineación adyacentes, y determinar, por el dispositivo informático, la presencia de una célula codificada en la matriz de células capturada (30, 60, 70, 80) detectando una marca de alineación (14) de la célula codificada en la matriz de células capturada y una marca de alineación (14) de otra célula de la matriz de células capturada (30, 60, 70, 80) que está separada por una distancia igual a la distancia entre las marcas de alineación dentro de dos células de alineación adyacentes.
17. El método de una cualquiera de las reivindicaciones 14 a 16, en donde la una o más células de alineación incluyen al menos una célula de alineación que indica un punto final dentro de la matriz de células (30, 60, 70, 80), y/o la una o más células de alineación incluyen al menos una célula de alineación que indica un punto final de una fila dentro de la matriz de células (30, 60, 70, 80), y/o la una o más células de alineación incluyen al menos una célula de alineación que es una inversa de una célula vacía (16) sin ningún patrón de línea.
18. El método de una cualquiera de las reivindicaciones 14 a 17, en donde la matriz de células capturada (30, 60, 70, 80) incluye al menos una célula de decodificación que indica el esquema de codificación usado para codificar el identificador binario y/o en donde el patrón de línea en cada célula codificada corresponde a uno de una pluralidad de patrones de línea predefinidos, en donde cada patrón de línea predefinido corresponde a una secuencia predeterminada de dos o más bits y, opcionalmente, en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende uno o más vectores radiales asimétricos, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende uno o más vectores diametrales, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende una cruz simétrica, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea predefinidos comprende una estrella simétrica, y/o en donde cada uno de uno o más de la pluralidad de patrones de línea comprende un patrón de línea curva.
19. El método de una cualquiera de las reivindicaciones 14 a 18, en donde el perímetro (12) es un polígono y, opcionalmente, en donde el polígono es un triángulo, un cuadrilátero, un pentágono, un hexágono o un dodecágono y, opcionalmente, además, en donde la marca de alineación (14) incluye un centro, en donde el polígono incluye un centro, y en donde el centro de la marca de alineación está en el centro del polígono o está desplazado del centro del polígono.
20. El método de una cualquiera de las reivindicaciones 14 a 19, en donde una anchura del perímetro (12) es igual a una anchura de una línea dentro del patrón de línea (17, 18, 20, 22, 66, 74, 82, 91, 93, 95, 97, 121), y/o en donde la salida del identificador binario recuperado incluye transmitir el identificador binario recuperado desde el dispositivo informático a un dispositivo de visualización, y/o que comprende además convertir, por el dispositivo informático, el identificador binario recuperado a una representación alfanumérica del identificador binario recuperado, en donde la salida del identificador binario recuperado incluye transmitir la representación alfanumérica a una impresora o a un dispositivo de visualización.
21. El método de cualquier reivindicación anterior, en donde la salida de datos para producir la representación gráfica de la matriz de células (30, 60, 70, 80) incluye transmitir los datos desde el dispositivo informático a una impresora, y/o en donde la salida de datos para producir la representación gráfica de la matriz de células (30, 60, 70, 80) incluye transmitir los datos desde el dispositivo informático a un dispositivo de visualización.
22. Una máquina que comprende un dispositivo informático; y un medio legible por ordenador que almacena instrucciones de programa que, cuando se ejecutan por el dispositivo informático, hacen que se realice un conjunto de funciones, comprendiendo el conjunto de funciones un método de acuerdo con una cualquiera de las reivindicaciones 1 a 21.
23. Un medio legible por ordenador que almacena instrucciones de programa que, cuando se ejecutan por un dispositivo informático, hacen que se realice un conjunto de funciones, comprendiendo el conjunto de funciones un método de acuerdo con una cualquiera de las reivindicaciones 1 a 21.
24. Método para proporcionar un artículo de fabricación, comprendiendo dicho artículo:
una superficie; comprendiendo dicho método además realizar el método de acuerdo con cualquiera de las reivindicaciones 1-13 para dar salida de datos correspondientes a dicha matriz de células generada, comprendiendo dicho método además producir una representación gráfica basada en dichos datos correspondientes a dicha matriz de células generada y proporcionar dicha representación gráfica de dicha matriz de células en dicha superficie.
ES20170695T 2014-04-28 2015-04-27 Células y matrices de células codificadas Active ES2947177T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1407432.2A GB2526261B (en) 2014-04-28 2014-04-28 Encoded cells and cell arrays

Publications (1)

Publication Number Publication Date
ES2947177T3 true ES2947177T3 (es) 2023-08-02

Family

ID=50971978

Family Applications (2)

Application Number Title Priority Date Filing Date
ES20170695T Active ES2947177T3 (es) 2014-04-28 2015-04-27 Células y matrices de células codificadas
ES15720763T Active ES2862133T3 (es) 2014-04-28 2015-04-27 Células codificadas y matrices de células

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES15720763T Active ES2862133T3 (es) 2014-04-28 2015-04-27 Células codificadas y matrices de células

Country Status (19)

Country Link
US (4) US10157301B2 (es)
EP (2) EP3702970B1 (es)
JP (1) JP6527528B2 (es)
KR (1) KR20160147004A (es)
CN (1) CN106462784B (es)
AU (2) AU2015255047B2 (es)
BR (1) BR112016024899B1 (es)
CA (1) CA2946244C (es)
DK (1) DK3138048T3 (es)
ES (2) ES2947177T3 (es)
GB (1) GB2526261B (es)
IL (1) IL248294B (es)
MX (1) MX367800B (es)
MY (1) MY181941A (es)
NZ (1) NZ724612A (es)
PH (1) PH12016502106B1 (es)
SG (1) SG11201608971VA (es)
WO (1) WO2015166221A1 (es)
ZA (1) ZA201607022B (es)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2526261B (en) 2014-04-28 2017-08-02 Gelliner Ltd Encoded cells and cell arrays
CN108665039B (zh) * 2017-04-02 2021-06-11 北京拓思德科技有限公司 一种信息记录方法和用于信息记录的介质
EP3659071A4 (en) * 2017-07-28 2021-04-14 The Coca-Cola Company METHOD AND APPARATUS FOR ENCODING AND DECODING CIRCULAR SYMBOLIC CODES
KR102066391B1 (ko) * 2017-11-16 2020-01-15 상명대학교산학협력단 입체기반 다차원 심볼로지 시스템의 정보 삽입 장치 및 방법
US10878165B2 (en) * 2018-07-16 2020-12-29 Taiwan Semiconductor Manufacturing Company, Ltd. Method for generating layout diagram including protruding pin cell regions and semiconductor device based on same
CN109376825B (zh) * 2018-08-21 2022-02-01 卢成伟 一种二维码生成方法及装置
IL299237B2 (en) 2018-10-31 2024-12-01 Illumina Inc Polymerases, compositions, and methods of use
WO2020117968A2 (en) 2018-12-05 2020-06-11 Illumina, Inc. Polymerases, compositions, and methods of use
US11282288B2 (en) 2019-11-20 2022-03-22 Shape Matrix Geometric Instruments, LLC Methods and apparatus for encoding data in notched shapes
FR3106426B1 (fr) * 2020-01-21 2023-04-14 Moonify Sas Procédé et dispositif d’accès à une ressource de la toile
EP4164851A1 (en) * 2020-06-12 2023-04-19 Digimarc Corporation Signaling arrangements employing molded thermoplastics
US12077789B2 (en) 2021-08-14 2024-09-03 Illumina, Inc. Polymerases, compositions, and methods of use
CN113869077B (zh) * 2021-09-29 2024-08-02 杭州海康威视数字技术股份有限公司 一种条码识别方法、装置及电子设备

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1021189A (en) 1909-11-18 1912-03-26 Irving Hill Alphabetical symbols.
US4874936A (en) 1988-04-08 1989-10-17 United Parcel Service Of America, Inc. Hexagonal, information encoding article, process and system
NZ260173A (en) 1988-04-08 1996-11-26 United Parcel Service Inc Optically readable label with information encoded polygons: optical and computer system for decoding
CH680820A5 (es) * 1990-07-13 1992-11-13 Elpatronic Ag
WO1992017859A1 (en) 1991-04-03 1992-10-15 Hewlett Packard Company Position-sensing apparatus
JPH05334470A (ja) * 1991-12-27 1993-12-17 Xerox Corp 自己クロッキング図形記号コード
US5369261A (en) * 1992-02-12 1994-11-29 Shamir; Harry Multi-color information encoding system
JPH05225408A (ja) * 1992-02-14 1993-09-03 Hisashi Ogawa 信号領域放射分割サークルコード
US5288986A (en) 1992-09-17 1994-02-22 Motorola, Inc. Binary code matrix having data and parity bits
CN1104791A (zh) 1993-12-30 1995-07-05 富冈信 一种数据处理用的二维代码纸
US6000621A (en) 1995-12-21 1999-12-14 Xerox Corporation Tilings of mono-code and dual-code embedded data pattern strips for robust asynchronous capture
US5937110A (en) 1996-12-20 1999-08-10 Xerox Corporation Parallel propagating embedded binary sequences for characterizing objects in N-dimensional address space
JP3560009B2 (ja) * 1997-02-14 2004-09-02 高司 澤口 情報処理用の立体コード
CA2285626A1 (en) 1997-04-08 1998-10-15 Zebra Technologies Corporation Distortion resistant double-data correcting color transition barcode and method of generating and using same
ATE469390T1 (de) 1999-05-28 2010-06-15 Anoto Ab Positionsbestimmung
SE517445C2 (sv) 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
SE518962C2 (sv) 2000-03-21 2002-12-10 Anoto Ab Produkt och metod för att koda data till ett matrisformat kodningsmönster
SE0000949L (sv) 2000-03-21 2001-09-22 Anoto Ab Positionsinformation
EP1287483B1 (en) 2000-05-09 2009-12-23 Colorzip Media, Inc Method and device of encoding and decoding
KR100353872B1 (ko) 2000-05-09 2002-09-28 주식회사 칼라짚미디어 기계로 인식가능한 코드 및 그 인코딩/디코딩 방법
US7020327B2 (en) 2000-05-09 2006-03-28 Colorzip Media, Inc. Machine readable code image and method of encoding and decoding the same
GB2407190B (en) 2000-06-21 2005-06-15 Fryco Ltd Optical encoding
SE519012C2 (sv) 2001-04-05 2002-12-23 Anoto Ab Sätt att hantera information
AUPR440901A0 (en) 2001-04-12 2001-05-17 Silverbrook Research Pty. Ltd. Error detection and correction
US7310706B1 (en) * 2001-06-01 2007-12-18 Mips Technologies, Inc. Random cache line refill
SE519277C2 (sv) 2001-06-25 2003-02-11 Anoto Ab Anordning och förfarande för positionskodning och för avkodning av en positionskod
JPWO2003007137A1 (ja) * 2001-07-12 2004-11-04 ソニー株式会社 情報入力・指示方法及び情報入力・指示装置
US7175095B2 (en) 2001-09-13 2007-02-13 Anoto Ab Coding pattern
AUPR986502A0 (en) * 2002-01-09 2002-01-31 Helmer, Jonathon Charles Identification system
AU2003239143A1 (en) * 2002-04-18 2003-11-03 Elia Life Technology Dynamic tactile and low vision fonts
US7231063B2 (en) 2002-08-09 2007-06-12 Intersense, Inc. Fiducial detection system
ATE427550T1 (de) * 2003-06-05 2009-04-15 Nxp Bv Integritatssteuerung fur in einem nichtfluchtigen speicher gespeicherte daten
EP1656633B1 (en) * 2003-06-13 2016-05-04 Anoto AB On-demand printing of coding patterns
CN100481117C (zh) * 2004-03-15 2009-04-22 武汉矽感科技有限公司 一种二维条码编解码方法
US7204428B2 (en) * 2004-03-31 2007-04-17 Microsoft Corporation Identification of object on interactive display surface by identifying coded pattern
DE102005021749A1 (de) * 2005-05-11 2006-11-16 Fachhochschule Dortmund Verfahren und Vorrichtung zur programmgesteuerten Informationsverarbeitung
US7490776B2 (en) 2005-11-16 2009-02-17 Intermec Scanner Technology Center Sensor control of an aiming beam of an automatic data collection device, such as a barcode reader
JP4388116B2 (ja) 2007-11-26 2009-12-24 東芝テック株式会社 バーコード読取装置
DE102009016194A1 (de) * 2008-04-23 2009-10-29 Heidelberger Druckmaschinen Ag Verfahren zur Herstellung eines Sicherheitsmerkmals auf einem flachen Substrat
JP4838387B2 (ja) 2008-05-29 2011-12-14 カラーコード・テクノロジーズ株式会社 情報コード及び情報コード復号方法
JP2009295108A (ja) 2008-06-09 2009-12-17 Denso Wave Inc 情報コード読取装置及び情報コード読取方法
US8276827B2 (en) * 2010-01-27 2012-10-02 Silverbrook Research Pty Ltd Coding pattern comprising control symbols
US8505823B2 (en) 2010-06-30 2013-08-13 International Business Machine Corporation Noise removal from color barcode images
US9098731B1 (en) * 2011-03-22 2015-08-04 Plickers Inc. Optical polling platform methods, apparatuses and media
US8640960B2 (en) 2011-06-27 2014-02-04 Honeywell International Inc. Optical filter for image and barcode scanning
WO2013027234A1 (ja) * 2011-08-22 2013-02-28 Zak株式会社 サテライトドット方式による二次元コードとその読み取り方法
US8915440B2 (en) * 2011-12-23 2014-12-23 Konica Minolta Laboratory U.S.A., Inc. Four dimensional (4D) color barcode for high capacity data encoding and decoding
US8948445B2 (en) 2012-05-03 2015-02-03 The Hong Kong University Of Science And Technology Embedding visual information in a two-dimensional bar code
GB2526261B (en) 2014-04-28 2017-08-02 Gelliner Ltd Encoded cells and cell arrays

Also Published As

Publication number Publication date
BR112016024899A2 (pt) 2017-08-15
US10157301B2 (en) 2018-12-18
EP3702970A1 (en) 2020-09-02
GB201407432D0 (en) 2014-06-11
AU2015255047B2 (en) 2017-06-22
US10460223B2 (en) 2019-10-29
EP3702970B1 (en) 2023-06-07
PH12016502106A1 (en) 2017-01-09
GB2526261B (en) 2017-08-02
US10936924B2 (en) 2021-03-02
MY181941A (en) 2021-01-14
EP3138048A1 (en) 2017-03-08
GB2526261A (en) 2015-11-25
WO2015166221A1 (en) 2015-11-05
AU2015255047A1 (en) 2016-10-13
ES2862133T3 (es) 2021-10-07
MX2016014058A (es) 2017-02-14
SG11201608971VA (en) 2016-11-29
US20190156168A1 (en) 2019-05-23
ZA201607022B (en) 2022-09-28
MX367800B (es) 2019-09-06
AU2017225025A1 (en) 2017-09-28
CN106462784B (zh) 2019-12-10
AU2017225025B2 (en) 2018-12-13
US20190108428A1 (en) 2019-04-11
US20170046549A1 (en) 2017-02-16
US10482362B2 (en) 2019-11-19
JP6527528B2 (ja) 2019-06-05
IL248294B (en) 2019-01-31
CN106462784A (zh) 2017-02-22
KR20160147004A (ko) 2016-12-21
EP3702970C0 (en) 2023-06-07
US20200117968A1 (en) 2020-04-16
BR112016024899B1 (pt) 2023-02-23
NZ724612A (en) 2018-08-31
PH12016502106B1 (en) 2017-01-09
JP2017521740A (ja) 2017-08-03
DK3138048T3 (da) 2021-04-19
CA2946244A1 (en) 2015-11-05
EP3138048B1 (en) 2021-01-13
CA2946244C (en) 2022-11-22

Similar Documents

Publication Publication Date Title
ES2947177T3 (es) Células y matrices de células codificadas
JP5229651B2 (ja) 二次元コード、二次元コード生成方法、二次元コードを表示させるコンピュータ読み取り可能なプログラム、二次元コードを利用した認証方法、及び二次元コードを利用した情報提供方法
CN100573566C (zh) 数据的编码和解码
WO2018115542A1 (es) Método de detección y reconocimiento de marcadores visuales de largo alcance y alta densidad
KR20010006507A (ko) 기계-판독 가능한 심볼로지 및 그의 인쇄 및 판독 방법 및 장치
CN103927575B (zh) 通过编码图样以形成点阵图形的方法及装置
EP2666127B1 (en) A bidimensional graphic matrix code
HK1229033A1 (en) Encoded cells and cell arrays
US9633293B2 (en) Far view two-dimensional symbology
CN114169353B (zh) 一种微观码解密方法和系统
HK1229033B (zh) 编码的单元和单元阵列
CN114169482B (zh) 一种微观码加密方法和系统
ES2251699T3 (es) Procedimiento para el procesamiento de un codigo matricial.