ES2640796T3 - Un método para alinear un documento modificado y un documento original para su comparación y resaltado de diferencias - Google Patents

Un método para alinear un documento modificado y un documento original para su comparación y resaltado de diferencias Download PDF

Info

Publication number
ES2640796T3
ES2640796T3 ES08724585.8T ES08724585T ES2640796T3 ES 2640796 T3 ES2640796 T3 ES 2640796T3 ES 08724585 T ES08724585 T ES 08724585T ES 2640796 T3 ES2640796 T3 ES 2640796T3
Authority
ES
Spain
Prior art keywords
bitmap
coordinates
pixel
list
vertex
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES08724585.8T
Other languages
English (en)
Inventor
Brian Hartmann
Benjamin Gunderson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Bluebeam Inc
Original Assignee
Bluebeam Inc
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 Bluebeam Inc filed Critical Bluebeam Inc
Application granted granted Critical
Publication of ES2640796T3 publication Critical patent/ES2640796T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/243Aligning, centring, orientation detection or correction of the image by compensating for image skew or non-uniform image deformations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30176Document

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Un método para alinear un documento modificado y un documento original para enfatizar diferencias, el método comprende: recibir un primer mapa de bits representativo del documento modificado y un segundo mapa de bits representativo del documento original, cada uno del primer y segundo mapas de bits se define por una pluralidad de píxeles dispuestos en filas y columnas ordenadas de izquierda a derecha, cada uno de los píxeles tiene coordenadas de píxeles X-Y asociadas al mismo; derivar un conjunto de primeras coordenadas de vértice para el primer mapa de bits y un conjunto de segundas coordenadas de vértice para el segundo mapa de bits; alinear los documentos transformando el primer mapa de bits a una referencia común basada en el primer conjunto de coordenadas de vértice; y transformar el segundo mapa de bits a la referencia común basada en el segundo conjunto de coordenadas de vértice; en donde la transformación de los mapas de bits incluye derivar los conjuntos de coordenadas de vértice mediante: el almacenamiento en una primera lista para el mapa de bits las coordenadas de píxeles X del píxel situado más a la izquierda que coincida con un valor de activación en cada fila del mapa de bits; el almacenamiento en una segunda lista para el mapa de bits las coordenadas de píxeles X del píxel situado más a la derecha que coincida con el valor de activación en cada fila del mapa de bits; el almacenamiento en listas de coordenadas de muestra para el mapa de bits un subconjunto de las coordenadas de píxeles X en la primera y segunda lista para el mapa de bits que comienza con la parte superior así como la parte inferior de las listas; la evaluación de si la desviación estándar respectiva de las coordenadas de píxeles X en las listas de coordenadas de la muestra es suficientemente pequeña y luego si se pasa la etapa de evaluación, la asignación de coordenadas de píxeles promedio de las respectivas listas de coordenadas de muestra al conjunto de coordenadas de vértice para los mapas de bits.

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Un metodo para alinear un documento modificado y un documento original para su comparacion y resaltado de diferencias
Antecedentes
1. Campotecnico
La presente invencion se refiere generalmente a metodos para el seguimiento y control de la revision de documentos electronicos. Mas particularmente, la presente invencion se refiere a un metodo para calibrar un documento modificado y un documento original para la identificacion de diferencias.
2. Tecnica anterior
Los avances en las comunicaciones de datos de alta velocidad y capacidades de computo han aumentado el uso de la colaboracion remota para dirigir negocios. Mientras que la colaboracion en tiempo real mediante el uso de videoconferencia y similares ganan popularidad, la gran mayona de la colaboracion se produce por correo electronico en los documentos de intercambio que incorporan modificaciones incrementales, comentarios y similares. Un usuario local puede crear una version inicial de un documento y transmitirlo a colegas en localizaciones remotas. Estos usuarios remotos pueden entonces hacer sus propios cambios o anadir comentarios en forma de anotaciones adjuntas al documento, y luego transmitir la nueva version al usuario local.
Dicha colaboracion puede implicar el intercambio de documentos generados con aplicaciones de procesamiento de texto, aplicaciones de edicion electronica, aplicaciones de manipulacion de ilustraciones o imagenes graficas, aplicaciones de diseno asistido por ordenador (CAD), etcetera. Como se usa en la presente descripcion, el termino documento puede referirse a los datos producidos por cualquiera de las aplicaciones de software antes mencionadas. Ademas, el termino "contenido" puede referirse a datos particulares de la aplicacion de software que lo generaron y que se almacenan en el documento de la misma. Debido a la existencia de muchas plataformas informaticas diferentes que tienen una amplia variedad de sistemas operativos, programas de aplicacion y capacidades de procesamiento y presentacion grafica, los expertos en la tecnica han reconocido la necesidad de un formato de archivo independiente del dispositivo e independiente de la resolucion para facilitar dicho intercambio. En respuesta a esta necesidad, se ha desarrollado el Formato de Documento Portatil (PDF), entre otros formatos competidores.
El estandar PDF es una combinacion de varias tecnologfas, incluyendo un subsistema de interprete PostScript simplificado, un subsistema de incorporacion de fuentes y un subsistema de almacenamiento. Como lo reconoceran los expertos en la tecnica, PostScript es un lenguaje de descripcion de paginas para generar el diseno y los graficos de un documento. Ademas, segun los requisitos del subsistema de almacenamiento PDF, todos los elementos del documento, incluidos los textos, graficos vectoriales, y graficos de trama, denominados colectivamente en la presente descripcion como elementos graficos, se encapsulan en un solo archivo. Los elementos graficos no solamente se codifican para un sistema operativo, una aplicacion de software o un hardware espedfico, sino que tambien se disenan para ser procesados de la misma manera independientemente de las especificidades relacionadas con el sistema de escritura o lectura de dichos datos. La capacidad multiplataforma de PDF ayudo a su adopcion generalizada, y ahora es un estandar de intercambio de documentos de facto. En la actualidad, PDF se utiliza para codificar una amplia variedad de tipos de documentos, incluidos los compuestos principalmente por texto, y los compuestos principalmente por graficos vectoriales y de trama. Debido a su versatilidad y universalidad, los archivos en el formato PDF a menudo se prefieren sobre formatos de archivos mas particulares de aplicaciones espedficas. De esta manera, los documentos se convierten con frecuencia al formato PDF.
El intercambio de documentos de acuerdo con el flujo de trabajo descrito anteriormente puede tener lugar en numerosas ocasiones, donde el contenido del documento evoluciona con el tiempo. Por ejemplo, en varios proyectos de ingeniena que utilizan dibujos de CAD como en arquitectura o diseno de productos, una primera revision del documento puede incluir solo un esbozo basico o esquematico. Pueden generarse revisiones posteriores para su revision y aprobacion a medida que se agreguen otras caractensticas o detalles antes de la fabricacion o produccion. En una lmea de tiempo mas extendida, pueden producirse multiples iteraciones de disenos. En otro ejemplo, un autor o un disenador grafico puede producir un borrador inicial de un documento, con editores y revisores agregando comentarios o marcando de otra manera el documento y volviendo a enviarlo al autor o disenador grafico. Los cambios se incorporan en una version posterior. Aunque en algunos casos el proceso de revision y aprobacion se realiza directamente en el documento electronico, existen muchos casos en los que se utiliza una copia impresa del documento. De esta manera, el revisor puede anotar, comentar, editar o complementar de otra manera con informacion directamente sobre la copia impresa del documento.
Cuando es necesario enviar electronicamente la copia impresa del documento a otro, se utiliza normalmente un escaner para capturar el documento. Mas particularmente, el escaner convierte una imagen "analogica", que consiste en caractensticas continuas tales como lmeas y areas de color, a una codificacion digitalizada que representa la imagen analogica. Se genera una imagen entramada, o un mapa de bits, que comprende filas y columnas de pfxeles, cada pixel
5
10
15
20
25
30
35
40
45
50
55
60
65
representa un punto en la imagen. Visto por separado, el pixel no transmite informacion visual util, pero cuando se observa el campo entero de p^xeles a una distancia apropiada, puede reconocerse un facs^il de la imagen analogica. Como se conoce generalmente, cada p^xel se representa por las fuerzas de luminancia de los colores primarios. Normalmente, la representacion digital utiliza el espacio de color RGB (Rojo Verde Azul), mientras que la impresion normalmente utiliza el espacio de color CMYK (Cian, Magenta, Amarillo, Negro).
Al adquirir la imagen digital, puede introducirse alguna distorsion con respecto a la escala y la rotacion. Puede aplicarse un filtro correccion a los datos, aunque esto puede corregir distorsiones solo hasta cierto grado. Ademas, los filtros de correccion tambien pueden intentar corregir las distorsiones introducidas durante el proceso conversion de analogico a digital. Debido a la existencia de numerosas otras variables que afectan la captura y conversion de imagenes, la adquisicion de una replica digital exacta de la copia impresa es diffcil.
Durante la colaboracion, a menudo es conveniente revisar las versiones anteriores de un documento y compararlas con una version actual del documento. Al hacerlo, puede apreciarse mejor la evolucion del contenido, y cada cambio hecho en el contenido puede rastrearse para su aprobacion y otros fines. Existen varias tecnicas para enfatizar las diferencias, pero cada tecnica requiere que los dos documentos que se comparan esten alineados correctamente. De lo contrario, las porciones inalteradas del documento pueden identificarse como diferentes, cuando es solo ruido de pixel, rotacion, escala, desplazamiento u otra distorsion similar que sea diferente. Cuando una version del documento se genera directamente desde la aplicacion y se escanea otra version del documento a partir de una copia impresa, uno o ambos documentos pueden distorsionarse.
En consecuencia, existe una necesidad en la tecnica de un metodo para alinear un documento modificado y un documento original donde se comparen tales documentos para acentuar las diferencias entre ellos. Es necesario alinear automaticamente los documentos y minimizar las distorsiones de los documentos de modo que una herramienta de comparacion no genere falsos positivos.
Breve resumen
De acuerdo con un aspecto de la presente invencion, se proporciona un metodo para alinear un documento modificado y un documento original para enfatizar las diferencias como se expone en la reivindicacion 1 adjunta a la presente.
El metodo puede incluir una etapa de recibir un primer mapa de bits representativo del documento modificado. El documento modificado puede incluir un primer anclaje. Ademas, puede recibirse un segundo mapa de bits representativo del documento original, en el que el documento original incluye un segundo anclaje. El metodo puede incluir tambien la etapa de derivar un conjunto de primeras coordenadas de vertice del primer anclaje, y un conjunto de segundas coordenadas de vertice del segundo anclaje. En terminos mas generales, se identifican puntos lfmites comunes del documento modificado y del documento original. El metodo puede entonces incluir la etapa de transformar el primer mapa de bits a una referencia comun basada en el primer conjunto de coordenadas de vertice, y transformar el segundo mapa de bits a la referencia comun basada en el segundo conjunto de coordenadas de vertice. Se entendera que la referencia comun es un rectangulo con lados paralelos al borde de cada uno del primer y segundo mapas de bits. Generalmente, el metodo anterior se refiere al proceso de alinear el documento modificado y el documento original de manera tal que los puntos lfmites comunes antes mencionados sean proximos entre sf.
Preferentemente, el primer y el segundo mapa de bits se definen cada uno por una pluralidad de pfxeles dispuestos en filas y columnas ordenadas. Cada uno de los pfxeles puede tener coordenadas de pfxeles asociadas a los mismos. Ademas, el primer y segundo mapas de bits definen un lado izquierdo y un lado derecho, entre los que se extienden las columnas ordenadas de pfxeles.
La derivacion del conjunto de coordenadas del primer vertice puede incluir ademas la etapa de almacenar en una primera lista completa de coordenadas las coordenadas de un pixel situado mas a la izquierda que coincida con un valor de activacion, asf como tambien un pixel situado mas a la derecha que coincida con el valor de activacion. El valor de activacion puede ser un valor de pixel no blanco. Las coordenadas de pfxeles de cada fila en el primer mapa de bits pueden almacenarse ast El metodo puede continuar almacenando en una lista de coordenadas de muestra un subconjunto de coordenadas de pfxeles en la primera lista completa de coordenadas. Adicionalmente, el metodo puede incluir la etapa de asignar coordenadas de pfxeles promedio de la lista de coordenadas de muestra para satisfacer una condicion predefinida. En otro aspecto, el atributo puede incluir las coordenadas de pfxeles promedio de la lista de coordenadas de la muestra y una desviacion estandar de las coordenadas de pfxeles en la lista de coordenadas de la muestra. Ademas, la condicion predefinida puede ser que las coordenadas de pfxeles promedio de la lista de coordenadas de la muestra esten dentro de dos desviaciones estandar de las coordenadas de pfxeles en la primera lista completa de coordenadas. Alternativamente, la condicion predefinida puede ser que la desviacion estandar de las coordenadas de pfxeles en la lista de coordenadas de muestra sea suficientemente pequena. Segun una modalidad de la presente invencion la lista de coordenadas de muestra incluye al menos veinte coordenadas de pixel.
Los anclajes primero y segundo pueden ser bordes rectangulares. A lo largo de estas lmeas, tales bordes rectangulares se definen por una esquina superior izquierda y una esquina superior derecha, una esquina inferior izquierda y una esquina inferior derecha, cada esquina se referencia por una de las coordenadas de vertice.
5
10
15
20
25
30
35
40
45
50
55
60
65
La etapa de transformer el primer mapa de bits puede incluir la aplicacion de una primera funcion de matriz de transformacion inversa al primer mapa de bits. Por lo tanto un primer parametro puede derivarse del primer conjunto de coordenadas de vertice. Ademas, la etapa de transformar el segundo mapa de bits incluye aplicar una segunda funcion de matriz de transformacion inversa al segundo mapa de bits. Un segundo parametro puede derivarse del segundo conjunto de coordenadas de vertice. Con mayor detalle, la primera y segunda funciones de transformacion inversa pueden ser una funcion de rotacion. El primer parametro puede ser un primer angulo de desplazamiento entre un primer segmento de lmea definido por el primer conjunto de coordenadas de vertice y un primer borde vertical del primer mapa de bits. El segundo parametro puede ser un segundo angulo de desplazamiento entre un segundo segmento de lmea definido por el segundo conjunto de coordenadas de vertice y un segundo borde vertical del segundo mapa de bits.
El metodo puede incluir una etapa de almacenar en una memoria el primer y el segundo parametros para su procesamiento posterior.
La presente invencion se entendera mejor mediante la referencia a la siguiente descripcion detallada cuando se lea junto con los dibujos acompanantes.
Breve descripcion de las figuras
Estas y otras caractensticas y ventajas de las diversas modalidades descritas en la en la presente descripcion se entenderan mejor con respecto a las siguientes descripciones y dibujos, en las que los mismos numeros se refieren siempre a las mismas partes, y en las que:
La Figura 1 es una vista en perspectiva de un sistema informatico que puede usarse para implementar los aspectos de la presente invencion, incluyendo una unidad de sistema, una unidad de visualizacion, un escaner y varios otros dispositivos de entrada;
La Figura 2 es un diagrama de bloques de los componentes de la unidad de sistema en el sistema informatico ilustrado en la Figura 1;
La Figura 3 es un ejemplo de un documento modificado mostrado girado ligeramente a la derecha, con ciertos elementos graficos modificados en relacion con un documento original;
La Figura 4 es un ejemplo de un documento original mostrado girado ligeramente a la izquierda, incluyendo varios elementos graficos girados ligeramente a la derecha;
La Figura 5 es un diagrama de flujo que describe un metodo para alinear un documento modificado y un documento original;
La Figura 6 es un mapa de bits ilustrativo de un area ampliada A del documento modificado que muestra porciones de un borde o anclaje del mismo;
La Figura 7 es una version simplificada de un mapa de bits ilustrativo que muestra las coordenadas de un pixel situado mas a la izquierda y uno situado mas la derecha de cada fila que se recupera de acuerdo con un aspecto de la presente invencion;
La Figura 8 es un diagrama de flujo que detalla adicionalmente una etapa de derivar un conjunto de coordenadas de vertice;
La Figura 9 es el documento modificado despues de aplicar una funcion de matriz de transformacion y que se alinea adecuadamente con una referencia comun.
La Figura 10 muestra el documento modificado y el documento original, donde el documento modificado es significativamente mas pequeno que el documento original; y
La Figura 11 muestra el documento modificado y el documento original despues de la aplicacion de una funcion de transformacion de normalizacion de escala.
Los numeros de referencia comunes se usan en todos los dibujos y en la descripcion detallada para indicar los mismos elementos.
Descripcion detallada
La descripcion detallada que se expone a continuacion en relacion con los dibujos adjuntos pretende ser una descripcion de la modalidad de la invencion preferida actualmente y no pretende representar la unica manera en la que puede implementarse o utilizarse la presente invencion. La descripcion expone las funciones y la secuencia de etapas para desarrollar y operar la invencion en relacion con la modalidad ilustrada. Debe entenderse, sin embargo, que las
5
10
15
20
25
30
35
40
45
50
55
60
65
funciones y secuencias iguales o equivalentes pueden realizarse mediante diferentes modalidades que tambien se pretende que esten comprendidas dentro de del esprntu y alcance de la invencion.
Se entiende ademas que el uso de terminos relacionales tales como primero y segundo, y similares se usa unicamente para distinguir una entidad de otra sin requerir necesariamente o implicar una relacion u orden real entre tales entidades.
Con referencia a la Figura 1, un entorno de hardware ilustrativo en el que pueden implementarse aspectos de la presente invencion incluye un sistema informatico 10 con una unidad de sistema 12 y una unidad de visualizacion 14.La unidad visualizacion 14 muestra graficamente la salida de las operaciones de procesamiento de datos realizadas por la unidad de sistema 12, y puede ser de un tipo de pantalla de cristal lfquido (LCD), un tubo de rayos catodicos (CRT), o cualquier otro tipo adecuado de pantalla. Los dispositivos tales como un teclado 16 y un raton 18 proporcionan entrada a las operaciones de procesamiento de datos y se conectan a la unidad de sistema 10 a traves de un puerto USB 20.Ademas, se puede incluir un escaner 19 en el sistema informatico 10.Como se ha explicado anteriormente, el escaner 19 convierte una imagen analogica en una forma digitalizada que representa la imagen analogica y transmite el mapa de bits generado a la unidad de sistema 12 para su procesamiento posterior. Otros varios dispositivos de entrada y salida pueden conectarse a la unidad de sistema 12, y las modalidades de interconexion alternativas pueden sustituirse por el puerto USB 20.
Como se muestra en el diagrama de bloques de la Figura 2, la unidad de sistema 12 incluye una unidad central de procesamiento (CPU) 22, que puede representar uno o mas tipos convencionales de tales procesadores, tales como procesadores IBM PowerPC, Intel Pentium (x86), etcetera. Una Memoria de Acceso Aleatorio (RAM) 24 almacena temporalmente los resultados de las operaciones de procesamiento de datos realizadas por la CPU 22, y se interconecta a la misma normalmente traves de un canal de memoria dedicado 23.La unidad de sistema 10 puede incluir tambien dispositivos de almacenamiento permanente, tales como un disco duro 26, que se comunican tambien con la CPU 22 sobre un bus 27 de e/s. Tambien pueden conectarse otros tipos de dispositivos de almacenamiento, como unidades de cinta, unidades de disco compacto y similares. Una tarjeta grafica 28 se conecta tambien a la CPU 22 a traves de un bus de video 29 y transmite senales representativas de los datos de visualizacion a la unidad de visualizacion 14.Como se ha indicado anteriormente, el teclado 16, el raton 18 y el escaner 19 se conectan a la unidad de sistema 12 por el puerto USB 20.Un controlador USB 30 traduce datos e instrucciones hacia y desde la CPU 22 para los perifericos externos conectados al puerto USB 20. Los dispositivos adicionales tales como impresoras, microfonos, altavoces y similares pueden conectarse a la unidad de sistema 12.
La unidad de sistema 12 puede usar cualquier sistema operativo que tenga una interfaz grafica de usuario (GUI), tal como WINDOWS de Microsoft Corporation de Redmond, Washington, MACOS de Apple, Inc. de Cupertino, CA, varias versiones de UNIX con el sistema de ventanas X, etcetera. La unidad de sistema 12 ejecuta uno o mas programas informaticos, mostrando sus resultados en la unidad de visualizacion 14.Generalmente, el sistema operativo y los programas informaticos se incorporan de manera tangible en un medio legible por ordenador, por ejemplo uno o mas de los dispositivos de almacenamiento de datos fijos y/o extrafbles que incluyen el disco duro 26.Tanto el sistema operativo como los programas informaticos pueden cargarse desde los dispositivos de almacenamiento de datos antes mencionados en la RAM 24 para su ejecucion por la CPU 22.Los programas informaticos comprenden instrucciones que, cuando se leen y ejecutan por la CPU 22, hacen que la misma realice las etapas necesarias para ejecutar las etapas o caractensticas de la presente invencion.
El sistema informatico 10 anterior representa solo un aparato ilustrativo adecuado para implementar los aspectos de la presente invencion. De esta manera, el sistema informatico 10 puede tener muchas configuraciones y arquitecturas diferentes. Cualquiera de tales configuraciones o arquitecturas puede sustituirse facilmente sin apartarse del alcance de la presente invencion.
Con referencia a las Figuras 3 y 4, un aspecto de la presente invencion se refiere a un metodo para alinear un documento modificado 32 y un documento original 34 para acentuar diferencias entre ellos. Se apreciara que los contenidos particulares del documento modificado 32 y del documento original 34, que son dibujos arquitectonicos de una casa, se presentan a manera de ejemplo solamente y no son limitantes. Con mas detalle, una porcion del techo 36 del documento modificado 32 difiere de una porcion del techo 38 del documento original 34.Tanto el documento modificado 32 como el documento original 34 incluyen bordes 40, 42, respectivamente, asf como tambien diversos elementos de dimensionamiento 41, 43.Adicionalmente, el documento modificado 32 se gira ligeramente hacia la derecha, mientras que el documento original 34 se gira ligeramente hacia la izquierda.
Con referencia al diagrama de flujo de la Figura 5, el metodo para alinear documentos de acuerdo con un aspecto de la presente invencion incluye una etapa 200 de recepcion de un primer mapa de bits representativo del documento modificado 32 y un segundo mapa de bits representativo del documento original 34. El documento modificado 32 y el documento original 34 comprenden cada uno de ellos un primer anclaje 44 y un segundo anclaje 46, respectivamente. Como se ilustra en las Figuras 3 y 4, el anclaje 44 del documento modificado 32 se incorpora como el borde 40 y el anclaje 46 del documento original 34 se incorpora como el borde 42.Se entiende que cualquier otro tipo de anclaje ademas de los bordes 40, 42 puede sustituirse facilmente sin apartarse del alcance de la presente invencion y puede
5
10
15
20
25
30
35
40
45
50
55
60
65
incluir cualquier elemento dentro del documento modificado 32 y el documento original 34 que son comunes entre sb Mas detalles relativos al procesamiento de los anclajes 44, 46 se describiran a continuacion.
De acuerdo con una modalidad, el documento modificado 32 y el documento original 34 son archivos PDF, con sus contenidos almacenados como objetos de texto discretos, primitivas geometricas o bloques de imagenes rasterizadas. Si el documento modificado 32 se digitalizo a partir de una copia impresa, mientras que toda la imagen es probablemente una imagen rasterizada, la imagen misma se encapsulara como un objeto dentro del archivo PDF. De acuerdo con una modalidad de este tipo, el documento modificado 32 se convierte en el primer mapa de bits y el documento original 34 se convierte en el segundo mapa de bits. Sin embargo, se entiende que el documento modificado 32 y el documento original 34 pueden ya existir como mapas de bits. En tal caso, se omite la conversion.
En lo sucesivo, se hara referencia a ciertos atributos del documento modificado 32 y a los procesos realizados sobre los mismos. Se apreciara que los mismos atributos pueden aplicarse al documento original 34, y que los mismos procesos pueden realizarse en el documento original 34. A menos que pueda aplicarse otro modo, la siguiente descripcion no hara referencia a atributos y procesos identicos relativos al documento original 34 por razones de simplicidad.
Un area ampliada A de la Figura 3 se muestra en la Figura 6 despues que el documento modificado 32 se ha convertido en un mapa de bits 48. Se reconocera que aunque la Figura 6 muestra solo una porcion del documento modificado 32 como el mapa de bits 48, se entiende que todo el documento modificado 32 se convierte de acuerdo con un aspecto de la presente invencion. El mapa de bits 48 se compone de multiples filas 50 y columnas 52 de pfxeles 54, donde las columnas 52 se disponen desde un lado izquierdo 56 a un lado derecho 58, y las filas 50 se disponen desde una parte superior 60 hasta una parte inferior 62. Cada uno de los pfxeles 54 se referencia por un conjunto de coordenadas que identifican una en particular de las filas 50 y una de las columnas 52. A modo de ejemplo solamente y no de limitacion, el mapa de bits 48 puede tener un sistema de coordenadas en el que cada uno de los pfxeles 54 en una fila superior 50a tiene una coordenada del eje Y de 0, cada uno de los pfxeles 54 en una fila 50b inmediatamente debajo tiene una coordenada del eje Y de 1, etcetera. Ademas, de acuerdo con dicho sistema de coordenadas, cada uno de los pfxeles 54 en una columna 52a situada mas a la izquierda tiene una coordenada del eje X de 0, cada uno de los pfxeles 54 en una columna 52b inmediatamente a la derecha de la misma tiene una coordenada del eje X de 1, etcetera. De esta manera, un pixel ilustrativo 54a que representa una parte del borde 40 tiene una coordenada de (6,1).Los expertos en la tecnica apreciaran que pueden utilizarse otros sistemas de coordenadas, y cualquier alternativa de este tipo puede sustituirse facilmente sin apartarse del alcance de la presente invencion.
Como se muestra en la Figura 6, los pfxeles 54 activos definen el borde 40, asf como tambien el elemento de dimensionamiento 41. Se entiende que cada uno de los pfxeles 54 representa un punto en una imagen, y tiene asociado con el un conjunto de tres valores de luminancia. Un primer valor representa la intensidad del color rojo, un segundo valor de luminancia representa la intensidad del color verde y un tercer valor de luminancia representa la intensidad del color azul. La intensidad se representa como un valor numerico, normalmente entre 0 y 255 para una profundidad de color de 8 bits. Mediante la combinacion de diferentes intensidades de los componentes rojo, verde y azul, puede reproducirse cualquier color. Tambien se apreciara que el numero de pfxeles 54 por una unidad de medida dada define la resolucion del mapa de bits 44.
Con referencia de nuevo al diagrama de flujo de la Figura 5, el metodo para alinear un documento modificado 32 y un documento original 34 incluye una etapa 202 de derivacion de un conjunto de coordenadas de vertice del anclaje 44. Como se describio brevemente anteriormente, el anclaje 44 puede ser un borde, un elemento de esquina o similar que proporcione un marco de referencia. Con referencia a la Figura 7 que muestra una version simplificada del mapa de bits 48, el anclaje 44 se define generalmente por un primer vertice 64 situado en la esquina superior izquierda, un segundo vertice 66 situado en la esquina inferior izquierda, un tercer vertice 68 situado en la esquina inferior derecha, y un cuarto vertice 70 situado en la esquina superior derecha. Las coordenadas del primer, segundo, tercer y cuarto vertices anteriores 64, 66, 68 y 70 se derivan en la etapa 202. Con mayor detalle como se muestra en el diagrama de flujo de la Figura 8, este proceso implica una etapa 250 de almacenar las coordenadas del pixel no blanco situado mas a la izquierda y el pixel no blanco situado mas a la derecha para cada una de las filas 50a-1 del mapa de bits 48.Como medida preparatoria para la etapa 205, los bordes del mapa de bits 48 pueden sobrescribirse con pfxeles blancos para definir un margen. En una modalidad de la presente invencion, la profundidad de tal margen puede predeterminarse o seleccionarse por un usuario.
A modo de ejemplo representado en la Figura 6, en la primera fila 50a, no existen coordenadas registradas, pero en la segunda fila 50b, el pixel no blanco situado mas a la izquierda esta en (4,1) y el pixel no blanco situado mas a la derecha esta en (6,1).Las coordenadas asociadas con los pfxeles no blancos situados mas a la izquierda se almacenan en una primera lista y las coordenadas asociadas con los pfxeles no blancos situados mas a la derecha se almacenan en una segunda lista. Para cada una de las listas primera y segunda, se registra un promedio y una desviacion estandar de los valores de coordenadas X.
La derivacion del conjunto de coordenadas de vertice continua con una etapa 252 de muestreo de las coordenadas de pfxeles de la primera lista y la segunda lista, y calculando un promedio y una desviacion estandar de los valores de coordenadas X. La muestra se toma a partir de la parte superior, asf como tambien la parte inferior de la primera y segunda listas. Se entiende que las muestras de la parte superior de la primera lista referencian puntos proximos al
5
10
15
20
25
30
35
40
45
50
primer vertice 64, mientras que las muestras de la parte inferior de la primera lista referencian puntos proximos al segundo vertice 66. Ademas, las muestras de la parte inferior de la segunda lista referencian puntos proximos al tercer vertice 68 y las muestras de la parte superior de la segunda lista referencian puntos proximos al cuarto vertice 70.De acuerdo con una modalidad de la presente invencion, cada muestreo recupera al menos veinte coordenadas de la primera y segunda listas.
La derivacion del conjunto de coordenadas de vertice concluye con una etapa 254 de almacenamiento del valor promedio de las coordenadas de pfxeles muestreadas como uno del conjunto de coordenadas de vertice. Antes de hacerlo, se determina la idoneidad de tales coordenadas para representar uno del primer, segundo, tercer y cuarto vertices 64, 66, 68 y 70.Esto implica determinar si la desviacion estandar de las coordenadas de pfxeles muestreadas es lo suficientemente pequena y si el promedio de coordenadas de pfxeles muestreadas es lo suficientemente cercano al promedio de una primera o segunda lista respectiva. Mas particularmente con respecto a este segundo aspecto de la evaluacion, se considera que el promedio de las coordenadas de pfxeles muestreadas es lo suficientemente cercano al promedio de la primera o segunda lista donde la diferencia es menor que dos desviaciones estandar de la primera o la segunda lista. Por ejemplo, al determinar las coordenadas para el segundo vertice 66, un primer muestreo que puede incluir filas 50m, 501 y 50k tendra una desviacion estandar alta. Ademas, los valores promedio del primer muestreo seran sustancialmente mas altos que el promedio detodas las filas 50a-1.
Cuando, como en el ejemplo, las coordenadas de pfxeles muestreadas no pasan las evaluaciones antes mencionadas, el proceso se repite despues de incrementar el punto de inicio. Continuando con el ejemplo anterior, las filas 501-50j se muestrean. El proceso continua hasta que se recupera una muestra adecuada. Se entiende que el proceso anterior reduce la posibilidad de seleccionar erroneamente un ruido u otro pixel como una de las coordenadas de vertice.
Con referencia a la Figura 5, el metodo para alinear documentos incluye una etapa 204 de transformar el mapa de bits 48 a una referencia comun 72.La referencia comun 72 se entiende como un rectangulo con lados 73 paralelos a los lados izquierdo y derecho 56, 58 del mapa de bits 48, y se basa en los valores mmimo y maximo de las coordenadas de vertice. Como se apreciara, determinando las coordenadas del primer vertice 64, el segundo vertice 66, el tercer vertice 68 y el cuarto vertice 70 asociados con el anclaje 44 como se ha expuesto anteriormente, puede determinarse un angulo de desplazamiento 74 entre el anclaje 44 y la referencia comun 72.
La etapa de transformar el mapa de bits incluye aplicar una funcion de matriz de transformacion inversa al mapa de bits 48, donde el angulo de desplazamiento 74 es el parametro de dicha funcion. De acuerdo con un aspecto de la presente invencion, la funcion de matriz de transformacion inversa hace girar el mapa de bits 48 para alinearse con la referencia comun 72, como se muestra en la Figura 9.La cantidad de rotacion se determina por el angulo de desplazamiento 74.En otro aspecto, la funcion de matriz de transformacion inversa es una funcion de escala. Como se muestra en el ejemplo de la Figura 10, antes de la transformacion, el documento modificado 32 puede ser sustancialmente mas pequeno que el documento original 34.Al realizar la transformacion de escala como se muestra en la Figura 11, se normalizan el tamano del documento modificado 32 y el tamano del documento original 34.Se contempla ademas que las funciones de matriz de transformacion inversa de distorsion y desplazamiento pueden utilizarse en lugar o ademas de las funciones de matriz transformacion inversa de escala y rotacion. En una modalidad de la presente invencion, las funciones de matriz de transformacion inversa anteriores estan predefinidas. Mas particularmente, la funcionalidad puede proporcionarse en bibliotecas estandar, tales como el objeto Microsoft .NET Matrix. Se entiende que cualquier biblioteca estandar capaz de implementar las funciones de matriz de transformacion inversa anteriores puede sustituirse facilmente sin apartarse del alcance de la presente invencion.
Como se ha indicado anteriormente, el metodo de acuerdo con un aspecto de la presente invencion se usa junto con metodos para enfatizar las diferencias entre el documento modificado 32 y el documento original 34.En consecuencia, cualquier objeto colocado sobre el mismo para enfatizar las diferencias debe tener el angulo de desplazamiento apropiado 74 aplicado al mismo. Con respecto a esto, de acuerdo con otro aspecto de la presente invencion, el angulo de desplazamiento 74 se almacena en memoria en la etapa 205 para su recuperacion posterior.

Claims (6)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    Reivindicaciones
    1. Un metodo para alinear un documento modificado y un documento original para enfatizar diferencias, el metodo comprende:
    recibir un primer mapa de bits representativo del documento modificado y un segundo mapa de bits representativo del documento original, cada uno del primer y segundo mapas de bits se define por una pluralidad de pfxeles dispuestos en filas y columnas ordenadas de izquierda a derecha, cada uno de los pfxeles tiene coordenadas de pfxeles X-Y asociadas al mismo;
    derivar un conjunto de primeras coordenadas de vertice para el primer mapa de bits y un conjunto de segundas coordenadas de vertice para el segundo mapa de bits;
    alinear los documentos transformando el primer mapa de bits a una referencia comun basada en el primer conjunto de coordenadas de vertice; y
    transformar el segundo mapa de bits a la referencia comun basada en el segundo conjunto de coordenadas de vertice;
    en donde la transformacion de los mapas de bits incluye derivar los conjuntos de coordenadas de vertice mediante:
    el almacenamiento en una primera lista para el mapa de bits las coordenadas de pfxeles X del pixel situado mas a la izquierda que coincida con un valor de activacion en cada fila del mapa de bits;
    el almacenamiento en una segunda lista para el mapa de bits las coordenadas de pfxeles X del pixel situado mas a la derecha que coincida con el valor de activacion en cada fila del mapa de bits;
    el almacenamiento en listas de coordenadas de muestra para el mapa de bits un subconjunto de las coordenadas de pfxeles X en la primera y segunda lista para el mapa de bits que comienza con la parte superior asf como la parte inferior de las listas;
    la evaluacion de si la desviacion estandar respectiva de las coordenadas de pfxeles X en las listas de coordenadas de la muestra es suficientemente pequena y luego si se pasa la etapa de evaluacion, la asignacion de coordenadas de pfxeles promedio de las respectivas listas de coordenadas de muestra al conjunto de coordenadas de vertice para los mapas de bits.
  2. 2. El metodo de acuerdo con la reivindicacion 1, en donde la etapa de evaluacion incluye evaluar las respectivas coordenadas de pfxeles promedio de la lista de coordenadas de muestra y una desviacion estandar de las respectivas coordenadas de pfxeles en la lista de coordenadas de muestra.
  3. 3. El metodo de acuerdo con la reivindicacion 2, en donde la etapa de evaluar las respectivas coordenadas de pfxeles promedio de la lista de coordenadas de muestra y una desviacion estandar de las respectivas coordenadas de pfxeles de la lista de coordenadas de muestra satisface la condicion de evaluacion de si las coordenadas de pfxeles promedio de la lista de coordenadas de muestra para el primer mapa de bits estan dentro de dos desviaciones estandar de las coordenadas de pfxeles promedio en la primera lista para el primer mapa de bits.
  4. 4. El metodo de acuerdo con la reivindicacion 1, en donde la lista de coordenadas de muestra para el primer mapa de bits incluye al menos veinte coordenadas de pfxeles.
  5. 5. El metodo de acuerdo con la reivindicacion 1, en donde el valor de activacion es un valor de pixel no blanco.
  6. 6. El metodo de acuerdo con la reivindicacion 1, en donde si no se pasa la etapa de evaluacion por uno de los mapas de bits, se repiten las etapas de almacenar un subconjunto de las coordenadas de pfxeles y evaluar los atributos de la lista de coordenadas de muestra para el mapa de bits con un subconjunto diferente de las coordenadas de pfxeles en la primera y segunda listas para el mapa de bits donde se incrementa un punto de inicio de las coordenadas de pixel.
ES08724585.8T 2007-01-24 2008-01-17 Un método para alinear un documento modificado y un documento original para su comparación y resaltado de diferencias Active ES2640796T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US626709 1996-04-01
US11/626,709 US7907794B2 (en) 2007-01-24 2007-01-24 Method for aligning a modified document and an original document for comparison and difference highlighting
PCT/US2008/000624 WO2008091527A2 (en) 2007-01-24 2008-01-17 A method for aligning a modified document and an original document for comparison and difference highlighting

Publications (1)

Publication Number Publication Date
ES2640796T3 true ES2640796T3 (es) 2017-11-06

Family

ID=39641295

Family Applications (1)

Application Number Title Priority Date Filing Date
ES08724585.8T Active ES2640796T3 (es) 2007-01-24 2008-01-17 Un método para alinear un documento modificado y un documento original para su comparación y resaltado de diferencias

Country Status (7)

Country Link
US (1) US7907794B2 (es)
EP (1) EP2126720B1 (es)
AU (1) AU2008209632B2 (es)
CA (1) CA2676283C (es)
DK (1) DK2126720T3 (es)
ES (1) ES2640796T3 (es)
WO (1) WO2008091527A2 (es)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8990681B2 (en) 2007-01-24 2015-03-24 Bluebeam Software, Inc. Method for aligning a modified document and an original document for comparison and difference highlighting
CN101398999B (zh) * 2007-09-28 2011-11-09 鹏智科技(深圳)有限公司 显示设备测试装置及方法
US10140420B2 (en) * 2011-10-12 2018-11-27 Merge Healthcare Incorporation Systems and methods for independent assessment of image data
US9135602B2 (en) 2012-07-25 2015-09-15 E-Plan, Inc. Management of building plan documents utilizing comments and a correction list
CN104581119B (zh) * 2014-12-31 2017-06-13 青岛歌尔声学科技有限公司 一种3d图像的显示方法和一种头戴设备
US9792024B2 (en) 2015-08-17 2017-10-17 E-Plan, Inc. Systems and methods for management and processing of electronic documents using video annotations
US10897490B2 (en) 2015-08-17 2021-01-19 E-Plan, Inc. Systems and methods for augmenting electronic content
GB201708767D0 (en) * 2017-06-01 2017-07-19 Microsoft Technology Licensing Llc Managing electronic documents
US10803309B2 (en) * 2017-12-27 2020-10-13 Captricity, Inc. Identifying versions of a form

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4985930A (en) * 1987-09-24 1991-01-15 Hitachi, Ltd. Image data filing system and image data correcting method
JPH032979A (ja) * 1989-05-31 1991-01-09 Toshiba Corp 画像修正方法及び装置
JP3140782B2 (ja) 1991-12-10 2001-03-05 ストーム テクノロジー,インコーポレイテッド 画像を自動併合するための装置及び方法
US5687259A (en) * 1995-03-17 1997-11-11 Virtual Eyes, Incorporated Aesthetic imaging system
US5805170A (en) * 1996-05-07 1998-09-08 Microsoft Corporation Systems and methods for wrapping a closed polygon around an object
US5974169A (en) * 1997-03-20 1999-10-26 Cognex Corporation Machine vision methods for determining characteristics of an object using boundary points and bounding regions
DE69737495T2 (de) 1997-04-14 2008-01-10 Hewlett-Packard Development Company, L.P., Houston Verfahren und Vorrichtung zur Bildabtastung
EP0974931A1 (en) * 1998-07-24 2000-01-26 Xerox Corporation Method and apparatus for identifying a plurality of sub-images in an input image
US20030145310A1 (en) 2001-10-31 2003-07-31 Metacyber. Net. Computer memory structure for storing original source information and associated interpretative information
JP2003148915A (ja) * 2001-11-13 2003-05-21 Jeol Ltd パターン接続精度検査方法
EP1347418A3 (en) * 2002-02-28 2005-11-23 Canon Europa N.V. Texture map editing
US7027666B2 (en) * 2002-10-01 2006-04-11 Eastman Kodak Company Method for determining skew angle and location of a document in an over-scanned image
US7818678B2 (en) 2002-10-31 2010-10-19 Litera Technology Llc Collaborative document development and review system
US20040139391A1 (en) 2003-01-15 2004-07-15 Xerox Corporation Integration of handwritten annotations into an electronic original
US7275023B2 (en) * 2003-01-29 2007-09-25 Ford Motor Company System and method of interactively generating a family of mesh models
US20040223648A1 (en) * 2003-05-05 2004-11-11 Keith Hoene Determining differences between documents
US7991232B2 (en) * 2004-03-03 2011-08-02 Nec Corporation Image similarity calculation system, image search system, image similarity calculation method, and image similarity calculation program
US7230622B2 (en) 2004-11-18 2007-06-12 Kenneth John Whatmough Method and computing device for rendering graphical objects

Also Published As

Publication number Publication date
AU2008209632A1 (en) 2008-07-31
CA2676283A1 (en) 2008-07-31
WO2008091527A3 (en) 2008-10-09
AU2008209632B2 (en) 2012-07-26
EP2126720B1 (en) 2017-06-28
US20080175515A1 (en) 2008-07-24
US7907794B2 (en) 2011-03-15
EP2126720A2 (en) 2009-12-02
EP2126720A4 (en) 2013-03-27
DK2126720T3 (en) 2017-10-02
WO2008091527A2 (en) 2008-07-31
CA2676283C (en) 2016-01-05

Similar Documents

Publication Publication Date Title
ES2640796T3 (es) Un método para alinear un documento modificado y un documento original para su comparación y resaltado de diferencias
AU2008209631B2 (en) Method for emphasizing differences in graphical appearance between an original document and a modified document with annotations
US7971149B2 (en) Method for comparing an original document and a modified document using user-selected reference point sets
US8634659B2 (en) Image processing apparatus, computer readable medium storing program, and image processing method
JP5616308B2 (ja) 文字の形状特徴を使用した文字比較による文書改変検知方法
CN108628563B (zh) 显示装置、显示方法以及存储介质
GB2406674A (en) Specifying scanned image document layout definition
CN105159869B (zh) 图片编辑方法及系统
US9558433B2 (en) Image processing apparatus generating partially erased image data and supplementary data supplementing partially erased image data
JP5541679B2 (ja) 画像処理装置及び方法、並びに、プログラム
US7263223B2 (en) Image manipulation according to pixel type
WO2019188316A1 (ja) 画像処理装置、画像処理方法及びプログラム
US8990681B2 (en) Method for aligning a modified document and an original document for comparison and difference highlighting
US8254693B2 (en) Image processing apparatus, image processing method and program
JP5618719B2 (ja) 画像処理装置、その方法およびプログラム
JP2020135862A (ja) コンピューティングデバイスおよびプログラム
US20210174541A1 (en) Image-capturing control apparatus, image-capturing control method, and storage medium
WO2020196091A1 (en) Image processing apparatus and image processing method
JP2008135857A (ja) 画像処理装置及び画像処理プログラム
US20150078657A1 (en) Color mode determination apparatus and non-transitory computer readable medium storing color mode determination program
JP2006272556A (ja) 画像処理装置及び画像処理プログラム
JP2005316898A (ja) 目標存在確率推定方法及び装置及びプログラム
JP2010278710A (ja) 画像処理装置及び画像処理プログラム
JP2006080866A (ja) 画像処理装置