MXPA05000367A - Analisis y colocacion de etiquetas en una imagen de un documento codificado por su posicion. - Google Patents

Analisis y colocacion de etiquetas en una imagen de un documento codificado por su posicion.

Info

Publication number
MXPA05000367A
MXPA05000367A MXPA05000367A MXPA05000367A MXPA05000367A MX PA05000367 A MXPA05000367 A MX PA05000367A MX PA05000367 A MXPA05000367 A MX PA05000367A MX PA05000367 A MXPA05000367 A MX PA05000367A MX PA05000367 A MXPA05000367 A MX PA05000367A
Authority
MX
Mexico
Prior art keywords
image
type
document
gradient
histogram
Prior art date
Application number
MXPA05000367A
Other languages
English (en)
Inventor
Yingnong Dang
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA05000367A publication Critical patent/MXPA05000367A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03542Light pens for emitting or receiving light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Analysis (AREA)

Abstract

Las modalidades que se describen de la presente invencion se refieren a analizar imagenes de documentos, las cuales contienen informacion codificada por posicion, como una marca de agua, como una marca de agua con patron de laberinto y etiquetar las imagenes con base en un grado en el que el contenido del documento, como texto, ocluye la informacion que codifica la informacion; dependiendo del grado de dicha oclusion, puede no ser posible extraer suficientes bits de codificacion de posicion de una imagen capturada con la camara del documento para determinar la ubicacion de la imagen capturada con la camara dentro del documento; un modulo de analisis y colocacion de etiquetas recibe, como entrada, una salida de datos de la imagen mediante un modulo de generacion y captura de imagen y datos de capacitacion fuera de linea; realiza un proceso de analisis y colocacion de etiquetas; y emite informacion de la etiqueta de la imagen; los resultados del proceso de analisis y colocacion de etiquetas del documento se pueden usar para determinar de manera eficiente una ubicacion de una imagen capturada con la camara dentro de un documento codificado por su posicion.

Description

ANÁLISIS Y COLOCACIÓN DE ETIQUETAS EN UNA IMAGEN DE UN DOCUMENTO CODIFICADO POR SU POSICIÓN Campo de la Invención Las modalidades de la presente invención se refieren a la interacción entre un medio codificado por su posición y una pluma digital. En particular, las modalidades de la invención se refieren a la colocación de etiquetas en las imágenes de documentos, las cuales contienen información codificada por su posición, con base en un grado en el que el contenido del documento ocluye la información que codifica la posición. Antecedentes de la Invención Los usuarios de computadoras están acostumbrados a usar un ratón y un teclado como la manera de interactuar con una computadora personal. Aunque las computadoras personales proporcionan ciertas ventajas sobre los documentos escrito, la mayoría de los usuarios siguen realizando ciertas funciones usando papel impreso. Algunas de estas funciones incluyen la lectura y anotación en documentos escritos. En el caso de anotaciones, el documento escrito asume una mayor importancia debido a que las anotaciones las hizo un usuario. Sin embargo, una de las dificultades con un documento impreso que contiene anotaciones es que posteriormente será necesario introducir las anotaciones en la forma electrónica del documento. Para esto es necesario que el usuario original u otro usuario lea las anotaciones y las introduzca en una computadora personal. En algunos casos, un usuario puede digitalizar las anotaciones y el texto original, creando de esta manera un nuevo documento. Esto pasos múltiples hacen que la interacción entre el documento impreso y la versión electrónica del documento sea difícil de manejar en repetidas ocasiones. Además, las imágenes digitalizadas con frecuencia no se pueden modificar. Es posible que no exista la manera de separar las anotaciones del texto original. Esta situación hace que el uso de las anotaciones sea difícil. De esta manera, es necesaria una manera mejorada para manejar las anotaciones. Una técnica para capturar información escrita a mano es mediante el uso de una pluma cuya ubicación se pueda determinar durante la escritura. Una pluma que proporciona esta capacidad es la Anoto pen de Anoto Inc. Esta pluma funciona usando una cámara que captura una imagen del papel codificado con un patrón definido previamente. En la Figura 21 se muestra un ejemplo de este patrón de imagen. Este patrón lo usa la Anoto pen (de Anoto Inc.) para determinar la ubicación de una pluma en un pedazo de papel. Sin embargo, no es clara la eficiencia en cuanto a la determinación de la ubicación en el sistema que usa Anoto pen. Para proveer una determinación eficiente de la ubicación de la imagen capturada, se necesita un sistema que proporcione una decodificación eficiente de la imagen capturada. Al hacer anotaciones a un documento, un usuario puede marcar el documento moviendo la punta de una pluma con respecto al documento. El trayecto de la punta de la pluma puede incluir una pluralidad de golpes, en donde cada golpe corresponde a una serie de imágenes capturadas. De esta manera es deseable la identificación eficiente del trayecto de la pluma para procesar la anotación en un documento. Las porciones de la información que codifica la posición, como el patrón de un laberinto de marca de agua, se puede ocluir mediante el contenido del documento, como texto o gráficos. Cuando el contenido de un documento ocluye una cantidad relativamente pequeña (o ninguna) de la información que codifica la posición en un área de un documento, entonces la ubicación del área dentro del documento se puede determinar de manera eficiente sin que sea necesario realizar cálculos costosos para determinar la ubicación. Sin embargo, cuando el contenido del documento ocluye una cantidad relativamente grande de la información que codifica la ubicación en un área del documento, puede ser necesario usar más técnicas de cómputo intensivas para determinar la ubicación del área dentro del documento. De esta manera, es deseable contar con técnicas para distinguir entre los casos en donde una cantidad relativamente pequeña de la información que codifica la ubicación se ocluye y los casos en donde una cantidad relativamente grande se ocluye para aumentar la eficiencia con la que los usuarios puedan interactuar con documentos que contienen información codificada por su posición. Sumario de la Invención Las modalidades de la presente invención se refieren a analizar imágenes de documentos que contienen información codificada por su posición, por ejemplo, patrones de laberintos, y a la colocación de etiquetas en las imágenes capturadas. El resultado de dicho análisis de un documento se puede usar para determinar de manera eficiente la ubicación de una imagen capturada con una cámara dentro de un documento codificado por su posición. Un sistema incluye un módulo de captura de imagen y un módulo de análisis y colocación de etiquetas. El módulo de análisis y colocación de etiquetas recibe, como entrada, salidas de datos de imagen capturada mediante el módulo de captura de imágenes y datos de capacitación fuera de línea; realiza el procesamiento de análisis y colocación de etiquetas, y emite información sobre etiquetas e imágenes. En los documentos impresos se coloca una marca de agua con patrones de laberinto. Dichos patrones de laberinto pueden ser ocluidos por el contenido de un documento, como texto. Dependiendo del grado de dicha oclusión, es posible que no se logren extraer suficientes bits que codifican la posición de una imagen capturada con una cámara para determinar la ubicación de la imagen capturada con una cámara dentro del documento. Las imágenes en un documento con marca de agua se analizan y etiquetan. El proceso de análisis y colocación de etiquetas se refiere a una capacidad para determinar la posición x-y dentro de un documento con marca de agua basado en un grado de visibilidad del patrón de laberinto en una ubicación particular dentro del documento. Las características y utilidades adicionales de la invención serán evidentes al revisar la siguiente descripción detallada. Breve Descripción de los Dibujos La breve descripción de la invención a continuación. Así como la siguiente descripción detallada de las modalidades preferidas, será mejor comprendida al leerse en conjunto con los dibujos anexos, los cuales se incluyen a manera de ejemplo y no a manera de limitante con respecto a la invención que se reivindica. La Figura 1 muestra una descripción general de una computadora que se puede usar en conjunto con las modalidades de la presente invención; las Figuras 2A y 2B muestran un sistema de captura de imágenes y la imagen capturada correspondiente de conformidad con las modalidades de la presente invención; las Figuras de la 3A a la 3F muestran varias secuencias y técnicas de plegado de conformidad con las modalidades de la presente invención; las Figuras de la 4A a la 4E muestran varios sistemas de codificación de conformidad con las modalidades de la presente invención; las Figuras de la 5A a la 5D muestran cuatro esquinas resultantes posibles asociadas con el sistema de codificación de conformidad con las modalidades de la presente invención; la Figura 6 muestra la rotación de una porción de una imagen capturada de conformidad con las modalidades de la presente invención; la Figura 7 muestra varios ángulos de rotación usados en conjunto con el sistema de codificación de las Figuras de la 4A a la 4E; la Figura 8 muestra un proceso para determinar la ubicación de una matriz capturada de conformidad con las modalidades de la presente invención; la Figura 9 muestra un método para determinar la ubicación de una imagen capturada de conformidad con las modalidades de la presente invención; la Figura 10 muestra otro método para determinar la ubicación de una imagen capturada de conformidad con las modalidades de la presente invención; la Figura 11 ilustra un módulo de captura de imágenes y un módulo de análisis y colocación de etiquetas de conformidad con las modalidades de la presente invención; la Figura 12 ilustra los pasos para generar una imagen en un documento en escala de grises con marca de agua, lo que se puede analizar y etiquetar de conformidad con las modalidades de la presente invención; la Figura 13 ilustra una imagen de una porción del contenido de un documento, una porción de un patrón de laberinto codificado por su posición, el contenido y el patrón de laberinto combinado y una vista con acercamiento de una porción del contenido y el patrón de laberinto; la Figura 14 muestra una sub ventana y el píxel central de la sub ventana del patrón de laberinto y el documento combinados de la Figura 13; la Figura 15 muestra el resultado del análisis de un documento de un documento ejemplar de conformidad con varias modalidades de la presente invención; la Figura 16 ilustra una imagen capturada con una cámara que tiene un ángulo de rotación diferente de cero y un ángulo de rotación de 45 grados; la Figura 17 ilustra los dos granos en espiral que forman el operador de borde de Sobel. la Figura 18 muestra un histograma de imágenes de gradiente de una imagen capturada que contiene sólo patrones de laberinto; la Figura 19 muestra un histograma de imágenes de gradiente de una imagen capturada que contiene el contenido del documento; la Figura 20 muestra un resultado ejemplar de capacitación en línea, que incluye un umbral seleccionado para distinguir entre imágenes de patrón de laberinto puro e imágenes de conformidad con la técnica anterior; la Figura 21 muestra una representación de un espacio de codificación en un documento de conformidad con la técnica anterior. Descripción Detallada de la Invención Algunos aspectos de la presente invención se refieren a la determinación de la ubicación de una imagen capturada con relación a una imagen más grande. El método y sistema de determinación de la ubicación que se describen en la presente se pueden usar en combinación con una pluma de funciones múltiples. Lo que se muestra a continuación está separado por sub encabezados para facilidad de comprensión del lector. Los sub encabezados incluyen: términos, computadora de uso genérico, pluma de captura de imágenes, codificación de matriz, decodificación, determinación de la ubicación, y análisis y colocación de etiquetas de imágenes capturadas con una cámara. I . Términos Pluma - cualquier implemento de escritura que pueda o no incluir la capacidad de dar golpes de tinta. En algunos ejemplos, un estilo que no tiene la capacidad de tinta se puede usar como una pluma de conformidad con modalidades de la presente invención. Cámara - un sistema de captura de imágenes que es capaz de capturar una imagen desde un papel o cualquier otro medio. II. Computadora de Uso Genérico La Figura 1 es un diagrama de bloques funcionales de un ejemplo de un entorno de cómputo digital de objetivo genérico convencional que se puede usar para implementar varios aspectos de la presente invención. En la Figura 1, una computadora 100 incluye una unidad de procesamiento 110, una memoria del sistema 120, y una barra de distribución 130 que acopla varios componentes, entre ellos la memoria del sistema a la unidad de procesamiento 110. La barra de distribución 130 puede ser de muchos tipos de estructuras de barras de distribución, entre ellas una barra de distribución de memoria o un controlador de memoria, una barra de distribución periférica y una barra de distribución local que usa cualquiera de una variedad de arquitecturas de barra de distribución. La memoria del sistema 120 incluye una memoria de sólo lectura (ROM) 140 y una memoria de acceso aleatorio (RAM) 150. Un sistema básico de entras y salidas (BIOS) 160, que contiene las rutinas básicas que ayudan a transferir información entre elementos dentro de la computadora 100, por ejemplo durante el arranque, se almacena en la memoria de sólo lectura (ROM) 140. La computadora 100 también incluye una unidad de disco duro 170 para leer y escribir en un disco duro (no se muestra), una unidad de disco magnético 180 para leer o escribir en un disco magnético extraíble 190 y una unidad de disco óptico 191 para leer o escribir en un disco óptico 192, como un CD ROM u otro medio óptico. La unidad de disco duro 170, la unidad de disco magnético 180 y la unidad de disco óptico 191 están conectadas a la barra de distribución del sistema 130 a través de una ¡nterfaz de disco duro 192, una interfaz de unidad de disco magnético 193 y una interfaz de unidad de disco óptico 194, respectivamente. Las unidades y sus medios legibles a través de una computadora asociados proporcionan almacenamiento permanente de instrucciones, estructura de datos, módulos de programas y otros datos para la computadora personal 100. Será evidente para expertos en la técnica que otros tipos de medios legibles a través de una computadora que pueden almacenar datos y a los que se puede tener acceso a través de una computadora, por ejemplo casetes magnéticos, tarjetas de memoria instantánea, discos de video digitales, cartuchos de Bernoulli, memorias de acceso aleatorio (RAM), memorias de sólo lectura (ROM), y similares también se pueden usar en el entorno operativo del ejemplo. Se pueden almacenar diversos módulos de programas en la unidad de disco duro 170, en el disco magnético 190, en el disco óptico 192, en ROM o RAM 150, incluyendo un sistema operativo 195, uno o más programas de aplicación 196, otros módulos de programas 197 y datos de programas 198. Un usuario puede introducir comandos e información en la computadora 100 a través de dispositivos de entrada como un teclado 101 y un dispositivo puntero 102. Otros dispositivos de entrada (no se muestran) pueden incluir un micrófono, una palanca de mando, una almohadilla de juegos, un digitalizador o similares. Estos y otros dispositivos de entrada con frecuencia se conectan a una unidad de procesamiento 110 a través de una interfaz de puerto en serie 106 que se acopla a la barra de distribución del sistema, pero puede conectarse a través de otras interfaces, por ejemplo, a través de un puerto paralelo, un puerto de juegos o una barra de distribución universal en serie (USB). Además, estos dispositivos pueden acoplarse directamente a la barra de distribución del sistema 130 a través de una interfaz adecuada (no se muestra). Un monitor 107 u otro tipo de dispositivo de visualización también se conecta a la barra de distribución del sistema 130 a través de una ¡nterfaz, como un adaptador de video 108. Además del monitor, las computadoras personales típicamente incluyen otros dispositivos de salida periférica (no se muestran), como altavoces e impresoras. En una modalidad que se prefiere, se proporcionan un digitalizador de pluma 165 y una pluma anexa o estilo 166 para capturar digitalmente entradas de captura a mano libre. Aunque se muestra una conexión directa entre el digitalizador de pluma 165 y el puerto en serie, en la práctica, el digitalizador de pluma 165 puede acoplarse directamente a la unidad de procesamiento 110, a través de un puerto paralelo u otra interfaz y la barra de distribución del sistema 130, como se conoce en la técnica. Adicionalmente, aunque el digitalizador 165 se muestra separado del monitor 107, se prefiere que el área de entrada útil del digitalizador 165 se extienda hasta el área de visualización del monitor 107. Además, el digitalizador 165 puede estar integrado al monitor 107, o puede existir como un dispositivo superior o de otra manera anexo al monitor 107. La computadora 100 puede funcionar en un entorno conectado en red usando conexiones lógicas a una o más computadoras remotas, como una computadora remota 109. La computadora remota 109 puede ser un servidor, un enrutador, una computadora personal (PC) en red, un dispositivo compañero u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos en párrafos anteriores relativos a la computadora 100, aunque sólo un dispositivo de almacenamiento de memoria 111 se ilustra en la Figura 1. Las conexiones lógicas que se ilustran en la Figura 1 incluyen una red de área local (LAN) 112 y una red de área extensa (WAN) 113. Tales entornos de red son lugares comunes en oficinas, redes de cómputo de toda una empresa, redes internas e Internet. Cuando se usa en un entorno conectado en una red LAN, la computadora 100 se conecta a la red local 112 a través de una interfaz o adaptador de red 114. Cuando se usa en un entorno conectado en red WAN, la computadora personal 100 típicamente incluye un módem 115 u otros medios para establecer comunicación sobre la red de área extensa 113, como Internet. El módem 115, que puede ser interno o externo, se conecta a la barra de distribución del sistema 130 a través de la interfaz del puerto en serie 106. En un entorno conectado en red, los módulos de programa ilustrados relativos a la computadora personal 100, o porciones de éstos, se pueden almacenar en el dispositivo remoto de almacenamiento de memoria. Será evidente que las conexiones en red que se muestran son ilustrativas y se pueden usar otras técnicas para establecer un enlace de comunicaciones entre las computadoras. Se presume la existencia de cualquiera de varios protocolos ya conocidos como TCP/IP, Ethernet, FTP, HTTP, Bluetooth, IEEE 802.11x y el sistema puede funcionar en una configuración de cliente-servidor para permitir que un usuario recupere páginas de la red. III. Pluma para Capturar Imágenes Aspectos de la presente invención incluyen colocar una corriente de datos codificada en una forma desplegada que representa el flujo de datos codificados (por ejemplo, como se analizará en la Figura 4B, el flujo de datos codificados se usa para crear un patrón gráfico). La forma desplegada puede ser papel impreso (u otro medio físico) o se puede ser una pantalla que proyecta el flujo de datos codificados en conjunto con otra imagen o conjunto de imágenes. Por ejemplo, el flujo de datos codificados se pueden representar como una imagen gráfica sobre el papel o una imagen gráfica sobrepuesta en la imagen desplegada (por ejemplo, representando el texto de un documento) o puede ser una imagen gráfica física (no modificable) en una pantalla de visualización (de manera que una porción de la imagen capturada con un pluma se pueda localizar en la pantalla de visualización). Esta determinación de la ubicación de una imagen capturada se puede usar para determinar la ubicación de la interacción de un usuario con el papel, medio o pantalla de visualización . En algunos aspectos de la presente invención, la pluma puede ser de tinta para escribir en el papel. En otros aspectos, la pluma puede ser un estilo con el usuario escribiendo en la superficie de una pantalla de computadora. Cualquier interacción se puede proveer de vuelta al sistema conociendo la imagen codificada en el documento o dando soporte al documento visualizado en la pantalla de la computadora. Al capturar mensajes de manera repetida con una cámara en la pluma o estilo mientras recorre la pluma o el estilo el documento, el sistema puede seguir el movimiento del estilo, el cual controla el usuario. La imagen que aparece o se imprime puede ser una marca de agua asociada con el papel en blanco o rico en contenido o puede ser una marca de agua asociada con la imagen desplegada o una codificación fija que está por encima de una pantalla o integrada en una pantalla. La Figura 2A y 2B muestran un ejemplo ilustrativo de la pluma 201 con una cámara 203. La pluma 201 incluye una punta 202 que puede o no incluir un depósito de tinta. La cámara 203 captura una imagen 204 de la superficie 207.. La pluma 201 además puede incluir sensores y/ o procesadores adicionales como se representa en el cuadro abierto 206. Estos sensores y/ o procesadores 206 además pueden incluir la capacidad de transmitir información a otra pluma 201 y/ o a una computadora personal (por ejemplo, a través de Bluetooth u otros protocolos inalámbricos). La Figura 2B representa una imagen como sería vista por la cámara 203. En un ejemplo ilustrativo, el campo de visión de la cámara 203 (es decir, la resolución del sensor de imagen de la cámara) es 32x32 píxeles (en donde N=32). En la modalidad, una imagen capturada (32 píxeles por 32 píxeles) corresponde a un área de aproximadamente 5 mm por 5 mm del plano de la superficie capturada por la cámara 203. De esta manera, la Figura 2B muestra un campo de visión de 32 píxeles de largo por 32 píxeles de ancho. El tamaño de N es ajustable, de manera que un N mayor corresponde a una imagen con mayor resolución. De igual manera, aunque el campo de visión de la cámara 203 se muestra como un cuadrado para propósitos ilustrativos en la presente, el campo de visión puede incluir otras formas ya conocidas en la técnica. Las imágenes capturadas por la cámara 203 se pueden definir como una secuencia de marcos de imagen {l¡}, en donde l¡ se captura con la pluma 201 en el momento de la toma de muestra t¡. La tasa de toma de la muestra puede ser grande o pequeña, según la configuración del sistema y los requerimientos de desempeño. El tamaño del marco de la imagen capturada puede ser grande o pequeño, según la configuración del sistema y los requerimientos de desempeño. La imagen capturada por la cámara 203 puede ser usada directamente por el sistema de procesamiento o puede someterse a un filtrado previo. Este filtrado previo puede producirse en la pluma 201 o puede producirse fuera de la pluma 201 (por ejemplo, en una computadora personal). El tamaño de la imagen de la Figura 2B es 32x32 píxeles. Si cada tamaño de la unidad de codificación es de 3x3 píxeles, entonces el número de unidades codificadas capturadas será de aproximadamente 100 unidades. Si el tamaño de la unidad de codificación es de 5x5 píxeles, entonces el número de unidades codificadas capturadas es de aproximadamente 36. La Figura 2A también muestra el plano de la imagen 209 en el que la imagen 210 del patrón de la ubicación 204 se forma. La luz recibida desde el patrón en el plano del objeto 207 se enfoca con el lente 208. El lente 208 puede ser un lente único o un sistema de lentes de múltiples partes, pero aquí se representa como un lente único por razones de simplicidad. El sensor de captura de Imagen 211 captura la imagen 2 0. El sensor de imagen 211 puede tener un tamaño suficiente para capturar la imagen 210. De manera alternativa, el sensor de Imagen 211 puede tener un tamaño suficiente para capturar una imagen de la punta de la pluma 202 en la ubicación 212. Para referencia, la imagen en la ubicación 212 se denomina punta de la pluma virtual. Se observa que la ubicación de la punta de la pluma virtual es fija respecto al sensor de imagen 211 debido a la relación constante entre la punta de la pluma, los lentes 208 y el sensor de imagen 211. La siguiente transformación F s?p transforma las coordenadas de la posición en la imagen capturada por la cámara para colocar las coordenadas en la imagen real en el papel: L papel ~ F s?p(L sensor) Durante la escritura, la punta de la pluma y el papel no están en el mismo plano. De esta manera la transformación de la punta de la pluma virtual a la punta de la pluma real también es F s?p- L- punta de pluma ~ F s ?P punta de pluma virtual) La transformación F s?p puede estimarse como una transformación relacionada. Esto se simplifica como: s,. s'm&,. stcos0r eos ? sin ?? - eos ?? sin < eos 0X sin ?? - eos 6y sin s ,. sin s .. cos¿? F' - eos ?? sin ?? - eos 0y sin ?? ' eos ?? sin ?? - eos 0y sin 0X ' 0, 0. 1 como la estimación de F s?p en donde ??, ??, sx, y sy son la rotación y escala de dos orientaciones del patrón capturado en la ubicación 204. Además, se puede refinar F' S?P mediante la correspondencia de la imagen capturada con la imagen real correspondiente en el papel. "Refinar" significa obtener una estimación más precisa de la transformación de F s?p mediante un tipo de algoritmo de optimización referido como un método recurrente. El método recurrente trata a la matriz F' s?p como el valor inicial. La estimación refinada describe la transformación entre S y P de manera más precisa. Después, se puede determinar la ubicación de la punta de la pluma mediante la calibración. Se coloca la punta de la pluma 202 en una ubicación fija L punta de pluma en el papel. Después, se inclina la pluma, permitiendo que la cámara 203 capture una serie de imágenes con diferentes poses de la pluma. Para cada imagen capturada, se puede obtener la transformación F S?P. Desde esta transformación, se puede obtener la ubicación de la punta de la pluma Virtual L punta de pluma virtual- L punta de pluma virtual ~ F p _>s (L punta de pluma) En donde L punta de pluma se inicializa como (0, 0) y p?S — L punta de pluma = (F s ??G Al promediar el valor de L punta de pluma virtual obtenido de cada imagen, se puede determinar la ubicación de la punta de la pluma Virtual L punta de pluma virtual- Con L punta de pluma virtual, Se puede obtener una estimación más precisa de L punta de pluma. Después de algunas veces de repetición, se puede determinar una ubicación precisa de la punta de la pluma virtual L punta de pluma virtual- Ahora ya se conoce la ubicación de la punta de la pluma virtual L punta de p¡uma virtual- También se puede obtener la transformación F s?p de las imágenes capturadas. Finalmente, se puede usar esta transformación para determinar la ubicación de la punta de la pluma real L punta de pluma · L punta de pluma ~ F s ?P punta de pluma virtual) IV. Codificación de la Matriz Se puede construir una matriz bidimensional mediante la multiplicación de una secuencia de una sola dimensión. Cualquier porción de la matriz bidimensional que contiene un número suficientemente grande de bits se puede usar para determinar su ubicación en la matriz bidimensional completa. Sin embargo, puede ser necesario determinar la ubicación de una imagen capturada o algunas imágenes capturadas. De manera que se reduzca al mínimo la posibilidad de una porción de imagen capturada asociada con dos o más ubicaciones en la matriz bidimensional, una secuencia sin repetición se puede usar para crear la matriz. Una propiedad de una secuencia creada es que la secuencia no se repite en una longitud (o ventana) n. A continuación se describe la creación de una secuencia de una sola dimensión y después la multiplicación de la secuencia en una matriz.
IV.A. Secuencia de la Construcción Una secuencia de números se puede usar como el punto de partida del sistema de codificación. Por ejemplo, una secuencia (también denominada una secuencia m) se puede representar como un conjunto de elemento q en el campo Fq. Aquí, q=pn en donde n = 1 y p es un número primo. La secuencia o secuencia m se puede generar mediante una variedad de técnicas que incluyen, sin limitarse a ésta, división polinominal. Usando la división polinominal, la secuencia se puede definir como se indica a continuación: en donde Pn (x) es un polinominal primitivo de grado n en el campo Fq[x] (con qn elementos). Ri(x) es un polinominal diferente de cero de grado / (en donde /< ?) en el campo Fq[x]. La secuencia se puede crear usando un procedimiento repetitivo con dos pasos: primero, dividir los dos polinominales (que da como resultado un elemento del campo Fq) y, segundo, multiplicar el resultado por x. EL cálculo se detiene cuando el resultado se empieza a repetir. Este proceso se puede implementar usando un registro de cambio de la retroalimentación lineal como se estableció en un artículo de Douglas . Clark y Lih-Jyh Weng, "Secuencias de registro de cambios maximal y cerca de maximal: Contadores eficientes de eventos y logaritmos discretos y fáciles", IEEE Transactions on Computers 43.5 (mayo de 1994, pp 560-568).
En este entorno, se establece una relación entre los cambios cíclicos de la secuencia y Ri(x): al cambiar Ri(x) sólo se cambia la secuencia de manera cíclica y cada cambio cíclico corresponde a un polinominal Ri(x). Una de las propiedades de la secuencia resultante es que, la secuencia tiene un periodo de q" -1 y dentro de un periodo, sobre la anchura (o longitud) n, cualquier porción existe una sola vez y sólo una vez en la secuencia. A esto se denomina la "propiedad de ventana". El periodo qn -1 también se denomina como la longitud de la secuencia y n es el orden de la secuencia. El proceso descrito en el párrafo anterior es sólo uno de una variedad de procesos que se pueden usar para crear una secuencia con la propiedad de ventana. IV.B. Construcción de la Matriz La matriz (o m-matriz) que se pueden usar para crear la imagen(de la que la cámara puede capturar una porción) es una extensión de una secuencia de una sola dimensión o m-secuencia. Permite que A sea una matriz de periodo (m,, m2), a saber A(k + m I) = A(k, I + m2) = A{k, I). Cuando una ventana n-¡ x n2 cambia a través de un periodo de A, todas las matrices rii x n2 diferente de cero sobre Fq aparecen una vez y solo una vez. Esta propiedad también se denomina una "propiedad de ventana" en la que cada ventana es única. Entonces una ventana se puede expresar como una matriz de periodo (mi, m2) (con mi y m2 siendo el número horizontal y vertical de bits presentes en la matriz) y orden {n-¡, n2). Una matriz binaria (o m-matriz) se puede construir al duplicar la secuencia. Un enfoque es obtener una secuencia y después duplicarla a un tamaño de mí;x m2, en donde la longitud de la matriz es L = m-, x m2 = 2" -1. Alternativamente, se puede iniciar con un tamaño predeterminado del espacio que se desea cubrir (por ejemplo, una hoja de papel, 30 hojas de papel, ó el tamaño de un monitor de cómputo), determinar el área {m-¡ x m2), después se usa el tamaño para permitir que L > m( x m?, en donde L = 2n -1. Se puede usar una variedad de diferentes técnicas de multiplicación. Por ejemplo, las figuras de la 3A a la 3C muestran tres secuencias diferentes. Cada una de éstas se puede multiplicar en la matriz que se muestra en la Figura 3D. Los tres métodos de multiplicación diferentes se muestran como la cubierta en la Figura 3D y como los trayectos de trama en las figuras 3E a 3F. Se adopta el método de multiplicación que se muestra en la Figura 3D. Para crear el método de multiplicación que se muestra en la Figura 3D, se crea una secuencia {a,} de longitud L y orden n. Después, una matriz {bk¡} de tamaño mi x m2, en donde gcd(mí, m2) = 1 y L = mi x m2, se crea a partir de la secuencia {a,} al permitir que cada bit de la matriz se calcule como se muestra en la ecuación 1: bki = a¡, en donde k = / modfm^, I = / mod(m2), i = O, L -1. (1) Este enfoque de multiplicación se puede expresar de manera alternativa como puesta en la secuencia en la diagonal de la. matriz, después continuando desde el borde opuesto cuando se alcanza un borde. La Figura 4A muestra un ejemplo de técnicas de codificación que se pueden usar para codificar la matriz de la Figura 3D. Se aprecia que se pueden usar otras técnicas de codificación. Por ejemplo, una técnica de codificación alternativa se muestra en la Figura 11. Haciendo referencia a la Figura 4A, un primer bit 401 (por ejemplo, "1") se representa con una columna de tinta obscura. Un segundo bit 402 (por ejemplo "0") se representa con una flecha de tinta obscura. Se aprecia que se puede usar cualquier color de tinta para representar los diversos bits. El único requisito para seleccionar el color de la tinta es que proporcione un contraste significativo con el fondo del medio para que se pueda diferenciar por un sistema de captura de imagen. Los bits de la Figura 4A se representan por una matriz de celdas de 3x3. El tamaño de la matriz se puede modificar para que tenga cualquier tamaño ya que se basa en el tamaño y resolución de un sistema de captura de imagen. En las figuras 4C a 4E se muestra una representación alternativa de los bits 0 y 1. Será evidente que la representación de un uno o cero para los ejemplos de codificación de las figuras de la 4A a la 4E se pueden cambiar sin que esto tenga efecto alguno. La Figura 4C muestra representaciones de bits que ocupan dos filas o dos columnas en la disposición intercalada. La Figura 4D muestra una modalidad alternativa de los píxeles en las filas y columnas en forma de guiones. Finalmente la Figura 4E muestra representaciones de píxeles en columnas y filas en un formato de separación irregular (por ejemplo, dos puntos obscuros seguidos por un punto blanco). Haciendo referencia nuevamente a la Figura 4A, si un bit se representa por una matriz de 3x3 y un sistema de generación de imágenes detecta una fila obscura y dos filas blancas en la región de 3x3, entonces se detecta un cero (o un uno). Si se detecta una imagen con una columna obscura y dos columnas blancas, entonces se detecta un uno (o un cero). En este caso, se usa más de un píxel o punto para representar un bit. Usando un solo píxel (o bit) para representar un bit, es frágil. El polvo, arrugas en el papel, superficies rugosas y similares dificultan la lectura de las representaciones de unidades de bits de un solo bit. Sin embargo, será evidente que se pueden usar diferentes enfoques para representar de manera gráfica la matriz sobre una superficie. En las Figuras de la 4C a la 4E se muestran algunos enfoques. Será evidente que se pueden usar otros enfoques de igual manera. En la Figura 11 se establece un enfoque que usa sólo puntos con espacios cambiados. Una corriente de bits se usa para crear el patrón gráfico 403 de la Figura 4B. El patrón gráfico 403 incluye 12 filas y 18 columnas. Las filas y columnas se forman a través de una corriente de bits que se convierte en una representación gráfica que usa representaciones de bits 401 y 402. La Figura 4B se puede visualizar con la siguiente representación de bits: V. Decodificación Cuando una persona escribe con la pluma de la Figura 2A o mueve la pluma cerca del patrón codificado, la cámara captura una imagen. Por ejemplo, la pluma 201 puede utilizar un sensor de presión cuando se ejerce presión sobre la pluma 201 contra el papel y la pluma 201 atraviesa un documento en el papel. Entonces la imagen s procesa para determinar la orientación de la imagen capturada respecto a la representación completa de la imagen codificada y extrae los bits que forman la imagen capturada. Para determinar la orientación de la imagen capturada con relación al área codificada completa, se puede observar que no todas las esquinas perceptibles que se muestran en las figuras 5A a 5D pueden representar el patrón gráfico 403. De hecho, con la operación correcta, el tipo de esquina que aparece en la Figura 5A no puede existir en el patrón gráfico 403. Por lo tanto, la orientación en la que el tipo de esquina que aparece en la Figura 5A falta es la orientación adecuada.
Continuando con la Figura 6, la imagen capturada por la cámara 601 se puede analizar y se puede determinar su orientación de manera que se pueda interpretar como la posición representada realmente por la imagen 601. Primero, la imagen 601 se revisa para determinar el ángulo 9 necesario para rotar la imagen de manera que los píxeles se ordenen vertical y horizontalmente. Se observa que son posibles las alineaciones de rejilla alternativas, incluyendo una rotación de la rejilla subyacente a una disposición no horizontal y vertical (por ejemplo, 45 grados). Al usar una disposición no horizontal y vertical se puede proporcionar el beneficio probable de eliminar las distracciones visuales del usuario, ya que los usuarios pueden tener una tendencia a observar patrones horizontales y verticales antes de otros. Por razones de simplicidad, la orientación de la rejilla (horizontal y vertical y cualquier otra rotación de la rejilla subyacente) se denomina colectivamente como la orientación de rejilla definida previamente. A continuación la imagen 601 se analiza para determinar qué esquina es la faltante. La cantidad de rotación o necesaria para girar la imagen 601 a una imagen lista para decodificar 603 se muestra como o = (T más la cantidad de rotación {definida por la esquina faltante}). La cantidad de rotación se muestra a través de la ecuación de la Figura 7. Haciendo referencia nuevamente a la Figura 6, el ángulo T se determina en primer lugar por el diseño de los píxeles que llegan a la disposición horizontal y vertical (u otra orientación de rejilla preferida) de los píxeles y la imagen rota como se muestra en 602. Entonces se realiza un análisis para determinar la esquina faltante y la imagen 602 se rota a la imagen 603 para determinar la imagen para decodificar. En este caso la imagen se rota 90 grados en dirección opuesta al sentido de las manecillas del reloj, de manera que la imagen 603 tiene la orientación correcta y se puede usar para decodificar. Es evidente que el ángulo de rotación T se puede aplicar antes o después de rotar la imagen 601 para que cuente para la esquina faltante. También es evidente que al considerar el ruido en la imagen capturada, los cuatro tipos de esquinas pueden estar presentes. Se puede contar el número de esquinas de cada tipo y seleccionar el tipo que tiene el número menor como el tipo de esquina faltante. Finalmente, el código en la imagen 603 se lee y se correlaciona con la corriente de bits originales que se usan para crear la imagen 403. la correlación puede realizarse de diferentes maneras. Por ejemplo, se puede realizar mediante un recurso recurrente en donde una corriente de bits recuperados se compara con todos los demás fragmentos de la corriente de bits dentro de la corriente de bits original. Segundo, un análisis estadístico se puede realizar entre la corriente de bits recuperada y la corriente de bits original, por ejemplo, al usar una distancia extravagante entre dos corrientes de bits. Será evidente que se pueden usar una variedad de enfoques para determinar la ubicación de la corriente de bits recuperada dentro de la corriente de bits original. Una vez que se tienen los bits recuperados, se necesita ubicar la imagen capturada dentro de la matriz original (por ejemplo, la que se muestra en la Figura 4B). El proceso para determinar la ubicación del segmento de bits dentro de la matriz completa se complica por un número de elementos. Primero, los bits reales que se capturan se pueden obscurecer (por ejemplo, la cámara puede capturar una imagen una imagen con escritura a mano que obscurece el código original). Segundo, el polvo, arrugas, reflejos, y similares pueden generar errores en la imagen capturada. Estos errores hacen que el proceso de localización sea más difícil. A este respecto, es posible que el sistema de captura de imagen necesite funcionar con bits no secuenciales extraídos de la imagen. A continuación se representa un método para operar con bits no secuenciales de la imagen. Permita que la secuencia (o secuencia-m) I corresponda a la serie de energía l(x) = 1/Pn(x), en donde n es el orden de la secuencia-m, y la imagen capturada contiene K bits de I b = (b0 bi b2 ... bk.-¡)1, en donde K = n y el superíndice t representa la transposición de la matriz o vector. La ubicación s de los bits K es sólo el número de cambios cíclicos de I de manera que b0 cambia al principio de la secuencia. Después esta secuencia de cambio R corresponde a la serie de energía xs / Pn (x) , o R = Ts (I), en donde T es el operador de cambio cíclico. Encontramos esta s de manera indirecta. El módulo de polinominales Pn(x) forma un campo. Es garantía que xs = ro + fix + ·-· rn-i xn~1 mod(Pn(x)) . Por lo tanto, podemos encontrar (r0, r1t ... rn.i) y resolver para s. La relación xs = r0 + r-¡x + ... rn-í xn~1 mod(Pn(x)) implica que R = xs = r0 + T + ...+ rn.i Tn~1 (I). Escrito mediante una ecuación lineal binaria, se convierte en R = r* A (2) en donde r = (r0 rY r2 ... r n.i)1, y A = (I 7(1) ... T (I))' la cual consiste en los cambios cíclicos de I de cambio 0 al cambio (n-1). Ahora sólo los bits K escasos están disponibles en R para resolver r. Permitamos que las diferencias de índices entre b¡ y b0 en R sean k¡, i = 1,2, ... , k — 1, entonces los elementos 1o y (k¡ + 1)° de R,i =1, 2, ... , k -1, son exactamente b0, b-i, b k.-t. Al seleccionar las columnas 1a y (k¡ + 1)a de A, / = 1, 2, k -1, se forma la siguiente ecuación lineal binaria: bf = r' (3) en donde M es una sub matriz de A. Si b no tiene errores, la solución de r se puede expresar como: R* = bl "1 (4) en donde M es una sub matriz nxn sin degeneración cualquiera de M y "b es el sub vector correspondiente de b. Con r conocida, se puede usar el algoritmo Pohlig-Hellman-Silver como lo observa Douglas Clark y Lih-Jy Weng en "Secuencias de registro de cambios maximal y cerca de maximal: Contadores eficientes de eventos y logaritmos discretos y fáciles", IEEE Transactions on Computers 43.5 (mayo de 1994, pp 560-568) para encontrar s de manera que xs = r0 + rxx + ...rn_xxn- mod( „(x)).
Debido a que la matriz A (con el tamaño de n por L, en donde L=2 —1) puede ser enorme, se debe evitar almacenar la matriz entera A. De hecho, al observar el proceso anterior, dados los bits extraídos con la diferencia k¡ de índice, sólo las columnas primera y (k¡ + 1) de A son pertinentes para el cálculo. Dichas opciones de k¡ están limitadas, dado el tamaño de la imagen capturada. De esta manera, sólo esas columnas que se pueden involucrar en el cálculo deben guardarse. El número total de columnas tales es mucho menor que L (en donde L=2 — 1 es |a longitud de la secuencia m). VI Corrección de Errores Si existen errores en b, entonces la solución de r se hace más compleja. Los métodos tradicionales de decodificación con corrección de errores pueden no aplicarse rápidamente, debido a que la matriz asociada con los bits capturados pueden cambiar de una imagen capturada a otra. Se adoptó un enfoque estoico. Asumiendo que el número de bits por error en b, ne, es relativamente pequeño en comparación con K, entonces la probabilidad de elegir bits n correctos de los bits K de b y la sub matriz correspondiente de M sin degeneración es alta. Cuando los bits n elegidos son todos correctos, la distancia extravagante entre b* y r*M, o el número de bits de error asociados con r, debe ser mínimo, en donde r se calcula mediante la ecuación (4). Repitiendo el proceso varias veces, es probable que la r correcta que resulta en los bits de error mínimos pueda identificarse. Si sólo hay una r que se asocia con el número mínimo de bits de error, entonces se observa como la solución correcta. De otra manera, si hay más de una r que se asocia con el número mínimo de bits de error, la probabilidad de que n exceda la capacidad de corrección de errores del código generado por M es mayor y el proceso de codificación falla. El sistema entonces se puede mover para procesar la siguiente imagen capturada. En otra implementación, la información sobre las ubicaciones anteriores de la pluma se puede tomar en consideración. Esto es, para cada imagen capturada, se puede identificar un área de destino en donde la pluma se puede esperar. Por ejemplo, si el usuario no levantó la pluma entre la captura de dos imágenes de la cámara, la ubicación de la pluma como la determina la segunda imagen capturada no debe estar tan alejada de la primera ubicación. Cada r que se asocia con el número mínimo de bits de error se puede comprobar para ver si la ubicación s calculada de r satisface la restricción local, es decir, si la ubicación está dentro del área de destino especificada. Si la ubicación s satisface la restricción local, las posiciones X, Y de los bits extraídos en la matriz regresan. De no ser así, el proceso de decodificación falla. La Figura 8 ilustra un proceso que se puede usar para determinar una ubicación en una secuencia (o secuencia m) de una imagen capturada. Primero, en el paso 801, se recibe un flujo de datos referentes a la imagen capturada. En el paso 802, se extraen la columnas correspondientes de A y se construye una matriz M. En el paso 803, los vectores de la columna independiente n se seleccionan de manera aleatoria desde la matriz IV1 y el vector r se determina resolviendo la ecuación (4). Este proceso se realiza Q veces (por ejemplo, 100 veces) en el paso 804. La determinación del número de veces del ciclo se analiza en la sección Cálculo de las veces del ciclo. En el paso 805, r se clasifica de conformidad con su número asociado de bits de error. La clasificación se puede hacer usando una variedad de algoritmos de clasificación como se conoce en la técnica. Por ejemplo, se puede usar un algoritmo de clasificación y selección. El algoritmo de clasificación y selección es benéfico cuando el número Q no es grande. Sin embargo, si Q se hace más grande, se pueden usar otros algoritmos de clasificación (por ejemplo, una clasificación de fusión) que maneja números mayores de elementos de manera más eficiente. El sistema entonces determina en el paso 806 si se realizó la corrección de errores de manera satisfactoria, comprobando su se asociaron múltiples r con el número mínimo de bits de error. Si la respuesta es afirmativa, se devuelve un error en el paso 809, que indica que falló el proceso de decodificación. Si la respuesta es negativa, la posición de s de los bits extraídos en la secuencia (o secuencia m) se calcula en el paso 807, por ejemplo, al usar el algoritmo Pohing-Hellman-Silver. Después, la posición (X,Y) en la matriz se calcula como x = s mod m 1 e y - s mod m2 y el resultado se obtiene en el paso 808. Vil. Determinación de la Ubicación La Figura 9 muestra un proceso para determinar la ubicación de una punta de pluma. La entrada es una imagen capturada por una cámara y la salida puede ser las coordenadas de la posición de la punta de la pluma. De igual manera, la salida puede incluir (o no) otra información, como el ángulo de rotación de la imagen capturada. En el paso 901, se recibe una imagen de una cámara.
Después, la imagen recibida se puede procesar previamente en el paso 902 (como se muestra en el paso 902 con la línea de guiones) para que ajuste el contraste entre los píxeles claros y los obscuros y datos similares. Después, en el paso 903, la imagen se analiza para determinar el flujo de bits en ésta. Después, en el paso 904, los bits n se seleccionan de manera aleatoria del flujo de bits durante varias ocasiones y la ubicación del flujo de bits recibido dentro de la secuencia original (o secuencia m) se determina. Por último, una vez que la ubicación de la imagen capturada se determina en el paso 904, la ubicación de la punta de la pluma se puede determinar en el paso 905. La Figura 10 proporciona más detalles sobre 903 y 904 y muestra el enfoque para extraer el flujo de bits dentro de la imagen capturada. Primero, se recibe una imagen desde la cámara en el paso 1001. Entonces la imagen puede someterse opcionalmente a un procesamiento previo de imagen en el paso 1002 (como se muestra con la línea de guiones del paso 1002). El patrón se extrae en el paso 1003. Aquí, los píxeles de las diversas líneas se pueden extraer para encontrar la orientación del patrón y el ángulo T. Después la imagen recibida se analiza en el paso 1004 para determinar las líneas de la matriz subyacente. Si las líneas de la matriz se encuentran en el paso 1005, entonces el código se extrae del patrón en el paso 1006. El código entonces se decodifica en el paso 1007 y la ubicación de la punta de la pluma se determina en el paso 1008. Si no se encontraron líneas de matriz en el paso 1005, entonces se devuelve un error en el paso 1009. VIII. Imágenes con Marca de Agua: Generación, Análisis y Colocación de Etiquetas Las modalidades de la invención se refieren a analizar imágenes de documentos, que contienen información codificada por posición, como patrones de laberintos y colocación de etiquetas en imágenes. Los resultados de dicho análisis del documento se pueden usar para determinar de manera eficiente una ubicación de la imagen capturada con la cámara dentro de un documento codificado por posición. Haciendo referencia a la Figura 11 , un sistema 1100, de conformidad con diversas modalidades de la invención incluye un módulo de generación y captura de imágenes 1102 y un módulo de análisis y colocación de etiquetas 1106. Las técnicas adecuadas para capturar imágenes para análisis posteriores y colocación de etiquetas se analizaron en párrafos anteriores en la sección III, titulada Pluma para capturar imágenes y en párrafos posteriores en esta sección y en la sección VIII. A, titulada Generación de imágenes de documentos en escala de grises con marca de agua. El módulo de análisis y colocación de etiquetas 1106 recibe, como entrada, datos de la imagen 1104 que emite a través del módulo de generación y captura de imágenes 1102 y daros de capacitación fuera de línea 1110; realiza procesos de análisis y colocación de etiquetas, como se analiza con mayor detalle a continuación y emite información de etiqueta e imagen 1 08. De conformidad con diversas modalidades de la invención, el tamaño de la imagen capturada por la cámara 203 es de 32*32 píxeles. El orden de la matriz-m incrustada, que se usa para codificar posiciones de conformidad con la ubicación en la superficie 207, es 36, a saber, el tamaño de la matriz-m es (2 8+1) * (218-1). Por lo tanto, para decodificar una posición única x-y desde una matriz-m del sub bloque, el número de bits de un sub bloque que se usa para determinar una posición en la superficie 207 debe ser al menos 36.
De conformidad con diversas modalidades de la invención, los documentos impresos reciben una marca de agua con patrones de laberinto. Dichos patrones de laberinto pueden ocluirse mediante el contenido del documento. Por ejemplo texto. Dependiendo del grado de dicha oclusión, puede no ser posible extraer suficientes bits de la matriz-m desde una imagen capturada con la cámara para determinar la ubicación de la imagen capturada con la cámara dentro del documento. De conformidad con diversas modalidades de la invención, las imágenes del documento con marca de agua se analizan y etiquetan. El análisis y colocación de etiquetas se refiere a la capacidad de determinar la posición x-y dentro de un documento con marca de agua con base en el grado de visibilidad de las celdas del patrón de laberinto en una ubicación particular dentro del documento. VIII.A. Generación de Imágenes de Documentos en Escala de Grises con Marca de Agua La Figura 12 ¡lustra los pasos para generar una imagen de un documento en escala de grises con marca de agua, la cual se puede analizar y etiquetar de conformidad con varias modalidades de la invención. Se obtienen imágenes del documento, por ejemplo, introduciendo un documento electrónico en un mapa de bits que corresponde a un documento impreso, como se muestra en 1200 y 1204, o mediante la digitalización de un documento en papel, como se muestra en 1202 y 1206. Los mapas de bits entonces se vuelven a tomar en una resolución adecuada, como se muestra en 1208. La determinación de la resolución se basa en las siguientes consideraciones: (1) la resolución de la imagen del documento no debe ser menor que la de la imagen capturada, ya que cuando la ubicación de la imagen capturada no se puede determinar a través de la decodificación de la matriz-m, la imagen capturada se acoplará con la imagen del documento en escala de grises con marca de agua para determinar la ubicación; (2) una celda del patrón del laberinto impreso debe correlacionarse con un número entero de los píxeles de la imagen del documento de manera que el algoritmo de correspondencia pueda funcionar de manera efectiva. Por ejemplo, si la resolución de la cámara es 0.15mm/píxel, es decir 0.15 mm en el mundo físico se correlaciona a un píxel de la cámara, el tamaño de la celda del patrón de laberinto impreso es 0.45 mm * 0.45 mm, es decir, una celda de patrón de laberinto impreso se correlaciona con 3*3 píxeles en el sensor de la cámara, la resolución de la imagen del documento también debe establecerse en 0.15 mm/ píxel de manera que la celda del patrón de laberinto impreso se correlaciones con un área de 3*3 píxeles en la imagen del documento. Las imágenes obtenidas reciben una marca de agua. La Figura 13 ilustra una imagen de una porción del contenido de un documento 1300, una porción de un patrón de laberinto codificado por posición 1302, el contenido y el patrón de laberinto combinado 1304. y una vista con acercamiento de una porción del contenido y el patrón de laberinto 1306 que muestra: (1) una ubicación en donde no es visible una celda del patrón de laberinto debido a que está ocluido por el texto subyacente 1308, y (2) una ubicación en la que la celda del patrón de laberinto no está ocluido por el contenido del documento y, por lo tanto, es visible 1310. VIll.B. Análisis y Generación de Etiquetas para la Imagen de un Documento De conformidad con varias modalidades de la invención, las imágenes del documento se analizan mediante la división de la imagen en bloques relativamente pequeños que son sustancialmente del mismo tamaño que las celdas del patrón de laberinto; determinar si estos bloques pequeños están ocluidos por el contenido del documento, como texto del documento; y, para cada píxel, contando el número de bloques completamente visibles en una ventana cercana con el píxel como el centro de la ventana; y etiquetar el píxel basado en el número. La ventana cercana puede tener sustancialmente el mismo tamaño que la imagen capturada por la cámara 203, es decir, 32 por 32 píxeles. Observe que el proceso mencionado anteriormente no requiere que la imagen del documento en escala de grises tenga marca de agua, es decir, el contenido combinado con los patrones de laberinto. Mientras la imagen del documento se divide en bloques relativamente pequeños que tienen sustancialmente el mismo tamaño que las celdas del patrón de laberinto, analizar la oclusión de las celdas del patrón de laberinto por el contenido del documento es equivalente a analizar la oclusión de los bloques por el contenido del documento. La Figura 14 muestra un ejemplo de dicha ventana cercana de 32 por 32 píxeles 1400 y su píxel central 1402. De conformidad con varias modalidades de la invención, los píxeles de las imágenes del documento se pueden etiquetar como uno de cuatro tipos: Tipo I: la ventana cercana de 32 por 32 píxeles (con el píxel en consideración como el centro) contiene sustancialmente sólo celdas del patrón de laberinto codificado por posición. Tipo II: la ventana cercana de 32 por 32 píxeles contiene 60 o más celdas del patrón de laberinto visibles. Tipo III: la ventana cercana de 32 por 32 píxeles contiene de 36 a 60 celdas del patrón de laberinto visibles. Tipo IV: la ventana cercana de 32 por 32 píxeles contiene de 35 o menos celdas del patrón de laberinto visibles. De conformidad con la diversas modalidades de la invención, cuando el centro de una imagen capturada se ubica en las áreas de tipo I o tipo II, la ubicación de la imagen dentro de un documento se puede determinar de manera exclusiva mediante la decodificación de la matriz-m. La Figura 15 muestra el resultado del análisis del documento de un documento ejemplar en el que las áreas del documento tienen color (o sombra) diferentes para representar el tipo (es decir, tipo I, II, III, o IV) en la que se ha etiquetado la porción del documento con base en la cantidad de celdas de patrón de laberinto que son visibles en la ventana cercana de 32 por 32 de cada píxel. Observe que al contar el número de celdas de patrón de laberinto, la ventana cercana de 32 por 32 píxeles debe girar 360 grados para que cuente para el hecho de que la cámara puede haber capturado una imagen del documento en cualquier ángulo. Sin embargo, para facilitar la implementación sólo se analiza la vista sin inclinación, y los errores causados por un ángulo inclinado se suman en el umbral para determinar el tipo de píxel. Por ejemplo, la Figura 16 ilustra un caso en donde la imagen capturada gira 45 grados. Esta es la representación del peor caso en donde un máximo de 17.2% de las celdas de patrón de laberinto visibles pueden haberse perdido. Incluso, si los píxeles de tipo II aún tienen al menos 49( = 60*1 -17.2%)) celdas de patrón de laberinto visible, lo que permite una posición c-y exclusiva determinada por la decodificación de la matriz m. En otras palabras, si se etiqueta un píxel como tipo I o II, debe existir un número suficiente de celdas de patrón de laberinto sin importar en qué ángulo pudo haber capturado la cámara una imagen, para determinar la posición x-y con la decodificación de la matriz-m. Por consecuencia, si una imagen capturada falla en la decodificación, es más probable que se ubique en las áreas de tipo III o IV. Si no se pueden decodificar las posiciones x-y de una secuencia de imágenes de un golpe de pluma debido a que no hay suficientes celdas del patrón de laberinto visibles, se puede usar un algoritmo de búsqueda para determinar la ubicación de Imágenes, como en las áreas de píxel de tipo III y IV, dentro del documento. Usando tal algoritmo de búsqueda sólo en las áreas del tipo III y IV disminuye el costo del cálculo para determinar la ubicación de las imágenes relacionadas con el uso del algoritmo de búsqueda para sustancialmente todas las partes de un documento. Por ejemplo, en el documento ejemplar de la Figura 15, sólo 13.7% de las áreas está etiquetado como tipo III (11.1%) o tipo IV (2.6%). El costo del cálculo asociado con la búsqueda del documento completo es mucho mayor que el de la búsqueda en sólo áreas de tipo III y IV. En una ¡mplementación, es posible que se requiera más de 10 segundos buscar en todo el documento, mientras que se necesita menos de 1 segundo para buscar sólo en las áreas de tipo III y IV. El análisis de la imagen disminuye el costo del cálculo en gran medida. IX. Generación de Etiquetas para las Imágenes Capturadas por la Cámara Las imágenes capturadas por la cámara también pueden estar etiquetadas con los cuatro tipos analizados anteriormente en la sección VIII. B titulada Análisis y generación de etiquetas para la imagen de un documento. Se puede hacer una determinación si la imagen capturada por la cámara contiene sustancialmente sólo patrones de laberinto codificado por posición. Dicho de otra manera, se puede hacer una determinación de si la imagen es o no una imagen de tipo I. Esta determinación inicial se analizará con mayor detalle a continuación. Si una imagen capturada con la cámara no es una imagen de tipo I, entonces un patrón de laberinto codificado por posición de la imagen capturada por la cámara se analiza para determinar un número de bits que codifican la posición que se pueden extraer de la imagen. Los parámetros de las líneas de la matriz del patrón de laberinto (escala y rotación a lo largo de cada dimensión, es decir afinar la transformación) se calculan primero, y después se determina la dirección original (o cuadrante) en donde el patrón de laberinto está incrustado. En consecuencia, la información de los bits de la matriz-m se determina con base en las líneas de matriz y direcciones de barra. Si el número de bits extraídos es mayor de aproximadamente 60, la imagen se etiqueta con el tipo II; si aproximadamente se extraen entre 36 y 60 bits, la imagen se etiqueta como tipo III, y si se extraen menos de 36 bits, entonces la imagen se etiqueta como tipo IV. Para dar una categoría a las imágenes capturadas con la cámara de esta manera, se puede usar un algoritmo de umbral, que se analiza posteriormente en la sección IX. B, titulada Algoritmo de umbral, para separar las áreas de patrón de laberinto de las áreas de texto. Después las imágenes se puede etiquetar con base en el número de bits extraídos. Los bits extraídos del tipo I, II y III se pueden usar para determinar la posición x-y de la imagen capturada con la cámara dentro de un documento más grande. El proceso de determinación de posición de este tipo se puede omitir para las imágenes de tipo IV, ya que no contienen suficientes bits para la decodificación de x-y. Para determinar si una imagen contiene patrones de laberinto codificados por posición de manera sustancial solamente, opuesto a los que contienen tanto contenido de documento como patrones de laberinto, se puede usar una característica denominada intervalo de soporte del histograma de imagen del gradiente (SIGIH) de conformidad con varias modalidades de la invención. El SIGIH se usa con base en el conocimiento de que las imágenes de patrón de laberinto puras típicamente no contienen bordes, mientras que las imágenes con contenido de documento, como texto, contienen típicamente bordes, ya que el contenido del documento con frecuencia es más obscuro que las celdas de patrón de laberinto o las áreas vacías. IX. A. Extracción de Características De conformidad con varias modalidades de la presente invención, un primer paso de la extracción de características es un operador gradiente, como el operador de borde Sobel u otro operador gradiente, se puede usar para obtener imágenes de gradiente. Con referencia a la Figura 17, los dos granos de convolución, 1700 y 1702, forman el operador de borde Sobel. Para usar el operador de borde Sobel, cada píxel en una imagen se envuelve con ambos granos de convolución 1700 y 1702. Un grano responde de manera maximal a un borde generalmente vertical y el otro grano responde a un borde horizontal. Un valor "de la suma de vectores" de las dos convoluciones se toma como el valor de salida para un píxel particular. El resultado es una imagen de gradiente. Se puede calcular un histograma de la imagen de gradiente producida por el operador gradiente. El intervalo de soporte del histograma de imagen de gradiente (SIGIH) se puede obtener entonces del histograma de la imagen de gradiente. Por ejemplo, la Figura 18 muestra un histograma de la imagen de gradiente de una imagen capturada que contiene sólo patrones de laberinto. La característica SIGIH es 17, que es número mayor en el eje x que puede tener un valor diferente de cero, para el histograma de la Figura 17. La Figura 19 muestra un histograma de la imagen de gradiente de una imagen capturada que contiene el contenido del documento, como texto y/ o uno o más dibujos. La característica SIGIH es 44 para el histograma de la Figura 19. IX.B. Algoritmo de Umbral Un algoritmo de umbral, para determinar si una imagen es de tipo I o no, de conformidad con diversas modalidades de la invención, se puede dividir en 2 sesiones: (1) capacitación fuera de línea y (2) generación de etiquetas en línea. IX.B.1. Capacitación en Línea En una sesión de capacitación fuera de línea, la característica SIGIH se puede calcular para un número relativamente grande de imágenes con etiquetas conocidas (es decir, tipos I, II, III o IV). El SIGIH de las imágenes del patrón de laberinto puro con frecuencia es menor que el SIGIH para las imágenes de otros tipos. Un umbral óptimo ? se puede seleccionar con base en los resultados del proceso de los datos de capacitación. Para sustancialmente todas las imágenes de patrón de laberinto puro en el conjunto de capacitación, los SIGIH son menores que 77, y para sustancialmente todas las imágenes de patrón de laberinto no puras, su SIGIH es mayor que 77. La Figura 20 muestra un resultado ejemplar de la capacitación fuera de línea en donde ?, un umbral 2004 óptimo, se selecciona en 32. También, se muestran las barras 2002 del histograma que corresponden a las imágenes de patrón de laberinto puro y las barras del histograma 2006 que corresponden a imágenes de patrón de laberinto no puras (es decir, que incluye el contenido de documento). IX.B.2 Generación dé Etiquetas en Línea Durante la generación de etiquetas, se calcula cada SIGIH de la imagen. Si el SIGIH es menor que ?, entonces la imagen se etiqueta como imagen de tipo I. De otra manera, si el SIGIH es mayor que 77, la etiqueta se etiqueta con un tipo diferente de l (es decir, tipo II, III y IV). El análisis anterior referente al análisis y generación de etiquetas del documento asume que el contraste de las imágenes capturadas permanece siendo relativamente consistente. Dicho de otra manera, se asume que el amplificador del sensor y/ o las condiciones de iluminación de la cámara siguen siendo relativamente consistentes. Si estas condiciones cambian de manera no trivial, puede llevarse a cabo una nueva capacitación para actualizar los parámetros de las características. X. Notas Concluyentes La descripción anterior es meramente ilustrativa de la solicitud de los principios de la presente invención. Los expertos en la técnica pueden implementar otras disposiciones y métodos sin separarse del espíritu y alcance de la presente invención. Cualquiera de los métodos de la invención se puede implementar en programas y sistemas de programación que se pueden almacenar en los discos de la computadora o en otros medios legibles mediante una computadora.

Claims (1)

  1. REIVINDICACIONES 1.- Un método para colocar una etiqueta en una imagen de un documento que contiene información codificada por su posición para indicar la cantidad de información de posición codificada que se puede extraer de la imagen, el método comprende: obtener la imagen del documento, y etiquetar la imagen como un tipo seleccionado entre al menos: un primer tipo que contiene sustancialmente sólo información codificada por posición y sustancialmente no hay contenido de documento, y un segundo tipo de contenido de documento que ocluye al menos porción de la información codificada por posición. 2.- El método tal y como se describe en la reivindicación 1, caracterizado porque obtener una imagen del documento además comprende: presentar un documento electrónico en una representación de mapa de bits que corresponde a un documento impreso. 3.- El método tal y como se describe en la reivindicación 1, caracterizado porque obtener una imagen del documento además comprende: procesar un documento en papel digitalizado. 4.- El método tal y como se describe en la reivindicación 1, caracterizado porque el segundo tipo se divide en una pluralidad de subtipos que representan diferentes grados de oclusión de la información codificada por posición por el contenido del documento. 5. - Un método para colocar etiquetas a una imagen capturada con una cámara que contiene información codificada por posición para indicar una cantidad de información de la posición codificada que se puede extraer de la imagen, el método comprende: obtener la imagen capturada por la cámara; y etiquetar la imagen como un tipo seleccionado entre al menos: un primer tipo que contiene sustancialmente sólo información codificada por posición y sustancialmente ningún contenido de documento, y un segundo tipo que contiene contenido de documento que ocluye al menos una porción de la información codificada por posición. 6. - El método tal y como se describe en la reivindicación 5, caracterizado porque un intervalo de soporte del histograma de la imagen de gradiente se usa para determinar si la imagen es del primer tipo o del segundo tipo. 7.- El método tal y como se describe en la reivindicación 6, caracterizado porque además comprende: aplicar un operador gradiente a la imagen para obtener una imagen gradiente. 8.- El método tal y como se describe en la reivindicación 7, caracterizado porque el operador gradiente es el operador de borde Sobel. 9- El método tal y como se describe en la reivindicación 8, caracterizado porque además comprende: generar un histograma de la imagen gradiente. 10.- El método tal y como se describe en la reivindicación 9, caracterizado porque además comprende: usar un número mayor a lo largo del eje x del histograma que tiene un valor diferente de cero como el intervalo de soporte del histograma de la imagen gradiente. 11.- El método tal y como se describe en la reivindicación 6, caracterizado porque se usan una sesión de capacitación fuera de línea y una sesión de colocación de etiquetas en línea para determinar si la imagen es del primer tipo o del segundo tipo. 12.- El método tal y como se describe en la reivindicación 11, caracterizado porque un umbral, que se usa para distinguir entre las imágenes del primer tipo y las imágenes del segundo tipo, se selecciona con base en los resultados de la sesión de capacitación fuera de línea realizada en imágenes de datos de capacitación. 13.- El método tal y como se describe en la reivindicación 12, caracterizado porque durante la sesión de colocación de etiquetas en línea, el umbral se compara con un intervalo de soporte del histograma de imagen gradiente de la imagen para determinar si la imagen es del primer tipo o del segundo tipo. 14. - Un sistema que etiqueta una imagen de un documento que contiene información codificada por posición para indicar una cantidad de información de posición codificada que se puede extraer de la imagen, el sistema comprende: un módulo de generación y captura de imagen que obtiene la imagen del documento; y un módulo de análisis y colocación de etiquetas que etiqueta la imagen como un tipo seleccionado entre al menos: un primer tipo que sustancialmente sólo contiene información codificada por posición y sustancialmente no contiene contenido de documento, y un segundo tipo de que contiene contenido de documento que ocluye al menos una porción de la información codificada por posición. 15. - El sistema tal y como se describe en la reivindicación 14, caracterizado porque el módulo de generación y captura de imagen presenta un documento electrónico en una representación de mapa de bits que corresponde a u documento impreso. 16. - El sistema tal y como se describe en la reivindicación 14, caracterizado porque el módulo de generación y captura de imagen procesa un documento en papel digitalizado. 17.- El sistema tal y como se describe en la reivindicación 14, caracterizado porque el segundo tipo se divide en una pluralidad de subtipos que representan diferentes grados de oclusión de la información codificada por posición por el contenido del documento. 18.- Un sistema que etiqueta una imagen capturada con una cámara que contiene información codificada por posición para indicar una cantidad de información de posición codificada que se puede extraer de la imagen, el sistema comprende: un módulo de generación y captura de imagen que obtiene la imagen capturada por la cámara; y un módulo de análisis y colocación de etiquetas que etiqueta las imágenes del tipo seleccionado entre al menos: un primer tipo que contiene sustancialmente sólo información codificada por posición y sustancialmente ningún contenido de documento, y un segundo tipo que contiene contenido de documento que ocluye al menos una porción de la información codificada por posición. 19. - El sistema tal y como se describe en la reivindicación 18, caracterizado además porque un intervalo de histograma de imagen gradiente se usa para determinar si la imagen es del primer tipo o del segundo tipo. 20. - El sistema tal y como se describe en la reivindicación 19, caracterizado además porque el módulo de análisis y colocación de etiquetas aplica un operador gradiente a la imagen para obtener una imagen gradiente. 21.- El sistema tal y como se describe en la reivindicación 20, caracterizado además porque el operador gradiente es el operador de borde Sobel. 22.- El sistema tal y como se describe en la reivindicación 19, caracterizado además porque el módulo de análisis y colocación de etiquetas genera un histograma de imagen gradiente. 23.- El sistema tal y como se describe en la reivindicación 22, caracterizado además porque el módulo de análisis y colocación de etiquetas usa un número mayor a lo largo del eje x del histograma que tiene un valor diferente de cero como intervalo de soporte del histograma de la imagen gradiente. 24.- El sistema tal y como se describe en la reivindicación 23, caracterizado además porque el módulo de análisis y colocación de etiquetas realiza una sesión de capacitación fuera de línea y una sesión de colocación de etiquetas en línea para determinar si la imagen es del primer tipo o del segundo tipo. 25.- El sistema tal y como se describe en la reivindicación 24, caracterizado porque un umbral, que se usa para distinguir entre las imágenes del primer tipo y las imágenes del segundo tipo, se seleccionan con base en los resultados de la sesión de capacitación fuera de línea realizada en imágenes de datos de capacitación. 26. - El sistema tal y como se describe en la reivindicación 25, caracterizado además porque durante la sesión en línea, el módulo de análisis y colocación de etiquetas compara el umbral con un intervalo de soporte del histograma de imagen gradiente de la imagen para determinar si la imagen es del primer tipo o del segundo tipo. 27. - Un medio legible por computadora que contiene instrucciones que pueden ser leídas por una compradora para etiquetar una imagen de documento que contiene información codificada por posición para indicar una cantidad de información de posición codificada que se puede extraer de la imagen, realizando pasos que comprenden: obtener la imagen del documento, y etiquetar la imagen como un tipo seleccionado entre al menos: un primer tipo que contiene sustancialmente sólo información codificada por posición y sustancialmente no hay contenido de documento, y un segundo tipo de contenido de documento que ocluye al menos porción de la información codificada por posición. 28. - El medio legible por computadora tal y como se describe en la reivindicación 27, caracterizado además porque comprende: presentar un documento electrónico en una representación de mapa de bits que corresponde a un documento impreso. 29.- El medio legible por computadora tal y como se describe en la reivindicación 27, caracterizado además porque en donde obtener una imagen del documento además comprende: procesar un documento en papel digitalizado. 30.- El medio legible por computadora tal y como se describe en la reivindicación 27, caracterizado además porque el segundo tipo se divide en una pluralidad de subtipos que representan diferentes grados de oclusión de la información codificada por posición por el contenido del documento. 31.- Un medio legible por computadora que contiene instrucciones que pueden ser leídas por una computadora para colocar una etiqueta en una imagen capturada por la cámara que contiene información codificada por su posición para indicar una cantidad de información de posición codificada que se puede extraer de la imagen, los pasos para realizarlo comprenden: obtener la imagen capturada por la cámara, y etiquetar la imagen como un tipo seleccionado entre al menos: un primer tipo que contiene sustancialmente sólo información codificada por posición y sustancialmente no hay contenido de documento, y un segundo tipo de contenido de documento que ocluye al menos una porción de la información codificada por posición. 32.- El medio legible por computadora tal y como se describe en la reivindicación 31, caracterizado además porque un intervalo de soporte del histograma de imagen gradiente se usa para determinar si la imagen es del primer tipo o del segundo tipo. 33.- El medio legible por computadora tal y como se describe en la reivindicación 32, caracterizado además porque contiene instrucciones ejecutables · por una computadora para realizar los pasos que comprenden: aplicar un operador de gradiente a la imagen para obtener una imagen gradiente. 34. - El medio legible por computadora tal y como se describe en la reivindicación 33, caracterizado además porque el operador gradiente es el operador de borde Sobel. 35. - El medio legible por computadora tal y como se describe en la reivindicación 34, caracterizado además porque comprende instrucciones ejecutables por una computadora para realizar los pasos que comprenden: generar un histograma de la imagen gradiente. 36. - El medio legible por computadora tal y como se describe en la reivindicación 35, caracterizado además porque contiene instrucciones ejecutables por una computadora para realizar los pasos que comprenden: usar un número mayor a lo largo del eje x del histograma que tiene un valor diferente de cero como el intervalo de soporte del histograma de la imagen gradiente. 37. - El medio legible por computadora tal y como se describe en la reivindicación 32, caracterizado además porque se usan una sesión de capacitación fuera de línea y una sesión de colocación de etiquetas en línea para determinar si la imagen es del primer tipo o del segundo tipo. 38. - El medio legible por computadora tal y como se describe en la reivindicación 37, caracterizado además porque un umbral, que se usa para distinguir entre las imágenes del primer tipo y las imágenes del segundo tipo, se selecciona con base en los resultados de la sesión de capacitación fuera de línea realizada en imágenes de datos de capacitación. 39. - El medio legible por computadora tal y como se describe en la reivindicación 38, caracterizado además porque durante la sesión de colocación de etiquetas en línea, el umbral se compara con un intervalo de soporte del histograma de imagen gradiente de la imagen para determinar si la imagen es del primer tipo o del segundo tipo.
MXPA05000367A 2004-01-06 2005-01-06 Analisis y colocacion de etiquetas en una imagen de un documento codificado por su posicion. MXPA05000367A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/753,176 US7581171B2 (en) 2004-01-06 2004-01-06 Positionally encoded document image analysis and labeling

Publications (1)

Publication Number Publication Date
MXPA05000367A true MXPA05000367A (es) 2005-08-19

Family

ID=34592573

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05000367A MXPA05000367A (es) 2004-01-06 2005-01-06 Analisis y colocacion de etiquetas en una imagen de un documento codificado por su posicion.

Country Status (12)

Country Link
US (1) US7581171B2 (es)
EP (1) EP1553485B1 (es)
JP (1) JP2005228302A (es)
KR (1) KR20050072699A (es)
CN (1) CN100517368C (es)
AU (1) AU2004242472A1 (es)
BR (1) BRPI0500009A (es)
CA (1) CA2491586A1 (es)
MX (1) MXPA05000367A (es)
RU (1) RU2360303C2 (es)
TW (1) TW200525455A (es)
ZA (1) ZA200410391B (es)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668382B2 (en) * 2006-02-24 2010-02-23 Microsoft Corporation Block-based fast image compression
JP4665933B2 (ja) * 2006-07-04 2011-04-06 セイコーエプソン株式会社 文書編集支援装置、プログラムおよび記憶媒体
JP4337867B2 (ja) * 2006-12-01 2009-09-30 セイコーエプソン株式会社 文書編集支援装置、文書編集装置、プログラムおよび記憶媒体
GB0700468D0 (en) * 2007-01-10 2007-02-21 Mitsubishi Electric Inf Tech Improved image identification
WO2008094892A2 (en) * 2007-01-29 2008-08-07 Vergence Media, Inc. Methodology to optimize and provide streaming object rotation using composite images
US7903873B2 (en) * 2007-09-13 2011-03-08 Microsoft Corporation Textual image coding
US8602857B2 (en) 2008-06-03 2013-12-10 Tweedletech, Llc Intelligent board game system with visual marker based game object tracking and identification
US9649551B2 (en) 2008-06-03 2017-05-16 Tweedletech, Llc Furniture and building structures comprising sensors for determining the position of one or more objects
US10155156B2 (en) 2008-06-03 2018-12-18 Tweedletech, Llc Multi-dimensional game comprising interactive physical and virtual components
EP2328662A4 (en) 2008-06-03 2013-05-29 Tweedletech Llc INTELLIGENT GAME SYSTEM FOR INTEGRATING INTELLIGENCE IN SOCIETY AND TRAY GAMES WITH MINIATURES
US8974295B2 (en) * 2008-06-03 2015-03-10 Tweedletech, Llc Intelligent game system including intelligent foldable three-dimensional terrain
TWI471823B (zh) * 2008-07-31 2015-02-01 Pixart Imaging Inc 以移動向量在微小點陣圖上決定座標的方法
US20120118964A1 (en) * 2008-10-22 2012-05-17 Timothy Paul James Kindberg Altering an imaging parameter to read a symbol
NL2003716A (en) 2008-11-24 2010-05-26 Brion Tech Inc Harmonic resist model for use in a lithographic apparatus and a device manufacturing method.
JP5003846B2 (ja) * 2009-09-02 2012-08-15 富士通株式会社 暗号化装置、復号装置、暗号化方法及び復号方法
TW201133254A (en) * 2010-03-17 2011-10-01 Compal Electronics Inc Document manipulating method and managerial system and electronic device using the same
EP2613855A4 (en) 2010-09-09 2014-12-31 Tweedletech Llc PLATFORM SET WITH DYNAMIC CHARACTERISTIC TRACKING SYSTEM
US8543911B2 (en) 2011-01-18 2013-09-24 Apple Inc. Ordering document content based on reading flow
KR101495839B1 (ko) * 2012-02-08 2015-02-26 주식회사 아이포트폴리오 전자문서에서 멀티미디어 정보 제공방법 및 검색방법
US9019568B2 (en) * 2012-03-22 2015-04-28 Intuit Inc. Accurately extracting information based on orthogonal images
CN102982501B (zh) * 2012-11-19 2015-07-01 山东神思电子技术股份有限公司 一种图像样本标定方法
US9411829B2 (en) * 2013-06-10 2016-08-09 Yahoo! Inc. Image-based faceted system and method
TWI608428B (zh) * 2014-03-27 2017-12-11 緯創資通股份有限公司 利用影像辨識產生相對應資訊之影像處理系統及其相關方法
CN104361549B (zh) * 2014-12-08 2019-03-05 陕西师范大学 一种基于3D BacterialGrowth迷宫的数字置乱方法
IL251149A0 (en) 2017-03-14 2017-06-29 Google Inc Semi-transparent marks for transferred content
WO2018176486A1 (zh) * 2017-04-01 2018-10-04 深圳市汇顶科技股份有限公司 触控笔、芯片、触控设备、电子设备和触控的方法
CN110296703A (zh) * 2019-06-21 2019-10-01 中国人民解放军陆军工程大学 一种应用于大规模无人机群系统中的地理位置编码方法
CN111494927B (zh) * 2020-04-20 2023-06-09 张洋 具有触觉反馈的迷宫和生成迷宫触觉反馈的方法
DE102021205703A1 (de) * 2021-06-07 2022-12-08 TechnoTeam Holding GmbH Verfahren und Vorrichtung zur lichttechnischen Vermessung eines elektronischen Displays sowie Verfahren zur Ansteuerung eines elektronischen Displays
CN113743361A (zh) * 2021-09-16 2021-12-03 上海深杳智能科技有限公司 基于图像目标检测的文档切割方法
KR20230143885A (ko) 2022-04-06 2023-10-13 주식회사 하나금융티아이 텍스트 검출 및 인식 학습을 위해 사용되는 문서 이미지의 레이블링 장치 및 방법
KR20230161819A (ko) 2022-05-19 2023-11-28 주식회사 하나금융티아이 문서 이미지의 테이블 검출 시스템 및 방법
CN115035539B (zh) * 2022-08-12 2022-10-28 平安银行股份有限公司 文档异常检测网络模型构建方法、装置、电子设备及介质
CN115757843B (zh) * 2023-01-09 2023-05-05 华南师范大学 影像标注方法、装置、终端设备以及存储介质

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051736A (en) * 1989-06-28 1991-09-24 International Business Machines Corporation Optical stylus and passive digitizing tablet data input system
US5146552A (en) 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
WO1992017859A1 (en) * 1991-04-03 1992-10-15 Hewlett Packard Company Position-sensing apparatus
CA2045907C (en) 1991-06-28 1998-12-15 Gerald B. Anderson A method for storing and retrieving annotations and redactions in final form documents
FR2705480B1 (fr) * 1993-05-21 1995-08-11 Cherloc Document portant une image ou un texte et pourvu d'une trame d'indexation, et système d'analyse documentaire associé.
US6681029B1 (en) * 1993-11-18 2004-01-20 Digimarc Corporation Decoding steganographic messages embedded in media signals
US7158654B2 (en) 1993-11-18 2007-01-02 Digimarc Corporation Image processor and image processing method
US5768426A (en) * 1993-11-18 1998-06-16 Digimarc Corporation Graphics processing system employing embedded code signals
US5659639A (en) * 1993-11-24 1997-08-19 Xerox Corporation Analyzing an image showing editing marks to obtain category of editing operation
US5455898A (en) * 1993-11-24 1995-10-03 Xerox Corporation Analyzing an image showing a graphical representation of a layout
US5572010A (en) * 1995-01-03 1996-11-05 Xerox Corporation Distributed type labeling for embedded data blocks
US5626620A (en) 1995-02-21 1997-05-06 Medtronic, Inc. Dual chamber pacing system and method with continual adjustment of the AV escape interval so as to maintain optimized ventricular pacing for treating cardiomyopathy
US5689585A (en) * 1995-04-28 1997-11-18 Xerox Corporation Method for aligning a text image to a transcription of the image
US6327395B1 (en) * 1996-12-20 2001-12-04 Xerox Parc Glyph address carpet methods and apparatus for providing location information in a multidimensional address space
US6208894B1 (en) 1997-02-26 2001-03-27 Alfred E. Mann Foundation For Scientific Research And Advanced Bionics System of implantable devices for monitoring and/or affecting body parameters
US5855594A (en) 1997-08-08 1999-01-05 Cardiac Pacemakers, Inc. Self-calibration system for capture verification in pacing devices
AUPP128498A0 (en) * 1998-01-12 1998-02-05 Canon Kabushiki Kaisha A method for smoothing jagged edges in digital images
US6070102A (en) 1998-04-29 2000-05-30 Medtronic, Inc. Audible sound confirmation of programming an implantable medical device
US6377704B1 (en) * 1998-04-30 2002-04-23 Xerox Corporation Method for inset detection in document layout analysis
SE9802151D0 (sv) 1998-06-16 1998-06-16 Pacesetter Ab Heart stimulator
US6256398B1 (en) * 1998-08-22 2001-07-03 Kenneth H. P. Chang Encoding and decoding a message within an image
US6551357B1 (en) * 1999-02-12 2003-04-22 International Business Machines Corporation Method, system, and program for storing and retrieving markings for display to an electronic media file
US6502756B1 (en) * 1999-05-28 2003-01-07 Anoto Ab Recording of information
SE516522C2 (sv) * 1999-05-28 2002-01-22 Anoto Ab Positionsbestämning
JP3905668B2 (ja) * 1999-08-06 2007-04-18 株式会社リコー 筆記記録システム
WO2001048685A1 (en) * 1999-12-23 2001-07-05 Anoto Ab General information management system
US6522928B2 (en) 2000-04-27 2003-02-18 Advanced Bionics Corporation Physiologically based adjustment of stimulation parameters to an implantable electronic stimulator to reduce data transmission rate
JP2002032193A (ja) * 2000-07-17 2002-01-31 Nec Corp 座標入力システム、座標入力方法および座標入力用プログラムを記録した記録媒体
US7079667B2 (en) * 2000-12-19 2006-07-18 Xerox Corporation Method and apparatus for implementing occlusion glyph code tilings
JP3771831B2 (ja) 2001-11-01 2006-04-26 インターナショナル・ビジネス・マシーンズ・コーポレーション デジタル・コンテンツに付加されるアノテーション情報を共有するためのコンピュータ・システムおよびプログラム
US20030117378A1 (en) 2001-12-21 2003-06-26 International Business Machines Corporation Device and system for retrieving and displaying handwritten annotations
US7054461B2 (en) * 2002-02-15 2006-05-30 Pitney Bowes Inc. Authenticating printed objects using digital watermarks associated with multidimensional quality metrics
JP4031268B2 (ja) * 2002-03-08 2008-01-09 株式会社リコー コンピュータ入力装置、方法、コンピュータ入力システム、及び該システムにおける入力方法
JP3939189B2 (ja) * 2002-04-17 2007-07-04 パナソニック コミュニケーションズ株式会社 情報処理装置、製品の組立工程表示用プログラム、及び製品の組立工程表示方法
US7496228B2 (en) * 2003-06-13 2009-02-24 Landwehr Val R Method and system for detecting and classifying objects in images, such as insects and other arthropods
US7983446B2 (en) * 2003-07-18 2011-07-19 Lockheed Martin Corporation Method and apparatus for automatic object identification
JP5133301B2 (ja) 2009-07-14 2013-01-30 日東電工株式会社 複合フィルムの製造方法

Also Published As

Publication number Publication date
CN1637775A (zh) 2005-07-13
CA2491586A1 (en) 2005-07-06
KR20050072699A (ko) 2005-07-12
TW200525455A (en) 2005-08-01
EP1553485B1 (en) 2015-05-20
ZA200410391B (en) 2008-05-28
EP1553485A3 (en) 2012-01-11
CN100517368C (zh) 2009-07-22
US7581171B2 (en) 2009-08-25
AU2004242472A1 (en) 2005-07-21
US20050149865A1 (en) 2005-07-07
RU2360303C2 (ru) 2009-06-27
BRPI0500009A (pt) 2005-09-06
JP2005228302A (ja) 2005-08-25
EP1553485A2 (en) 2005-07-13
RU2004139190A (ru) 2006-06-20

Similar Documents

Publication Publication Date Title
MXPA05000367A (es) Analisis y colocacion de etiquetas en una imagen de un documento codificado por su posicion.
KR101312830B1 (ko) 임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법
KR101037238B1 (ko) m-어레이 디코딩 및 고속 이미지 매칭에 의한 스트로크로컬리제이션
US7421439B2 (en) Global metadata embedding and decoding
CA2491554C (en) Camera-pen-tip mapping and calibration
EP1416435A2 (en) Decoding and error correction in 2-D arrays
US7542976B2 (en) Local metadata embedding and decoding
US20060242562A1 (en) Embedded method for embedded interaction code array
MXPA05000369A (es) Aspecto mejorado de descodificacion de arreglo-m y correccion de error.
KR20050072704A (ko) 고속 이미지 매칭에 의한 글로벌 국소화

Legal Events

Date Code Title Description
FA Abandonment or withdrawal