ES2369143T3 - Método de código visual para dispositivos móviles equipados con cámara. - Google Patents
Método de código visual para dispositivos móviles equipados con cámara. Download PDFInfo
- Publication number
- ES2369143T3 ES2369143T3 ES05756209T ES05756209T ES2369143T3 ES 2369143 T3 ES2369143 T3 ES 2369143T3 ES 05756209 T ES05756209 T ES 05756209T ES 05756209 T ES05756209 T ES 05756209T ES 2369143 T3 ES2369143 T3 ES 2369143T3
- Authority
- ES
- Spain
- Prior art keywords
- image
- visual code
- code
- visual
- mobile 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.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06037—Record 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1443—Methods for optical code recognition including a method step for retrieval of the optical code locating of the code in an image
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
- User Interface Of Digital Computer (AREA)
- Studio Devices (AREA)
- Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
- Telephone Function (AREA)
- Closed-Circuit Television Systems (AREA)
- Air Bags (AREA)
Abstract
Método de decodificación de un código visual (101), que comprende: (a) capturar una imagen que incluye un código visual que está asociado con múltiples regiones de la imagen, teniendo cada región una forma; (b) transformar la imagen a escala de grises; (c) umbralizar la imagen; (d) localizar y evaluar el código visual (101) dentro de la imagen; (e) calcular las formas de las regiones de interés dentro de la imagen que están asociadas con el código visual (101); en el que el método está caracterizado porque: (f) la imagen es capturada usando un dispositivo móvil equipado con una cámara digital; (g) cada una de dichas regiones está asociada con información en línea en una URL respectiva; y en el que, además, el método está caracterizado porque: (h) determina una orientación del dispositivo móvil con relación al código visual y las regiones cuando se apunta a una región seleccionada; y (i) visualiza dicha información para la región seleccionada en el dispositivo móvil, dependiendo de la orientación del dispositivo.
Description
Método de código visual para dispositivos móviles equipados con cámara
CAMPO TÉCNICO DE LA INVENCIÓN La presente invención se refiere al campo de la decodificación de códigos leíbles por máquina, utilizando dispositivos móviles equipados con cámara. Más específicamente, la presente invención divulga un código visual propietario que puede ser decodificado y utilizado por prácticamente cualquier dispositivo móvil equipado con cámara.
ANTECEDENTES DE LA TÉCNICA
Los códigos de barras han sido utilizados para identificar y fijar los precios de objetos durante más de treinta años.
Típicamente, los códigos de barras son usados en la venta al consumidor, para identificar la mercancía. Por ejemplo, un
litro de leche puede contener un código de barras que, cuando es escaneado, notificará al cajero el precio de la leche.
Sin embargo, en los últimos años, los códigos de barras han adquirido nuevos propósitos, conforme los ordenadores y los escáneres de código de barras se han hecho más fáciles de transportar. Los circuitos requeridos para escanear un código de barras unidimensional convencional pueden ser alojados, ahora, en un dispositivo tan pequeño como un llavero típico. Como resultado, muchos teléfonos móviles, asistentes digitales personales ("PDAs") y buscapersonas pueden ser adaptados con, o conectados a, un dispositivo de escaneo por láser. Esto permite que el dispositivo móvil funcione como un escáner capaz de almacenar cientos o miles de códigos de barras escaneados.
Los dispositivos móviles con escáneres conectados han permitido el desarrollo de un nuevo nicho en el negocio de la electrónica inalámbrica. Algunas empresas han desarrollado software y hardware que permiten al usuario escanear cualquier código de barras y ser redirigido a una información multimedia (por ejemplo, un sitio web, descripción del producto, precio, etc.) sobre el producto escaneado. Estos programas proporcionan un vínculo entre el mundo físico y el mundo en línea que antes no existía.
Sin embargo, los dispositivos móviles con escáneres conectados tienen algunos inconvenientes que han limitado su expansión en el mercado de móviles. En primer lugar, hay pocos dispositivos móviles producidos para el público en general que contienen escáneres basados en láser integrados. Por lo tanto, para que un usuario consiga una capacidad de escaneado para un dispositivo móvil, él/ella debe adquirir equipo adicional. El equipo de escaneo adicional añade también peso y tamaño al dispositivo móvil, reduciendo, de esta manera, su movilidad.
En la actualidad, hay disponibles muchos teléfonos celulares y dispositivos móviles con cámaras incorporadas. La explosión de la disponibilidad de cámaras digitales asequibles y su inclusión en los dispositivos móviles se debe a diversos factores. Uno de los más importantes es la reciente disponibilidad de sensores de imagen de bajo costo, basados en tecnología CMOS. Las cámaras de estos dispositivos proporcionan un medio para capturar la información de código de barras que antes sólo estaba accesible por medio de un escáner basado en láser. La decodificación de imágenes de código de barras desde cámaras digitales incluidas en dispositivos móviles presenta varios problemas difíciles. Estos problemas son mucho más complicados que los retos abordados en los lectores de códigos de barras comerciales.
Por lo tanto, existe claramente una necesidad de un sistema de código visual que sea capaz de ser decodificado en un dispositivo móvil equipado con cámara. El sistema de código visual debería ser capaz de ser decodificado desde un amplio intervalo de ángulos y distancias, para su uso en diferentes aplicaciones.
Un método de decodificación de un código visual según la porción precaracterizadora de la reivindicación 1, se divulga en el documento US-B2-6604682.
EXPOSICIÓN DE LA INVENCIÓN Según la presente invención, un método de decodificación de un código visual está caracterizado por las características indicadas en la porción precaracterizadora de la reivindicación 1.
La mejora de los dispositivos móviles, de esta manera, es prometedora, ya que está al alcance constante de sus usuarios y está disponible, de esta manera, en muchas situaciones cotidianas. Ofrecen una conectividad inalámbrica continua, y los modelos con cámaras integradas se están haciendo cada vez más populares. La capacidad de detectar objetos en la vecindad inmediata de los usuarios refuerza el papel de los teléfonos móviles en escenarios de comercio móvil, educación y juegos. Además, ofrece una forma de interacción natural y hace que la entrada de datos sea más conveniente.
El método reivindicado puede proporcionar una base para superponer información de texto o gráfica sobre la imagen de la cámara en tiempo real, proporcionando al usuario la sensación de "realidad aumentada". Esto permite una amplia variedad de posibilidades de aplicación en situaciones donde la información debe estar estrechamente vinculada a los objetos físicos.
Un ejemplo es el mantenimiento de los dispositivos o aparatos en campo. Por ejemplo, las partes individuales de un aparato pueden estar asociadas con diferentes códigos visuales. Mediante la decodificación de los diferentes códigos visuales, una información gráfica, que está alineada con los artículos de la imagen, puede ser superpuesta sobre la imagen de la cámara. Posibilidades de aplicación adicionales incluyen mostrar instrucciones de mantenimiento, realizar pedidos de repuestos, comprobar un programa de mantenimiento, etc. Otras aplicaciones estrechamente relacionadas incluyen realizar convenientemente un pedido en catálogos de pedidos por correo, introducir números de referencia en aplicaciones de banca en línea, vincular contenido en línea actualizado a periódicos, soporte para campañas de publicidad comercial por móvil, integración con anuncios de TV, anuncios de TV del tipo vote-ahora o compre -ahora, reservar entradas para eventos y simplificar la interacción con el propio dispositivo móvil.
El método de la presente invención incluye, preferentemente, un sistema de coordenadas incorporado, independiente de la orientación, determinación del ángulo de rotación, determinación de la inclinación y determinación de la distancia, que permiten un gran número de aplicaciones, tales como selección de artículos y entrada de formulario. El algoritmo de reconocimiento puede determinar con precisión las coordenadas de un punto objetivo con relación al sistema de coordenadas definido por el código visual. Las coordenadas pueden ser independientes de la orientación, la inclinación o la rotación del código visual en la imagen de la cámara. Esto permite a la aplicación asociar cada punto de la imagen observada (y por lo tanto, áreas de formas arbitrarias) con información y con operaciones específicas. De esta manera, un único código visual puede estar asociado con una pluralidad de dichas áreas (por ejemplo, las celdas individuales de una tabla o los elementos y las regiones de una imagen).
El algoritmo de reconocimiento puede proporcionar un ángulo de rotación del código visual en la imagen de la cámara, como un parámetro de entrada adicional. Esto puede ser empleado para simplificar la interacción con el dispositivo móvil. Simplemente cambiando la orientación del dispositivo móvil, se reemplaza información diferente, sin necesidad de ninguna interacción a través del teclado. La inclinación horizontal y vertical puede ser usada como parámetro de entrada adicional, de la misma manera que se ha descrito anteriormente (es decir, asociando información diferente con ángulos de inclinación diferentes). La correspondencia entre el sistema de coordenadas de la imagen y el sistema de coordenadas de los códigos puede ser usada también para solucionar problemas de distorsión proyectiva por alabeo en la imagen de la cámara, lo que permite la captura automática de elementos de formulario. Los campos individuales del formulario impreso pueden ser tratados para eliminar el alabeo para eliminar la distorsión y prepararlos, de esta manera, para un procesamiento adicional, tal como su transmisión a un servidor en línea.
ESCENARIOS DE INTERACCIÓN Se abren nuevas posibilidades de interacción cuando los teléfonos móviles o PDAs se mejoran para actuar como sensores para objetos del mundo real. La brecha entre el mundo físico que rodea al usuario y el mundo virtual se reduce al ofertar una manera natural de "recoger" datos en situaciones cotidianas. La información se superpone con entidades físicas y es situada y anclada, de esta manera, en el contexto del mundo real. Los teléfonos móviles están en una excelente posición para contribuir a esta visión, ya que son dispositivos disponibles omnipresentes, constantemente al alcance del usuario. El corto tiempo de interacción necesario para reconocer los códigos es crucial para la facilidad de uso en un entorno móvil. No requiere mucho esfuerzo por parte del usuario y necesita sólo unos segundos.
Hay muchos escenarios de aplicación que podrían beneficiarse del uso de códigos visuales: En los catálogos de venta por correo, los artículos pueden ser seleccionados escaneando códigos visuales para realizar pedidos de manera conveniente. En las aplicaciones de banca en línea, frecuentemente, largos códigos de referencia o números de transacción deben ser copiados manualmente de formularios impresos. Los códigos visuales y los teléfonos móviles podrían reemplazar costosos dispositivos dedicados que realizan esta tarea. En los periódicos, los códigos visuales podrían ser usados para almacenar artículos o clasificar artículos de periódico, para obtener información general relacionada con un anuncio, o para actualizaciones sobre informaciones que se convierten rápidamente en obsoletas, tales como cotizaciones de acciones y previsiones meteorológicas. Usando el sistema de coordenadas del código, es posible definir mapas de imágenes impresas con áreas sensibles predefinidas que están asociadas con un contenido en línea. De esta manera, un único código puede estar asociado a múltiples artículos: por ejemplo, unas zonas en un mapa geográfico podrían estar vinculadas a previsiones meteorológicas correspondientes a esas regiones y cada fila en una tabla impresa que contiene cotizaciones de acciones podría estar vinculada a un gráfico que se muestra en el teléfono.
En el área emergente de la mercadotecnia móvil, los códigos visuales podrían ser usados para simplificar las campañas por SMS y loterías por SMS. En una campaña de publicidad, Coca Cola imprimió números de código en las etiquetas de 160 millones de botellas de refrescos. Enviando un número por medio de SMS, los clientes consiguieron logotipos, tonos de llamada y tarjetas de felicitación, y podían participar en una lotería. Se enviaron 5,9 millones de mensajes SMS, lo que corresponde a una tasa de respuesta del 3,7%. El uso de códigos visuales haría el proceso más conveniente para el usuario y podría resultar en una asistencia aún mayor en dichas campañas, lo que sería muy interesante comercialmente.
Los códigos bi-dimensionales propuestos son también adecuados para su visualización en pantallas electrónicas, tales como monitores de ordenador, pantallas de TV, pantallas públicas de pared, e incluso en las pequeñas pantallas de dispositivos de mano. Cuestionarios, encuestas y sondeos en TV (tales como seleccionar el mejor candidato de un programa de TV) podrían realizarse superponiendo códigos visuales sobre la imagen de la pantalla. Esta idea tiene también implicaciones comerciales. La compañía musical Polydor usó SMS como un canal de respuesta por móvil en un anuncio de TV que publicitaba un CD. Los espectadores podían adquirir el CD por medio de SMS antes de la fecha de lanzamiento oficial, lo que aumentó inmediatamente las cifras de ventas. Una vez más, usando códigos visuales, el ratio de respuesta podría ser aumentado considerablemente. Los teléfonos móviles equipados con cámaras no sólo son capaces de recuperar un identificador (ID) de objeto, sino que pueden ser usados también para las formas de interacción más complejas. El sistema de reconocimiento de códigos de la presente invención puede proporcionar también la orientación del teléfono, la cantidad de rotación y las coordenadas del centro de la imagen.
La presente invención proporciona, preferentemente, un sistema de códigos visuales que utiliza un sistema de coordenadas independiente de la orientación, que está definido por un código visual, y el algoritmo de reconocimiento asociado que determina las coordenadas de un punto objetivo en la imagen de la cámara en relación a ese sistema de coordenadas.
La presente invención proporciona también, preferentemente, un sistema de códigos visuales, que asocia múltiples regiones de una imagen con un único código, en el que cada región está vinculada a una información en línea diferente y una operación asociada con las diferentes regiones.
La invención proporciona también, preferentemente, un sistema de códigos visuales que incluye una función de determinación de la rotación, una función de determinación de la inclinación vertical y horizontal, y una función de determinación de la distancia, que permite que diferentes valores de rotación, inclinación y distancia estén asociados a informaciones diferente.
La invención usa además, preferentemente, un sistema de códigos visuales para la selección de artículos, visualización de información en forma de texto, gráfico (por ejemplo, en la pantalla del dispositivo móvil o en una pantalla electrónica cercana), auditiva (por ejemplo, a través del altavoz del dispositivo móvil, auriculares), o en forma táctil (por ejemplo, a través de la vibración del teléfono), y para desencadenar operaciones específicas.
En otra aplicación adicional, una retroalimentación de texto o de imagen es superpuesta sobre la propia imagen de la cámara, alineada correctamente ("registrada") con los artículos presentes en la imagen, proporcionando, de esta manera, al usuario una sensación de "realidad aumentada".
En aún otra aplicación adicional, se usa un sistema de códigos visuales en conjunción con formularios impresos para una entrada de datos conveniente.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La Fig. 1 muestra un ejemplo del código visual y sus nuevas características.
La Fig. 2 muestra un diagrama de flujo que muestra las etapas utilizadas por un dispositivo móvil equipado con
cámara para decodificar un código visual.
La Fig. 3 muestra un diagrama de flujo que muestra las etapas utilizadas por la etapa de localización de código de
la Fig. 2.
La Fig. 4 muestra un ejemplo de un documento impreso que contiene códigos visuales.
La Fig. 5 muestra otro ejemplo de un documento impreso que contiene códigos visuales.
La Fig. 6 muestra un formulario de ejemplo para la entrada de los eventos de calendario.
MEJOR MODO O MODOS PARA REALIZAR LA INVENCIÓN A continuación, se presenta una descripción detallada de una realización preferente (así como algunas realizaciones alternativas) de la presente invención. Sin embargo, debería ser evidente para una persona con conocimientos en la materia que la realización descrita puede ser modificada, en forma y contenido, para ser optimizada para una amplia variedad de situaciones.
Con referencia primero a la Fig. 1, se muestra un ejemplo de un código visual 101 utilizado en la presente invención. El código visual 101 consiste en una barra guía 103 grande y una barra guía 105 pequeña, para determinar la ubicación y la orientación del código visual 101, tres elementos fundamentales 107, 109 y 111, para la detección de distorsiones, y el área de datos con los bits de código real. La versión mostrada del código visual 101 tiene una capacidad de 83 bits, pero su diseño es genérico y adecuado para una extensión a un mayor número de bits. El código visual 101 puede ser localizado, de manera fiable, incluso en una imagen de baja calidad, pequeña e inclinada.
El código visual 111 puede ser impreso utilizando tinta estándar o tinta infrarroja. Si se utiliza tinta infrarroja para imprimir el código visual 101, la cámara digital debe ser capaz de identificar imágenes infrarrojas. La tinta infrarroja tiene la ventaja de que el código visual 101 no sería visible a simple vista. Por lo tanto, si el algoritmo de la presente invención se ejecuta constantemente en segundo plano siempre que se usa la cámara digital de un dispositivo móvil, la decodificación del código visual 101 podría ser utilizada para hacer que aparezca cierta información.
Los tres elementos fundamentales 107, 109 y 111 definen el sistema de coordenadas inducido por el código. El elemento fundamental 107 se encuentra en el origen, o posición (0, 0). De manera similar, se dice que el elemento fundamental 109 se encuentra en la posición (10, 0), mientras que el elemento fundamental 111 se encuentra en la posición (0, 10). En este sistema de coordenadas, el centro de la barra guía 103 grande se encuentra en la posición (10, 5), mientras que el centro de la barra guía 105 pequeña se encuentra en la posición (8, 10). El código requiere un espacio en blanco de un único elemento de código alrededor del código (1 unidad en el sistema de coordenadas del código). Múltiples códigos visuales pueden ser imprimidos, uno junto a otro, por ejemplo, dispuestos en una cuadrícula. Se requiere un espacio en blanco de un único elemento de código alrededor de dos códigos contiguos (1 unidad en el sistema de coordenadas del código).
A continuación, con referencia a la Fig. 2, se muestra un diagrama de flujo que muestra las etapas utilizadas por un dispositivo móvil equipado con cámara para decodificar el código visual 101. En primer lugar, la imagen capturada por la cámara digital es tratada para corregir la distorsión radial en la etapa 201. La imagen obtenida de la cámara digital muestra, típicamente, cierta cantidad de distorsión de barril. Sin embargo, la distorsión de la lente radial es menos problemática con las cámaras de los teléfonos más actuales, especialmente si el código sólo ocupa una pequeña zona de la imagen. Se corrige desplazando radialmente cada píxel hacia el centro de la imagen. El desplazamiento depende sólo de la distancia del píxel al centro de la imagen y no de la imagen particular a corregir. La función de corrección siguiente produce resultados adecuados (w y h son el ancho en píxeles y la altura en píxeles de la imagen, respectivamente, r es la distancia desde el centro de la imagen, y k es una constante que refleja la cantidad de distorsión radial de la lente):
Para la cámara integrada del dispositivo Nokia 7650, se encontró, mediante ensayos manuales, que k = 6 X 10-7 era aceptable. Para los dispositivos Nokia 6600, 7610 y 6630, más actuales, no era necesaria ninguna corrección. Incluso para el dispositivo Nokia 7650, el reconocimiento de código funciona sin corrección.
La Etapa 201 es opcional, ya que un único código visual cubre, típicamente, solo una pequeña zona de la imagen de la cámara. En este caso, la distorsión radial de la lente no es significativa. Sin embargo, para algunas aplicaciones, tales como las que implican una selección precisa de artículos en la imagen de la cámara, esta etapa puede aumentar la precisión.
A continuación, la imagen es sometida a una adaptación a escala de grises y a una umbralización adaptativa en la etapa 203, porque los tres canales de color en la imagen difieren, frecuentemente, en su nitidez y calidad de contraste. Por lo tanto, el algoritmo usa la fórmula gris = (rojo + verde) / 2, en lugar de la versión más sencilla gris = (rojo + verde + azul) / 3
o la fórmula estandarizada por UIT para la luminancia Y = 0,2126 rojo + 0,7152 verde + 0,0722 azul. Esta fórmula es computacionalmente eficiente y produce un punto de partida adecuado para una umbralización.
Se realiza un método de adaptación para producir una versión en blanco y negro de la imagen a escala de grises, debido a que el brillo de la imagen de la cámara no es constante y el código impreso puede estar iluminado de manera desigual. El algoritmo usa un una media móvil (ponderada) de los valores de grises, cuando se recorre la imagen en zigzag, como una serpiente. La media gs(n) es actualizada según la fórmula:
Pn indica el valor en escala de grises del píxel actual y s indica la anchura de la media móvil. gs se inicializa con gs(0) = 1/2cs, en la que c es el máximo valor posible en la escala de grises.
A continuación, el color de los píxeles umbralizados T (n) es seleccionado en base a la fórmula:
Los valores recomendados para t y s son t = 1/8 w, en la que w es la anchura de la imagen.
Una vez que la imagen ha sido sometida a adaptación a escala de grises en la etapa 203, el algoritmo intenta, a continuación, identificar y etiquetar las diferentes regiones de la imagen en la etapa 205. Esta etapa consiste en encontrar regiones de píxeles negros vecinos, contándolos, y asignando un número a cada uno. El algoritmo usado es un método de dos fases conocido. En la primera fase, la imagen es recorrida fila por fila, asignando etiquetas preliminares a las regiones encontradas. Durante este proceso, puede suceder que dos regiones con diferentes etiquetas vienen a ser, de hecho, la misma región. En este caso, la equivalencia de las dos etiquetas temporales es almacenada en una tabla. La segunda fase resuelve las equivalencias uniendo las regiones correspondientes y asigna una etiqueta final a cada región.
A continuación, el algoritmo calcula las orientaciones y las formas de las diferentes regiones en la etapa 207. Con el fin de identificar los candidatos para las barras de orientación entre las regiones encontradas, se usa la noción de momentos de segundo orden. Los momentos de segundo orden de una región, que consisten en un conjunto de píxeles R y que tienen el centro de gravedad (x, y), se definen como se indica a continuación:
en las que
Partiendo de estos momentos, puede definirse una elipse E = {(x, y) I dx2+2exy+fy2 ≤ 1}, que tiene los mismos ejes mayor y menor que la región, estableciendo:
La relación de las longitudes de los ejes mayor y menor es una buena medida de la "excentricidad" de la región: los círculos y cuadrados perfectos tienen una relación igual a uno, mientras que los segmentos de línea tienen una relación cercana a cero. Esto es muy útil para identificar regiones con una forma de tipo barra. Además, el vector de orientación del eje mayor de la región puede ser calculado como:
en la que
Una vez identificadas las formas y las orientaciones de las diferentes regiones, el algoritmo realiza la etapa de localizar y evaluar los códigos visuales en la etapa 209. La localización de los códigos en la imagen se realiza buscando candidatos para barra guía y encontrando los elementos fundamentales correspondientes. Los candidatos para barra guía se encuentran simplemente seleccionando aquellas regiones que tienen una relación de ejes suficientemente pequeña (por ejemplo, menor de 0,05). Para cada uno de estos candidatos, el tamaño y la orientación de la región son usados para estimar las posiciones esperadas de la barra guía 105 pequeña y los tres elementos fundamentales 107, 109 y 111. A continuación, se comprueba si estas características están presentes realmente en las posiciones estimadas. Los candidatos a elemento fundamental encontrados sólo son aceptados si su relación de ejes es mayor que un cierto límite (tal como se ha indicado anteriormente, en teoría, deberían tener una relación igual a uno). Si alguna de las características del código (elementos fundamentales 107, 109 y 111, y barra guía 105 pequeña) no está presente para algún candidato para barra guía, este candidato particular es abandonado y se examina el siguiente.
Ahora, con referencia a la Fig. 3, se muestra un diagrama de flujo que muestra las etapas utilizadas por la etapa 209 de localización de código de la Fig. 2. En primer lugar, el algoritmo calcula la correspondencia de proyección desde las coordenadas del código a las coordenadas de la imagen (y la correspondencia inversa de las coordenadas de la imagen a las coordenadas del código) en la etapa 303. Una vez que se ha encontrado un candidato para barra guía, con todas las características del código, el algoritmo supone que este es, de hecho, un código en la imagen, y empieza a leer los bits codificados. Para tal fin, las posiciones de los bits en la imagen deben ser determinadas, es decir, se necesita una función que mantenga una correspondencia de cada bit de código con un píxel de la imagen. Debido a que los elementos del código son coplanares, existe una única homografía (matriz de transformación proyectiva) entre el plano del código y el plano de la imagen. La correspondencia de proyección puede ser calculada una vez que se conocen los cuatro puntos correspondientes. En el algoritmo, las correspondencias son los centros de los tres elementos fundamentales 107, 109, y 111, más el centro de la barra guía 105 pequeña. Esto induce un sistema de coordenadas del código con su origen en la esquina superior izquierda del código.
Las coordenadas del código del elemento fundamental superior izquierdo 107, el elemento fundamental superior derecho 109, la barra guía 103 grande, y el elemento fundamental inferior izquierdo 111, se definen para que estén en (0, 0), (10, 0), (8, 10) y (0, 10). Se supone que estos elementos han sido encontrados en las coordenadas de imagen (Xi, Yi), i Є {0, ..., 3}, respectivamente. A una coordenada de código (u, v), u, v Є {0, …, 10} le corresponde una coordenada de imagen (x, y), donde
Los parámetros a-h se calculan a partir de los cuatro puntos de referencia (Xi, Yi), i Є {0, ..., 3}, tal como se indicada a continuación:
La correspondencia inversa a la descrita anteriormente es importante para aplicaciones que seleccionan artículos visibles en la imagen. Dada una coordenada de píxeles, su coordenada correspondiente en el sistema de coordenadas inducido por el código, puede ser obtenido, de esta manera. A una coordenada de imagen (x, y) le corresponde un coordenada de código (u, v), según se indica a continuación:
con
A continuación, el algoritmo calcula el ángulo de rotación del código visual en la imagen en la etapa 305. Este toma valores entre 0º y 359º. Un código que tiene la misma orientación que la imagen tiene un ángulo de rotación de 0º. La rotación se determina mediante la correspondencia de los puntos (0, 0) y (100, 0) del sistema de coordenadas del código al sistema de coordenadas de la imagen, resultando en los puntos de la imagen (ax, ay), y (bx, by). A continuación, el ángulo de rotación se determina como:
aunque deben tenerse en cuenta varios casos especiales.
Una vez calculado el ángulo de rotación del código visual, el algoritmo determina, a continuación, la inclinación horizontal y vertical en la etapa 307. El término "inclinación" se refiere a la cantidad de inclinación del plano de la imagen con respecto al plano de código. "Inclinación horizontal" es la cantidad de inclinación del plano de la imagen con respecto al eje horizontal del código visual. De manera análoga, "inclinación vertical" se refiere a la cantidad de inclinación del plano de la imagen con respecto al eje vertical del código visual. Un valor de inclinación de 1 significa que no hay inclinación, un valor menor que 1 significa que hay una inclinación hacia la izquierda/arriba, y un valor mayor que 1 significa que hay una inclinación hacia la derecha/abajo. Los parámetros de inclinación se calculan tal como se indica a continuación: se calculan cuatro puntos de la imagen con distancia h constante (altura de la imagen) desde el punto central de la imagen en la dirección del eje del sistema de coordenadas del código. Estos son asignados a las coordenadas del código correspondientes y se calculan sus distancias al punto central. Las relaciones de estas distancias determinan los parámetros de inclinación tx y ty. Estos son independientes del tamaño del código de la imagen. A partir de estas relaciones, pueden calcularse los ángulos de inclinación txα y tyα, si se conoce una constante r que depende de los parámetros de la cámara. Esta puede obtenerse experimentalmente.
I = coordenadas de imagen del punto central de la imagen c = CoordenadasCodigo (i)
x = CoordenadasImagen (c + (1, 0)) - i
y = CoordenadasImagen (c + (0, 1)) - i
u = x / |x|
v = y / |y|
l = | CoordenadasCodigo (i - hu) – c |
r = | CoordenadasCodigo (i + hu) – c |
t = | CoordenadasCodigo (i - hv) – c |
b = | CoordenadasCodigo (i + hv) – c |
tx = l / r
ty = t / b
A continuación, en la etapa 308, el algoritmo calcula la distancia del código desde la cámara. Si se conocen el tamaño real del código Sreal (la distancia entre los centros del elemento fundamental superior izquierdo y el elemento fundamental superior derecho del código impreso) y la distancia focal f de la cámara, entonces la distancia métrica desde la cámara al código visual no inclinado se puede calcular a partir de simagen (la distancia en píxeles entre los centros de los elementos fundamentales superiores de la imagen de la cámara), usando el modelo estenopéico (wimagen es la anchura en píxeles de la imagen)
Debido a que, típicamente, sreal y f no son conocidos y se desea usar la distancia de código con propósitos de interacción en lugar de medir su valor exacto, se define la distancia en términos del tamaño del código visual en la imagen. Se establece dcámara,código := 100 para la máxima distancia a la que se reconoce un código en modo buscador de vista. Para los dispositivos típicos, este es el caso cuando Simagen = 25 píxeles, lo que equivale al 15,625% de la anchura de la imagen. De esta manera, la distancia se calcula como
En el caso en el que se conocen sreal y f, la distancia métrica todavía puede ser calculada a partir de dcámara,código.
Debería ser obvio para una persona con conocimientos en la materia que las etapas 303, 305, 307, 308 y 309 pueden ser realizadas en cualquier orden, ya que cada etapa es discreta y da como resultado un parámetro o un resultado diferente.
Una vez que las posiciones de las barras guía 103 y 105 y los elementos fundamentales 107, 109 y 111 han sido identificadas y se ha calculado una correspondencia proyectiva adecuada (de las coordenadas del código a las coordenadas de la imagen), el algoritmo lee los bits codificados en la etapa 309, simplemente comprobando los píxeles (x, y) apropiados de la imagen en blanco y negro, usando las coordenadas del código (u, v) con u, v Є {0, ..., 10} y (x, y) = CoordenadasImagen ((u, v)).
Opcionalmente, la detección de errores puede ser realizada en la etapa 311. El código lineal (83, 76, 3) empleado codifica un ID de 76 bits a una palabra codificada de 83 bits. La distancia Hamming resultante es igual a tres, lo que debería ser suficiente para identificar códigos erróneos con una alta probabilidad. Como alternativa, otros códigos de detección de errores o de corrección de errores, tales como códigos Reed-Solomon, podrían ser usados para aumentar la fiabilidad y la robustez frente a errores de bits. Esto podría ser a costa de unos tiempos de procesamiento ligeramente mayores y un menor número de bits disponibles realmente para el almacenamiento de datos. A modo de ejemplo, 15 bits de los 83 bits originales podrían ser usados para los códigos correctores de error Reed-Solomon, dejando 68 bits para el almacenamiento de datos.
Aplicaciones del algoritmo
A. Determinación del ángulo de rotación y la inclinación Además de las coordenadas del código del centro de la imagen, el algoritmo de reconocimiento proporciona la orientación del dispositivo móvil con relación al código. En particular, el algoritmo proporciona la rotación del código en la imagen, la posición de visualización (desde la izquierda, desde la derecha, desde arriba, desde abajo), la cantidad de inclinación del plano de la imagen con respecto al plano de código, y la distancia desde el código a la cámara. La correspondencia proyectiva (homografía plana) entre el plano de la imagen y el plano del código que implementa el algoritmo de reconocimiento, permite asignar una correspondencia entre puntos arbitrarios proporcionados en coordenadas de la imagen y puntos correspondientes en coordenadas del código y viceversa.
B. Selección de artículos El sistema de coordenadas del código y las funciones de determinación de la orientación permiten una serie de escenarios de aplicación interesantes, que implican la selección de artículos en documentos impresos. Un ejemplo es la selección de artículos representados en catálogos impresos de venta por correo. Un único código es suficiente, siempre que las coordenadas del código de los artículos sean conocidas. Esto puede conseguirse por medio de un software de creación de contenidos que crea "mapas de imagen" para el código y sus zonas sensibles asociadas. E esta manera, los artículos en los catálogos de venta por correo pueden ser escaneados, almacenados en el dispositivo móvil, y puede recuperarse información actual acerca de los artículos. A continuación, puede realizarse el pedido usando el canal de comunicación inalámbrica proporcionado por el dispositivo móvil.
Por ejemplo, en la Fig. 4 se muestra un ejemplo de un documento impreso que contiene códigos visuales. Las regiones en el mapa y las entradas en la tabla son asignadas, de manera individual, a diferentes URLs y, por lo tanto, están asociadas a un contenido en línea.
En los periódicos, la información de fondo en línea para artículos, anuncios o información que se vuelve obsoleta rápidamente, tal como pronósticos del tiempo o cotizaciones de acciones, se puede vincular por medio de códigos visuales. Utilizando el sistema de coordenadas del código, es suficiente un único código ubicado cerca de varios artículos de interés. La zona objetivo exacta, tal como el pronóstico del tiempo local, puede ser determinada a través de la correspondencia proyectiva, calculando las distancias vertical y horizontal al elemento de código visual. En una tabla de cotizaciones de acciones, la fila y columna objetivo y, por lo tanto, la información deseada, pueden ser obtenidas de la misma manera. La Fig. 4 muestra un recorte de una página de periódico que contiene un mapa geográfico con datos meteorológicos actuales y una tabla con las alturas de nieve de diversas regiones. Las líneas a puntos trazadas en la página del periódico indican las áreas sensibles que están vinculadas individualmente al contenido en línea. Dicha correspondencia puede ser creada con un software adecuado de creación de contenidos. Como prototipo, los presentes inventores han desarrollado una herramienta de mapeo que permite dibujar las áreas en la imagen y especificar la URL asociada para cada región. La herramienta calcula las coordenadas de estas áreas en los sistemas de coordenadas de los códigos presentes en la imagen, y almacena estos datos como un archivo XML. Pueden especificarse múltiples URLs para cada región, teniendo en cuenta parámetros adicionales que son proporcionados por el sistema de códigos, tales como la rotación y la inclinación. Tal como se muestra en la Fig. 4, un único código es suficiente para seleccionar el área y las entradas de la tabla, respectivamente. Al girar el dispositivo móvil, pueden seleccionarse diferentes aspectos de la información en línea: En el ejemplo, la orientación vertical muestra la profundidad de la nieve para el área seleccionada, mientras que una ligera rotación muestra la temperatura actual.
Como otra aplicación, los códigos visuales pueden ser usados en mercadotecnia móvil para automatizar la entrada de números de cupón en el dispositivo móvil. Un ejemplo son las campañas de SMS de productores de refrescos: Las botellas de refrescos contienen números (representados por códigos visuales), que pueden ser enviados como un SMS y permitir, de esta manera, la participación en loterías. En la televisión, los códigos visuales podrían ser usados para una entrada interactiva de respuestas a preguntas con múltiples opciones, en encuestas ad hoc y concursos o para la selección de candidatos en un programa de televisión. Las coordenadas del código y la orientación del dispositivo pueden servir como parámetros de entrada adicionales (además del valor de código), por ejemplo, para responder a una pregunta con múltiples opciones.
Posibilidades de aplicación adicionales se refieren a simplificar la interacción con el propio dispositivo móvil. Los números de teléfono, por ejemplo, pueden ser codificados como códigos visuales e impresos en tarjetas de visita o en listines de teléfono. Dependiendo de la orientación del código en la imagen, el dispositivo llama inmediatamente al número de teléfono codificado, almacena la tarjeta de visita virtual en la memoria del dispositivo, o (para los números de teléfono móvil) inicia la aplicación de edición de SMS del dispositivo. Partes de la interfaz de usuario del dispositivo, tales como menús muy anidados, pueden ser externalizadas asociándolas con un código visual e imprimiéndolas en papel o mostrándolas en una pantalla grande.
Un posible escenario de aplicación adicional de la presente invención es la adición de contenido en línea y operaciones a los documentos impresos, tales como folletos, revistas, etc. Una operación en línea ejemplar es la venta de entradas para eventos, teatros o películas por medio del teléfono móvil.
La Fig. 5. muestra una página de una revista de televisión impresa, que está equipada con códigos visuales incorporados. Apuntando a los códigos visuales impresos, puede mostrarse un esbozo de la trama de la película, puede proporcionar una lista del reparto de actores, pueden mostrarse las clasificaciones de las películas, pueden iniciarse avances de películas y pueden reservarse directamente las entradas por medio del teléfono móvil.
C. Entrada de formulario Los códigos visuales pueden ser combinados también con formularios impresos para la simplificación de las entradas del formulario, en el que el dispositivo móvil proporciona un canal de comunicación inalámbrica para enviar de vuelta, de manera conveniente y barata, los datos introducidos. Los campos de estos formularios pueden ser casillas de verificación, reglas y áreas de dibujo para una entrada de texto o gráficos, de manos libres. Usando el marco que rodea al formulario como un marcador, los elementos individuales del formulario pueden ser localizados con precisión. La correspondencia proyectiva del algoritmo de reconocimiento permite tratar partes de la imagen para eliminar el alabeo, así como la imagen en su conjunto.
La Fig. 6 muestra un formulario de ejemplo para la entrada de eventos de calendario. El algoritmo de reconocimiento reconoce primero el código y localiza los bordes del marco. A continuación, las casillas de verificación localizadas en el formulario son escaneadas en busca de marcas de verificación. Por último, las áreas de dibujo son tratadas para eliminar
5 el alabeo, es decir, su inclinación es eliminada, tal como se muestra en la parte inferior de la Fig. 6, y se almacena.
Para definir los formularios, se usa un lenguaje de marcado, que describe la estructura de un formulario, incluyendo las posiciones y los tipos de elementos de entrada que contiene. El código es usado primero como una clave para recuperar la descripción del formulario desde un servidor en línea. Después de interpretar el marcado
10 recuperado, la entrada de usuario puede ser clasificada según el tipo de campo y enviada de vuelta al servidor.
Claims (24)
- REIVINDICACIONES1. Método de decodificación de un código visual (101), que comprende:
- (a)
- capturar una imagen que incluye un código visual que está asociado con múltiples regiones de la imagen, teniendo cada región una forma;
- (b)
- transformar la imagen a escala de grises;
- (c)
- umbralizar la imagen;
- (d)
- localizar y evaluar el código visual (101) dentro de la imagen;
- (e)
- calcular las formas de las regiones de interés dentro de la imagen que están asociadas con el código visual (101); en el que el método está caracterizado porque:
- (f)
- la imagen es capturada usando un dispositivo móvil equipado con una cámara digital;
- (g)
- cada una de dichas regiones está asociada con información en línea en una URL respectiva; y en el que, además, el método está caracterizado porque:
- (h)
- determina una orientación del dispositivo móvil con relación al código visual y las regiones cuando se apunta a una región seleccionada; y
- (i)
- visualiza dicha información para la región seleccionada en el dispositivo móvil, dependiendo de la orientación del dispositivo.
-
- 2.
- Método según la reivindicación 1, que incluye además tratar la imagen, para corregir una distorsión radial de la lente, antes de transformarla a escala de grises.
-
- 3.
- Método según la reivindicación 1, que incluye además:
calcular una primera correspondencia proyectiva del código visual (101) desde un sistema de coordenadas de la imagen a un sistema de coordenadas del código visual; calcular una segunda correspondencia proyectiva del código visual (101) desde el sistema de coordenadas del código visual al sistema de coordenadas de la imagen; calcular un ángulo de rotación del código visual (101); calcular los valores de inclinación horizontal y vertical del código visual (101); calcular una distancia del código visual (101) desde el dispositivo móvil; y leer los bits codificados en el código visual (101). -
- 4.
- Método según la reivindicación 3, que incluye además realizar una detección de errores en el código visual (101).
-
- 5.
- Método según la reivindicación 3, en el que el código visual consiste en tres elementos fundamentales (107, 109, 111), una barra guía (105) pequeña y una barra guía (103) grande.
-
- 6.
- Método según la reivindicación 5, en el que un código visual individual es localizado mediante la identificación de los elementos fundamentales (107, 109, 111), la barra guía (105) pequeña y la barra guía (103) grande.
-
- 7.
- Método según la reivindicación 3, en el que el código visual consiste en tres elementos fundamentales (107, 109, 111), una barra guía (105) pequeña y una barra guía (103) grande, y en el que una orientación de la barra guía pequeña y la barra guía grande es usada cuando se calcula el ángulo de rotación del código visual (101), se calcula la distancia del código visual y se calcula la inclinación del código visual.
-
- 8.
- Método según la reivindicación 1, en el que la transformación a escala de grises de la imagen es realizada calculando el valor de cada píxel en escala de grises, promediando el valor de los píxeles rojo y verde.
-
- 9.
- Método según la reivindicación 8, en el que la imagen en escala de grises es convertida a una imagen en blanco y negro, usando un algoritmo de media móvil ponderada.
-
- 10.
- Método según la reivindicación 3, en el que la barra guía (105) pequeña y la barra guía (103) grande son identificadas mediante la localización de regiones de la imagen que tienen una relación de ejes dentro de un intervalo predeterminado
-
- 11.
- Método según la reivindicación 5, en el que los tres elementos fundamentales (107, 109, 111) y la barra guía
(103) grande son localizados en la posición (0, 0), (10, 0) y (0, 10), y en el que el centro de la barra guía grande es localizado en la posición (8, 10) en el sistema de coordenadas del código visual. -
- 12.
- Método según la reivindicación 3, en el que al menos uno de entre el ángulo de rotación, el valor de la inclinación horizontal, el ángulo de inclinación vertical y la distancia del código visual (101) es usado para seleccionar opciones de un menú.
-
- 13.
- Método según la reivindicación 5, en el que múltiples códigos visuales están dispuestos en una cuadrícula para almacenar datos a través de múltiples códigos visuales y que incluye además la identificación de la cuadrícula de códigos.
-
- 14.
- Método según la reivindicación 1, en el que la decodificación ocurre en tiempo real.
-
- 15.
- Método según la reivindicación 3, en el que la orientación del dispositivo móvil es utilizada como un parámetro para seleccionar una entrada de una base de datos.
-
- 16.
- Método según la reivindicación 15, en la que la base de datos asocia localizadores de recursos uniformes diferentes a al menos un valor de orientación.
-
- 17.
- Método según la reivindicación 15, en el que la base de datos asocia los ángulos de orientación con entradas de formulario, permitiendo, de esta manera, un uso del dispositivo móvil para seleccionar entradas de un formulario, alterando la orientación del dispositivo móvil.
-
- 18.
- Método según la reivindicación 15, en el que la base de datos asocia los ángulos de orientación con un esbozo de la trama de una película, un videoclip, un fichero de audio o una crítica de una película.
-
- 19.
- Método según la reivindicación 1, en el que el código visual (101) es imprimido usando tinta infrarroja y en el que la cámara digital es una cámara infrarroja que captura el código visual como un código visual infrarrojo.
-
- 20.
- Método según la reivindicación 3, en el que un punto objetivo, expresado en el sistema de coordenadas del código visual de una imagen visualizada en una pantalla de la cámara, es usado como un parámetro para seleccionar una entrada de una base de datos.
-
- 21.
- Método según la reivindicación 14, que incluye además una superposición gráfica sobre una imagen visualizada en una pantalla de la cámara, en el que el gráfico superpuesto está alineado geométricamente con los objetos en la imagen visualizada conforme el dispositivo móvil se desplaza y la orientación cambia.
-
- 22.
- Método según la reivindicación 1, en el que el acto de apuntar la cámara digital al código visual (101) es facilitado por medio de un puntero en forma de cruz, visualizado en una pantalla del dispositivo móvil.
-
- 23.
- Método según la reivindicación 22, en el que la pantalla del dispositivo móvil es una pantalla táctil, y en el que la posición del puntero en forma de cruz puede ser especificada usando un estilete para especificar un punto objetivo.
-
- 24.
- Método según la reivindicación 4, en el que la detección de errores es realizada usando una detección de errores Reed-Solomon.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10517005A | 2005-04-13 | 2005-04-13 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2369143T3 true ES2369143T3 (es) | 2011-11-25 |
Family
ID=37115600
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05756209T Expired - Lifetime ES2369143T3 (es) | 2005-04-13 | 2005-05-28 | Método de código visual para dispositivos móviles equipados con cámara. |
Country Status (11)
| Country | Link |
|---|---|
| EP (1) | EP1886246B1 (es) |
| JP (1) | JP4764920B2 (es) |
| CN (1) | CN101099161B (es) |
| AT (1) | ATE515751T1 (es) |
| AU (1) | AU2005330700A1 (es) |
| BR (1) | BRPI0520326A2 (es) |
| CA (1) | CA2604476A1 (es) |
| DK (1) | DK1886246T3 (es) |
| ES (1) | ES2369143T3 (es) |
| MX (1) | MX2007012767A (es) |
| WO (1) | WO2006112866A2 (es) |
Families Citing this family (61)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10319181B2 (en) * | 2006-11-10 | 2019-06-11 | Aristocrat Technologies Australia Pty, Ltd. | Systems and methods for verification using encoded glyphs |
| US20090240598A1 (en) * | 2008-03-24 | 2009-09-24 | Kargman James B | Method and apparatus for automated ordering and payment |
| USD765081S1 (en) | 2012-05-25 | 2016-08-30 | Flir Systems, Inc. | Mobile communications device attachment with camera |
| US9948872B2 (en) | 2009-03-02 | 2018-04-17 | Flir Systems, Inc. | Monitor and control systems and methods for occupant safety and energy efficiency of structures |
| US9843742B2 (en) | 2009-03-02 | 2017-12-12 | Flir Systems, Inc. | Thermal image frame capture using de-aligned sensor array |
| US10244190B2 (en) | 2009-03-02 | 2019-03-26 | Flir Systems, Inc. | Compact multi-spectrum imaging with fusion |
| US9517679B2 (en) | 2009-03-02 | 2016-12-13 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
| US9998697B2 (en) | 2009-03-02 | 2018-06-12 | Flir Systems, Inc. | Systems and methods for monitoring vehicle occupants |
| US9674458B2 (en) | 2009-06-03 | 2017-06-06 | Flir Systems, Inc. | Smart surveillance camera systems and methods |
| US9208542B2 (en) | 2009-03-02 | 2015-12-08 | Flir Systems, Inc. | Pixel-wise noise reduction in thermal images |
| US9473681B2 (en) | 2011-06-10 | 2016-10-18 | Flir Systems, Inc. | Infrared camera system housing with metalized surface |
| US9235876B2 (en) | 2009-03-02 | 2016-01-12 | Flir Systems, Inc. | Row and column noise reduction in thermal images |
| US9451183B2 (en) | 2009-03-02 | 2016-09-20 | Flir Systems, Inc. | Time spaced infrared image enhancement |
| US9986175B2 (en) | 2009-03-02 | 2018-05-29 | Flir Systems, Inc. | Device attachment with infrared imaging sensor |
| US9756264B2 (en) | 2009-03-02 | 2017-09-05 | Flir Systems, Inc. | Anomalous pixel detection |
| US10757308B2 (en) | 2009-03-02 | 2020-08-25 | Flir Systems, Inc. | Techniques for device attachment with dual band imaging sensor |
| US9635285B2 (en) | 2009-03-02 | 2017-04-25 | Flir Systems, Inc. | Infrared imaging enhancement with fusion |
| US20100261454A1 (en) * | 2009-04-14 | 2010-10-14 | Research In Motion Limited | Retrieving additional content based on data within a mobile code |
| US8559929B2 (en) | 2009-04-14 | 2013-10-15 | Blackberry Limited | Resolved mobile code content tracking |
| US9819880B2 (en) | 2009-06-03 | 2017-11-14 | Flir Systems, Inc. | Systems and methods of suppressing sky regions in images |
| US9716843B2 (en) | 2009-06-03 | 2017-07-25 | Flir Systems, Inc. | Measurement device for electrical installations and related methods |
| US9843743B2 (en) | 2009-06-03 | 2017-12-12 | Flir Systems, Inc. | Infant monitoring systems and methods using thermal imaging |
| US9292909B2 (en) | 2009-06-03 | 2016-03-22 | Flir Systems, Inc. | Selective image correction for infrared imaging devices |
| US9756262B2 (en) | 2009-06-03 | 2017-09-05 | Flir Systems, Inc. | Systems and methods for monitoring power systems |
| US10091439B2 (en) | 2009-06-03 | 2018-10-02 | Flir Systems, Inc. | Imager with array of multiple infrared imaging modules |
| US8079524B2 (en) * | 2009-11-30 | 2011-12-20 | Symbol Technologies, Inc. | Imaging-based scanner including border searching for image acquisition |
| US9848134B2 (en) | 2010-04-23 | 2017-12-19 | Flir Systems, Inc. | Infrared imager with integrated metal layers |
| US9918023B2 (en) | 2010-04-23 | 2018-03-13 | Flir Systems, Inc. | Segmented focal plane array architecture |
| US9706138B2 (en) | 2010-04-23 | 2017-07-11 | Flir Systems, Inc. | Hybrid infrared sensor array having heterogeneous infrared sensors |
| US9207708B2 (en) | 2010-04-23 | 2015-12-08 | Flir Systems, Inc. | Abnormal clock rate detection in imaging sensor arrays |
| EP2580713B1 (en) | 2010-06-11 | 2016-04-06 | Rnib | Coded information systems |
| US8910870B2 (en) | 2010-08-06 | 2014-12-16 | Hand Held Products, Inc. | System and method for document processing |
| US10051210B2 (en) | 2011-06-10 | 2018-08-14 | Flir Systems, Inc. | Infrared detector array with selectable pixel binning systems and methods |
| US9900526B2 (en) | 2011-06-10 | 2018-02-20 | Flir Systems, Inc. | Techniques to compensate for calibration drifts in infrared imaging devices |
| US9058653B1 (en) | 2011-06-10 | 2015-06-16 | Flir Systems, Inc. | Alignment of visible light sources based on thermal images |
| US9143703B2 (en) | 2011-06-10 | 2015-09-22 | Flir Systems, Inc. | Infrared camera calibration techniques |
| EP2719166B1 (en) | 2011-06-10 | 2018-03-28 | Flir Systems, Inc. | Line based image processing and flexible memory system |
| US10389953B2 (en) | 2011-06-10 | 2019-08-20 | Flir Systems, Inc. | Infrared imaging device having a shutter |
| US10841508B2 (en) | 2011-06-10 | 2020-11-17 | Flir Systems, Inc. | Electrical cabinet infrared monitor systems and methods |
| KR101808375B1 (ko) | 2011-06-10 | 2017-12-12 | 플리어 시스템즈, 인크. | 저전력 소형 폼 팩터 적외선 이미징 |
| US10079982B2 (en) | 2011-06-10 | 2018-09-18 | Flir Systems, Inc. | Determination of an absolute radiometric value using blocked infrared sensors |
| US10169666B2 (en) | 2011-06-10 | 2019-01-01 | Flir Systems, Inc. | Image-assisted remote control vehicle systems and methods |
| US9961277B2 (en) | 2011-06-10 | 2018-05-01 | Flir Systems, Inc. | Infrared focal plane array heat spreaders |
| US9509924B2 (en) | 2011-06-10 | 2016-11-29 | Flir Systems, Inc. | Wearable apparatus with integrated infrared imaging module |
| CN103875235B (zh) | 2011-06-10 | 2018-10-12 | 菲力尔系统公司 | 用于红外成像装置的非均匀性校正技术 |
| US9235023B2 (en) | 2011-06-10 | 2016-01-12 | Flir Systems, Inc. | Variable lens sleeve spacer |
| US9706137B2 (en) | 2011-06-10 | 2017-07-11 | Flir Systems, Inc. | Electrical cabinet infrared monitor |
| KR101870773B1 (ko) * | 2011-08-31 | 2018-06-26 | 삼성전자 주식회사 | 광학식 문자 판독기를 이용한 스케줄 관리 방법 및 장치 |
| US9811884B2 (en) | 2012-07-16 | 2017-11-07 | Flir Systems, Inc. | Methods and systems for suppressing atmospheric turbulence in images |
| EP2873058B1 (en) | 2012-07-16 | 2016-12-21 | Flir Systems, Inc. | Methods and systems for suppressing noise in images |
| US10127724B2 (en) * | 2013-01-04 | 2018-11-13 | Vuezr, Inc. | System and method for providing augmented reality on mobile devices |
| US8856044B1 (en) | 2013-03-23 | 2014-10-07 | Jeffrey Drazan | Segmented access of remotely stored biographical data to a client device |
| DE102013206825B4 (de) * | 2013-04-16 | 2016-10-06 | Siemens Aktiengesellschaft | Verfahren und Vorrichtung zur Bereitstellung einer zusätzlichen Datenstruktur bei einer Anfrage nach einer Ressource |
| US9973692B2 (en) | 2013-10-03 | 2018-05-15 | Flir Systems, Inc. | Situational awareness by compressed display of panoramic views |
| TWI552082B (zh) * | 2013-12-26 | 2016-10-01 | 財團法人工業技術研究院 | 資料導覽裝置、資料導覽方法及結構化編碼圖樣產生裝置 |
| US11297264B2 (en) | 2014-01-05 | 2022-04-05 | Teledyne Fur, Llc | Device attachment with dual band imaging sensor |
| CN106663225B (zh) * | 2014-07-21 | 2021-07-30 | 艾利丹尼森零售信息服务公司 | 用于显示快速响应(qr)代码内的专有信息的系统、方法和设备 |
| US11176396B2 (en) * | 2017-06-29 | 2021-11-16 | Hewlett-Packard Development Company, L.P. | Detection of whether mobile computing device is pointing to visual code |
| FR3099271B1 (fr) | 2019-07-25 | 2021-07-02 | Spirtech | Procédé d'identification et de couplage d'un terminal cible proche d'un objet portatif parmi une pluralité de terminaux à portée de communication sans fil avec l'objet portatif |
| DE102019211984A1 (de) * | 2019-08-09 | 2021-02-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung, Verfahren zum Steuern derselben und Vorrichtungsverbund bzw. Schwarm |
| CN111580902B (zh) * | 2020-04-20 | 2024-01-26 | 微梦创科网络科技(中国)有限公司 | 一种基于图片分析的移动端元素定位方法及系统 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6561428B2 (en) * | 1997-10-17 | 2003-05-13 | Hand Held Products, Inc. | Imaging device having indicia-controlled image parsing mode |
| JP2000057250A (ja) * | 1998-08-11 | 2000-02-25 | Kyowa Hakko Kogyo Co Ltd | 2次元コードの読取方法 |
| JP2000090187A (ja) * | 1998-09-09 | 2000-03-31 | Pasukaru:Kk | 2次元コード作成装置 |
| JP2000200234A (ja) * | 1998-12-29 | 2000-07-18 | Pasukaru:Kk | 2次元コ―ドハンディスキャナを用いたインタ―ネットの情報照会システム |
| JP2000309154A (ja) * | 1999-04-27 | 2000-11-07 | Toppan Printing Co Ltd | 身分証明証 |
| ES2256106T3 (es) * | 2000-04-06 | 2006-07-16 | Seiko Epson Corporation | Metodo y aparato para leer un simbolo de codigo de barra bidimensional y medio de almacenamiento de datos. |
| US6832729B1 (en) * | 2001-03-23 | 2004-12-21 | Zih Corp. | Portable data collection device for reading fluorescent indicia |
| JP3835207B2 (ja) * | 2001-06-27 | 2006-10-18 | ソニー株式会社 | 試着画像提供システム及び試着画像提供方法、試着画像生成装置及び試着画像生成方法 |
| JP2003335085A (ja) * | 2002-05-22 | 2003-11-25 | National Printing Bureau | 多数の微小記号文字から成る微小記号文字群が印刷された証券印刷物 |
| JP3516144B1 (ja) * | 2002-06-18 | 2004-04-05 | オムロン株式会社 | 光学情報コードの読取方法および光学情報コード読取装置 |
| JP4301775B2 (ja) * | 2002-07-18 | 2009-07-22 | シャープ株式会社 | 2次元コード読み取り装置,2次元コード読み取り方法,2次元コード読み取りプログラム及び該プログラムの記録媒体 |
| JP2004054529A (ja) * | 2002-07-18 | 2004-02-19 | Sharp Corp | 2次元コード読み取り方法,2次元コード読み取りプログラム,該2次元コード読み取りプログラムの記録媒体及び2次元コード読み取り装置 |
-
2005
- 2005-05-28 MX MX2007012767A patent/MX2007012767A/es active IP Right Grant
- 2005-05-28 ES ES05756209T patent/ES2369143T3/es not_active Expired - Lifetime
- 2005-05-28 CN CN200580046131.2A patent/CN101099161B/zh not_active Expired - Fee Related
- 2005-05-28 AU AU2005330700A patent/AU2005330700A1/en not_active Abandoned
- 2005-05-28 EP EP05756209A patent/EP1886246B1/en not_active Revoked
- 2005-05-28 AT AT05756209T patent/ATE515751T1/de not_active IP Right Cessation
- 2005-05-28 JP JP2008506434A patent/JP4764920B2/ja not_active Expired - Fee Related
- 2005-05-28 BR BRPI0520326-0A patent/BRPI0520326A2/pt not_active Application Discontinuation
- 2005-05-28 DK DK05756209.2T patent/DK1886246T3/da active
- 2005-05-28 WO PCT/US2005/019178 patent/WO2006112866A2/en not_active Ceased
- 2005-05-28 CA CA002604476A patent/CA2604476A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| WO2006112866A2 (en) | 2006-10-26 |
| BRPI0520326A2 (pt) | 2009-05-05 |
| CN101099161B (zh) | 2012-06-27 |
| EP1886246A4 (en) | 2009-06-17 |
| MX2007012767A (es) | 2008-04-09 |
| ATE515751T1 (de) | 2011-07-15 |
| EP1886246A2 (en) | 2008-02-13 |
| CN101099161A (zh) | 2008-01-02 |
| JP2008544336A (ja) | 2008-12-04 |
| WO2006112866A8 (en) | 2008-04-10 |
| WO2006112866A3 (en) | 2007-02-01 |
| EP1886246B1 (en) | 2011-07-06 |
| DK1886246T3 (da) | 2011-10-17 |
| HK1113950A1 (en) | 2008-10-17 |
| AU2005330700A1 (en) | 2006-10-26 |
| CA2604476A1 (en) | 2006-10-26 |
| JP4764920B2 (ja) | 2011-09-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2369143T3 (es) | Método de código visual para dispositivos móviles equipados con cámara. | |
| US7296747B2 (en) | Visual code system for camera-equipped mobile devices and applications thereof | |
| Rohs et al. | Using camera-equipped mobile phones for interacting with real-world objects | |
| JP6713610B2 (ja) | 複合コード、複合コード生成装置、複合コード読取り装置、生体認証装置、生体認証システム、方法およびプログラム | |
| US9336474B2 (en) | Identification and purchasing platform | |
| US10121099B2 (en) | Information processing method and system | |
| Kato et al. | Barcodes for mobile devices | |
| JP5742057B2 (ja) | 公共ディスプレイからのナローキャスティングおよび関連配設 | |
| US20150310601A1 (en) | Methods and arrangements for identifying objects | |
| US20160125252A1 (en) | Image recognition apparatus, processing method thereof, and program | |
| JP4774346B2 (ja) | 画像処理方法、画像処理装置およびプログラム | |
| JP6047939B2 (ja) | 評価システム、プログラム | |
| JP5929573B2 (ja) | 評価システム、プログラム | |
| HK1113950B (en) | Visual code system for camera-equipped mobile devices and applications thereof | |
| JP6019888B2 (ja) | 評価システム、情報処理装置 | |
| JP7473758B1 (ja) | ドットパターン | |
| KR20140044169A (ko) | Qr코드를 이용한 보물찾기 게임방식의 비즈니스모델 | |
| JP2006331322A (ja) | 検索用タグ及びこれを使用した情報検索システム | |
| JP2025128428A (ja) | 学習データ生成方法、学習済みモデル、情報処理装置、及び情報処理方法 | |
| CN117576693A (zh) | 一种信息码、信息交互方法、系统、终端设备及存储介质 | |
| JP2006023324A (ja) | 看板情報表示システム | |
| TWM486111U (zh) | 區域型房地產電子裝置 |