[go: up one dir, main page]

ES2829269T3 - Watermark Embedding and Removal Procedure to Protect Documents - Google Patents

Watermark Embedding and Removal Procedure to Protect Documents Download PDF

Info

Publication number
ES2829269T3
ES2829269T3 ES17382720T ES17382720T ES2829269T3 ES 2829269 T3 ES2829269 T3 ES 2829269T3 ES 17382720 T ES17382720 T ES 17382720T ES 17382720 T ES17382720 T ES 17382720T ES 2829269 T3 ES2829269 T3 ES 2829269T3
Authority
ES
Spain
Prior art keywords
document
spaces
intra
word
inter
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
ES17382720T
Other languages
Spanish (es)
Inventor
Freire Luis Perez
Vieites Diego Perez
Garcia Pedro Pablo Perez
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.)
Telefonica Cybersecurity and Cloud Tech SL
Original Assignee
Telefonica Cybersecurity and Cloud Tech SL
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 Telefonica Cybersecurity and Cloud Tech SL filed Critical Telefonica Cybersecurity and Cloud Tech SL
Application granted granted Critical
Publication of ES2829269T3 publication Critical patent/ES2829269T3/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1066Hiding content
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0062Embedding of the watermark in text images, e.g. watermarking text documents using letter skew, letter distance or row distance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

Un procedimiento (11) para marcar documentos con marca de agua, recibiendo un documento original (10) que incluye un texto y un mensaje (30) para obtener un documento con marca de agua (20) incrustando una marca de agua que codifica el mensaje recibido (30), comprendiendo el procedimiento: - identificar y localizar los espacios en el documento original (10) mediante un módulo de análisis de localización (110), distinguiendo el análisis de localización (110) entre espacios intra-palabras y espacios inter- palabras, y en el que el análisis de localización (110) comprende: - comprobar (401) si el documento original recibido (10) es un documento con formato de mapa de bits y si el documento original (10) está en un formato no de mapa de bits, convertir (402) el documento original (10) en un documento con formato de mapa de bits; - aplicar una segmentación basada en imágenes (403) al documento con formato de mapa de bits para obtener un conjunto de longitudes y un conjunto de ubicaciones de los espacios en el documento con formato de mapa de bits; - clasificar (405) los espacios identificados y localizados en espacios intra e inter-palabras para obtener conjuntos (406) de longitudes de los espacios intra e inter-palabras, SS y SB respectivamente, y conjuntos de localizaciones de los espacios intra e inter-palabras, LS y LB, del documento original (10). - reducir al mínimo la probabilidad de error que corresponde a una interferencia entre espacios intra-palabras y espacios inter-palabras en el documento con marca de agua (20) mediante un módulo de optimización (111), en el que el módulo de optimización (111) determina una distancia entre las longitudes de los espacios intra- e inter-palabras, y en el que el módulo de optimización (111) minimiza la probabilidad de error mediante: - obtención de un conjunto modificado de espacios intra-palabra,S*S = { S*Si } donde i denota un número de línea del documento original (10) y S*Si es igual a: μ(i) + ε si SSi > μ(i) + ε, y SSI lo contrario; donde μ(i) es un valor promedio de los espacios intra-palabras SSI en la línea iésima y ε es un parámetro de rechazo de huéspedes que es un parámetro ajustable para aumentar la distancia entre las longitudes de los espacios intra e inter palabas, - obtener un conjunto modificado de espacios inter-palabras,S*B = { S*Bi } donde i denota un número de línea del documento original (10), donde S*Bi = { S*Bi (k)}, siendo S*Bi(k) la longitud modificada del k-ésimo espacio inter-palabras de la línea i-ésima y SBi(k) la longitud original del k-ésimo espacio inter-palabras de la línea i-ésima del documento original (10), S*S = { S*Si (k)}, siendo S*Si(k) la longitud modificada del k-ésimo espacio intra-palabras de la línea i-ésima y SSi(k) la longitud original del k-ésimo espacio intra-palabras de la línea i-ésima del documento original (10), y S*Bi(k) = SBi(k) + (ΣkSSi(k)- ΣkS*Si(k))/Nb(i) siendo Nb(i) el número de espacios inter-palabras en la línea i-ésima del documento original (10). - codificar (113) el mensaje (30) en palabras clave y codificar (114) las palabras clave en la marca de agua; - incrustar la marca de agua en el documento original (110) para generar (115) el documento con la marca de agua (20) modificando los espacios intra e inter-palabras del documento original (10) de acuerdo con la codificación (113) del mensaje recibido(30), en el que generar (115) el documento con marca de agua (20) comprende: - seleccionar un subconjunto del conjunto de espacios inter-palabras,S*B, mapeado al conjunto de espacios inter-palabras de la línea t-ésima,St B, a través de una clave secreta; - seleccionar una palabra clave wt del mensaje codificado (30) - incrustar la palabra clave seleccionada wt en el subconjunto seleccionado de espacios inter-palabras calculando un espacio inter-palabras modificado SBW del documento con marca de agua (20) utilizando la expresiónSt BW(k) = St B(k) + wt(k)-ct(k)-St B(k) = St B(k) (1 + wt(k)-ct(k)) donde wt(k) es la palabra clave seleccionada, para el k-ésimo espacio inter-palabras en la línea tésima; St B(k) es el k-ésimo espacio inter-palabras en la línea t-ésima del espacio inter-palabras SB del documento original (10), St BW(k) es el k-ésimo espacio inter-palabras en la línea t-ésima del espacio inter-palabras SBW del documento con marca de agua (20) y ct(k) es un factor de ponderación; - modificar los espacios intra e inter-palabras en del documento original (10) sustituyendo el espacio intra-palabras, SS, y el espacio inter-palabras, SB, respectivamente por el conjunto modificado de espacios intra-palabras,S*S, y el espacio inter-palabras modificado, SBW, en el documento con marca de agua (20).A procedure (11) to mark documents with a watermark, receiving an original document (10) that includes a text and a message (30) to obtain a document with a watermark (20) by embedding a watermark that encodes the message received (30), the procedure comprising: - identifying and locating the spaces in the original document (10) by means of a location analysis module (110), distinguishing the location analysis (110) between intra-word spaces and inter-word spaces words, and in which the location analysis (110) comprises: - checking (401) if the received original document (10) is a bitmap formatted document and if the original document (10) is in a non-formatted format. bitmap, converting (402) the original document (10) into a bitmap formatted document; - applying image-based segmentation (403) to the bitmap-formatted document to obtain a set of lengths and a set of locations of the spaces in the bitmap-formatted document; - classify (405) the spaces identified and located in intra and inter-word spaces to obtain sets (406) of lengths of the intra and inter-word spaces, SS and SB respectively, and sets of locations of the intra and inter-word spaces. words, LS and LB, from the original document (10). - minimize the probability of error corresponding to an interference between intra-word spaces and inter-word spaces in the watermarked document (20) by means of an optimization module (111), in which the optimization module ( 111) determines a distance between the lengths of the intra- and inter-word spaces, and in which the optimization module (111) minimizes the probability of error by: - obtaining a modified set of intra-word spaces, S * S = {S * Si} where i denotes a line number of the original document (10) and S * Si is equal to: μ (i) + ε if SSi> μ (i) + ε, and SSI the opposite; where μ (i) is an average value of the SSI intra-word spaces on the ith line and ε is a guest rejection parameter that is an adjustable parameter to increase the distance between the lengths of the intra and inter-word spaces, - obtain a modified set of interword spaces, S * B = {S * Bi} where i denotes a line number of the original document (10), where S * Bi = {S * Bi (k)}, where S * Bi (k) the modified length of the k-th interword space of the i-th line and SBi (k) the original length of the k-th inter-word space of the i-th line of the original document (10), S * S = {S * Si (k)}, where S * Si (k) is the modified length of the k-th intra-word space of the i-th line and SSi (k) the original length of the k-th space intra-words of the i-th line of the original document (10), and S * Bi (k) = SBi (k) + (ΣkSSi (k) - ΣkS * Si (k)) / Nb (i) where Nb ( i) the number of interword spaces in the i-th line of the original document (10). - encoding (113) the message (30) in keywords and encoding (114) the keywords in the watermark; - embed the watermark in the original document (110) to generate (115) the document with the watermark (20) modifying the intra and inter-word spaces of the original document (10) according to the encoding (113) of the received message (30), in which generating (115) the document with a watermark (20) comprises: - selecting a subset of the set of inter-word spaces, S * B, mapped to the set of inter-word spaces of the t-th line, St B, through a secret key; - select a keyword wt from the encoded message (30) - embed the selected keyword wt in the selected subset of interword spaces by calculating a modified interword space SBW from the watermarked document (20) using the expression St BW ( k) = St B (k) + wt (k) -ct (k) -St B (k) = St B (k) (1 + wt (k) -ct (k)) where wt (k) is the selected keyword, for the k-th interword space on the th line; St B (k) is the k-th interword space on the t-th line of the SB interword space of the original document (10), St BW (k) is the k-th interword space on the line t-th of the SBW interword space of the watermarked document (20) and ct (k) is a weighting factor; - modify the intra and inter-word spaces in the original document (10) by substituting the intra-word space, SS, and the inter-word space, SB, respectively by the modified set of intra-word spaces, S * S, and the modified interword space, SBW, in the watermarked document (20).

Description

DESCRIPCIÓNDESCRIPTION

Procedimiento de incrustación y extracción de marca de agua para proteger documentosWatermark Embedding and Removal Procedure to Protect Documents

Campo de la invenciónField of the invention

La presente invención tiene su aplicación en el sector de las telecomunicaciones, en el ámbito de la seguridad de la información digital y el procesamiento de contenidos digitales, y se relaciona con la tecnología de marcas de agua digitales.The present invention has its application in the telecommunications sector, in the field of digital information security and digital content processing, and is related to digital watermarking technology.

Más concretamente, la presente invención se refiere a un procedimiento para incrustar una marca de agua digital en un documento, que puede estar en un formato digital o digitalizado, que incluye texto; y un procedimiento para extraer la marca de agua del documento incrustado con la marca de agua incluso en caso de distorsión en el documento. More specifically, the present invention relates to a method for embedding a digital watermark in a document, which can be in a digital or digitized format, including text; and a method for extracting the watermark from the document embedded with the watermark even in case of distortion in the document.

Antecedentes de la invenciónBackground of the invention

La inclusión de información oculta en un archivo de texto es una característica deseada en muchos campos y para muchas aplicaciones diferentes. Por un lado, la información oculta incrustada en un documento de texto puede ser decodificada por máquinas para permitir la clasificación automática de los documentos. Al mismo tiempo, esa información puede permitir la validación automática de la autenticidad, la integridad y la propiedad de un documento. Además, esa información -incluida en los documentos confidenciales- puede permitir su seguimiento, disuadir de la fuga de información o ayudar a la identificación del responsable en un caso de fuga.Including hidden information in a text file is a desired feature in many fields and for many different applications. On the one hand, hidden information embedded in a text document can be decoded by machines to allow automatic classification of documents. At the same time, that information can allow automatic validation of the authenticity, integrity and ownership of a document. In addition, this information -included in confidential documents- can allow its monitoring, deter the leakage of information or help to identify the person responsible in a case of leakage.

La información que se incluye en los documentos con este fin suele estar destinada a ser imperceptible para los seres humanos, mientras que es apreciable para los sistemas informáticos, que pueden leerla y decodificarla. Esa inclusión de información se denomina habitualmente marca de agua. Una marca de agua es una alteración de un documento que puede incluir una imagen o patrón de identificación, como el espaciado entre caracteres o la deformación de los mismos en el caso del texto, o el desplazamiento de los píxeles en frecuencia o espacio en el caso de las imágenes. La marca de agua puede representar un código o un signo o firma únicos. La marca de agua puede reproducirse en diferentes partes/secciones del propio documento, permitiendo que se extraiga también de una parte del documento original (en el caso de documentos dañados/sucios/arrugados). Por último, la marca de agua no puede ser apreciada por una inspección humana, mientras que puede ser identificada en una inspección digital, recuperando el código representado.The information that is included in documents for this purpose is usually intended to be imperceptible to humans, while it is appreciable to computer systems, which can read and decode it. This inclusion of information is commonly called a watermark. A watermark is an alteration of a document that can include an image or identification pattern, such as the spacing between characters or the deformation of the same in the case of text, or the displacement of the pixels in frequency or space in the case of the images. The watermark can represent a code or a unique sign or signature. The watermark can be reproduced in different parts / sections of the document itself, allowing it to also be extracted from a part of the original document (in the case of damaged / dirty / wrinkled documents). Lastly, the watermark cannot be appreciated by human inspection, while it can be identified in a digital inspection, recovering the represented code.

Existen muchos procedimientos diferentes para incluir las marcas de agua en los datos multimedia, a saber, audio, vídeo e imágenes, para los que existe una amplia literatura científica que describe los procedimientos de incrustación y extracción. Sin embargo, la inclusión y extracción de marcas de agua de los datos multimedios suele implicar técnicas no aplicables a los documentos de texto.There are many different procedures for including watermarks in multimedia data, namely audio, video, and images, for which there is extensive scientific literature that describes embedding and extraction procedures. However, the inclusion and extraction of watermarks from multimedia data often involves techniques not applicable to text documents.

Se utilizan diferentes procedimientos para incluir información en los documentos de texto, lo que suele implicar la adición o el cambio de la apariencia de un documento. Los procedimientos más fáciles incluyen marcas visibles en el documento, como los códigos de barras. Sin embargo, la adición de marcas visibles en el documento puede no ser aceptable para diversas aplicaciones, ya sea por razones estéticas o porque la marca de agua debe pasar desapercibida para el usuario. Por ello, las marcas de agua imperceptibles son de gran interés para los documentos de texto, en los que suele haber pocas zonas en las que ocultar una marca que en los datos multimedia.Different procedures are used to include information in text documents, often involving adding or changing the appearance of a document. The easiest procedures include visible marks on the document, such as barcodes. However, adding visible marks on the document may not be acceptable for various applications, either for aesthetic reasons or because the watermark must go unnoticed by the user. For this reason, imperceptible watermarks are of great interest for text documents, where there are usually fewer areas in which to hide a mark than in multimedia data.

En lo que respecta a las marcas de agua imperceptibles en los documentos de texto, se dispone de diferentes técnicas que se basan principalmente en una de las tres metodologías de codificación siguientes: i) se pueden implicar elementos especiales para incrustar la marca de agua, que no forman parte del proceso estándar de impresión (por ejemplo, tintas o papeles especiales), ii) se puede codificar la información en la parte de texto del documento, mediante reglas semánticas o sintácticas, es decir, alterando el contenido del texto mediante sinónimos o diferentes juegos de letras mayúsculas y minúsculas, etc., o iii) se puede codificar la información en la modificación del aspecto del documento, incluidas las variaciones de color, las transposiciones de partes del contenido, etc.With regard to imperceptible watermarks in text documents, different techniques are available which are mainly based on one of the following three encoding methodologies: i) Special elements may be involved to embed the watermark, which they are not part of the standard printing process (for example, inks or special papers), ii) the information can be encoded in the text part of the document, using semantic or syntactic rules, that is, altering the content of the text using synonyms or different sets of uppercase and lowercase letters, etc., or iii) information can be encoded in modifying the appearance of the document, including color variations, transpositions of parts of the content, etc.

Algunas de las técnicas disponibles para integrar las marcas de agua en los documentos son válidas para los documentos en papel, otras para los documentos digitales (un documento digital es un documento original creado en un formato digital, por ejemplo, normalmente PDF), algunas para ambos formatos, pero todas ellas presentan limitaciones, como la dependencia del proceso de impresión y digitalización, o la falta de resistencia a la impresión, la distorsión o la cantidad limitada de información que puede incorporarse al documento.Some of the techniques available to integrate watermarks in documents are valid for paper documents, others for digital documents (a digital document is an original document created in a digital format, for example, usually PDF), some for Both formats, but all of them have limitations, such as dependence on the printing and scanning process, or the lack of resistance to printing, distortion or the limited amount of information that can be incorporated into the document.

El documento US2005/039021 divulga un procedimiento de marca de agua en un texto que incorpora un mensaje auxiliar en un documento de texto electrónico original para formar un documento de texto con marca de agua. El procedimiento aplica una función de difusión en símbolos de mensaje para difundir los símbolos sobre un portador modulado y elementos de mapas del portador para hacer corresponder espacios inter-palabras en el documento de texto electrónico. A continuación una función de incrustación modifica los espacios inter-palabras para ocultar el portador modulado en el documento de texto con marca de agua. Un decodificador compatible extrae el mensaje auxiliar de un documento de texto impreso o electrónico con marca de agua. El decodificador estima elementos de una señal portadora modulada incrustada en los espacios inter-palabras y aplica una función de difusión a la señal portadora modulada estimada para extraer los símbolos del mensaje.US2005 / 039021 discloses a text watermarking method that incorporates an ancillary message into an original electronic text document to form a watermarked text document. The method applies a broadcast function on message symbols to broadcast the symbols on a modulated bearer and bearer map elements to match interword spaces in the electronic text document. An embedding function then modifies interword spaces to hide the modulated carrier in the watermarked text document. A supported decoder extracts the stub from a watermarked electronic or printed text document. The decoder estimates elements of a modulated carrier signal embedded in the interword spaces and applies a broadcast function to the estimated modulated carrier signal to extract the symbols from the message.

El documento US2011/016388 divulga un procedimiento que incorpora datos encubiertos en un documento de texto utilizando codificación de espacios que cambia el espacio inter-palabras y/o inter-caracteres en una línea de texto a un formato particular. El procedimiento determina un espacio horizontal entre caracteres alterándolos, de modo que el espacio alterado representa los datos encubiertos incorporados. El documento formateado se basa en el espacio alterado de modo que el dato queda esencialmente oculto visualmente en el documento de texto.Document US2011 / 016388 discloses a method that incorporates covert data into a text document using space encoding that changes the interword and / or intercharacter spacing in a text line to a particular format. The procedure determines a horizontal space between characters by altering them, so that the altered space represents the embedded covert data. The formatted document is based on altered space so that the data is essentially visually hidden in the text document.

Por consiguiente, es muy conveniente desarrollar un procedimiento para incrustar marcas de agua en los documentos de texto en papel y en los documentos digitales que resulten resistentes a las distorsiones del documento, sin necesitar el documento original para la extracción de la marca de agua y sin requerir ningún equipo especial para imprimir o escanear el documento.Therefore, it is highly desirable to develop a procedure to embed watermarks in paper text documents and digital documents that are resistant to document distortion, without requiring the original document for watermark extraction and without require any special equipment to print or scan the document.

Sumario de la invenciónSummary of the invention

La presente invención resuelve los problemas mencionados y supera las limitaciones de trabajo anteriormente explicadas por el estado de la técnica al proporcionar un procedimiento para incrustar/extraer marcas de agua digitales para proteger los documentos. Más particularmente, se proporciona un procedimiento para incrustar una marca de agua digital que codifica un mensaje en un documento original. El documento original puede ser un documento digital o digitalizado (un documento digitalizado es un escaneado/imagen de un documento digital previamente impreso en papel, o la conversión a un formato digital diferente de un documento digital), incluidos los documentos de texto, tanto en formato vectorial como en objetos de mapeo de píxeles. También se proporciona el procedimiento inverso, es decir, el procedimiento para extraer el mensaje de la marca de agua incrustada en un documento, sin requerir el documento original.The present invention solves the aforementioned problems and overcomes the working limitations previously explained by the state of the art by providing a method for embedding / extracting digital watermarks to protect documents. More particularly, a method is provided for embedding a digital watermark that encodes a message in an original document. The original document can be a digital or digitized document (a digitized document is a scan / image of a digital document previously printed on paper, or the conversion to a different digital format of a digital document), including text documents, both in vector format as in pixel mapping objects. The reverse procedure is also provided, that is, the procedure to extract the message from the watermark embedded in a document, without requiring the original document.

Un aspecto de la presente invención se refiere a un procedimiento para incrustar marcas de agua en los documentos, que recibe como entrada un documento original y un mensaje para obtener como salida un documento con marca de agua que tiene una marca de agua incrustada, la cual codifica el mensaje recibido. El procedimiento de la marca de agua comprende los siguientes pasos:One aspect of the present invention refers to a method for embedding watermarks in documents, which receives as input an original document and a message to obtain as output a document with a watermark that has an embedded watermark, which encodes the received message. The watermarking procedure comprises the following steps:

- identificar y localizar los espacios en el documento original mediante un módulo de análisis de localización, distinguiendo el análisis de localización entre espacios intra e inter-palabras;- identify and locate the spaces in the original document by means of a location analysis module, distinguishing the location analysis between intra and inter-word spaces;

- minimizar la probabilidad de error de interferencia entre los espacios intra-palabras y los espacios inter­ palabras en el documento con marca de agua mediante un módulo de optimización;- minimize the probability of interference error between intra-word spaces and inter-word spaces in the watermarked document by means of an optimization module;

- codificar el mensaje en palabras clave y codificar las palabras clave en la marca de agua;- encode the message in keywords and encode the keywords in the watermark;

- incrustar la marca de agua para generar el documento con marca de agua modificando los espacios intra- e inter-palabras del documento original.- embed the watermark to generate the document with a watermark modifying the intra- and inter-word spaces of the original document.

Otro aspecto de la presente invención se refiere a un procedimiento para extraer marcas de agua de los documentos, el procedimiento que recibe como entrada un documento recibido que resulta de eventuales deformaciones de un documento con marca de agua y el procedimiento que comprende los pasos siguientes:Another aspect of the present invention refers to a procedure for extracting watermarks from documents, the procedure that receives as input a received document resulting from eventual deformations of a watermarked document, and the procedure that comprises the following steps:

- identificar y localizar los espacios en el documento recibido mediante un módulo de análisis de localización que distingue entre espacios intra e inter-palabras y obtiene un vector S'bw correspondiente a los espacios inter-palabras del documento con marca de agua;- identifying and locating the spaces in the received document by means of a location analysis module that distinguishes between intra and inter-word spaces and obtains a vector S ' bw corresponding to the inter-word spaces of the watermarked document;

- mapear los espacios inter-palabras del vector S'bw a símbolos según un alfabeto de palabras clave w = { w i}, i= 1, 2,...Q; Q es el número de símbolos del mensaje codificado por la marca de agua del documento con marca de agua y los símbolos están mapeados unívocamente a las palabras clave w;- mapping the interword spaces of the vector S ' bw to symbols according to an alphabet of keywords w = {wi}, i = 1, 2, ... Q; Q is the number of symbols in the message encoded by the watermark of the watermarked document and the symbols are uniquely mapped to the keywords w;

- desempaquetar los símbolos mapeados para obtener bloques de sincronización y bloques de símbolos de carga útil;- unpacking the mapped symbols to obtain sync blocks and payload symbol blocks;

- decodificar el canal de los bloques de carga útil para extraer el mensaje que fue codificado por la marca de agua, la marca de agua incrustada en el documento con la marca de agua.- decode the channel of payload blocks to extract the message that was encoded by the watermark, the watermark embedded in the document with the watermark.

Otro aspecto más de la presente invención se refiere a un programa informático y un medio no transitorio legible por computadora, que contiene instrucciones o código informático (almacenado en el medio no transitorio legible por computadora) para hacer que los medios de procesamiento (de un procesador informático) realicen los pasos de los procedimientos de incrustación y/o extracción de marcas de agua descritos anteriormente.Yet another aspect of the present invention relates to a computer program and a computer-readable non-transitory medium, which contains instructions or computer code (stored in the computer-readable non-transitory medium) to make the processing means (of a processor computer) perform the steps of the watermark embedding and / or removal procedures described above.

La presente invención tiene varias ventajas con respecto al estado de la técnica, que pueden resumirse como sigue: - La recuperación ciega de la marca de agua incrustada, es decir, la recuperación del mensaje incrustado no requiere la presencia del mensaje original.The present invention has several advantages over the state of the art, which can be summarized as follows: - Blind embedded watermark retrieval, that is, embedded message retrieval does not require the presence of the original message.

- Resiliencia a la distorsión de los documentos, como la interrupción parcial, las distorsiones de impresión/escaneado, el cambio de color en el proceso de impresión/escaneado, etc.- Resilience to document distortion such as partial interruption, print / scan distortions, color shift in print / scan process, etc.

- Independencia del procedimiento de marca de agua respecto al formato del documento (digital, digitalizado o impreso).- Independence of the watermark procedure with respect to the document format (digital, digitized or printed).

- Independencia del procedimiento de marca de agua respecto a la tecnología de impresión y escaneo, no requiriendo ningún dispositivo ni tecnología específicos.- Independence of the watermark procedure with respect to printing and scanning technology, not requiring any specific device or technology.

- La solución resultante es inapreciable en la inspección humana, pero identificable en la inspección digital. - No se requiere edición de texto.- The resulting solution is invaluable on human inspection, but identifiable on digital inspection. - No text editing required.

Éstas y otras ventajas serán aparentes a la luz de la descripción detallada de la invención.These and other advantages will be apparent in light of the detailed description of the invention.

Descripción de los dibujosDescription of the drawings

Con el fin de ayudar a la comprensión de las características de la invención, de acuerdo con una realización práctica preferente de la misma y con el fin de complementar esta descripción, se adjuntan las siguientes figuras como parte integrante de la misma, teniendo un carácter ilustrativo y no limitativo:In order to help understand the characteristics of the invention, in accordance with a preferred practical embodiment thereof and in order to complement this description, the following figures are attached as an integral part thereof, having an illustrative character and not limiting:

La figura 1 muestra un diagrama de bloques genérico del procedimiento de incrustación de la marca de agua.Figure 1 shows a generic block diagram of the watermark embedding procedure.

La figura 2 muestra un diagrama de bloques genérico del procedimiento inverso para la extracción de marcas de agua. La figura 3 muestra un detallado diagrama de bloques del procedimiento de incrustación de la marca de agua, de acuerdo con la realización preferente de la invención.Figure 2 shows a generic block diagram of the reverse procedure for watermark extraction. Figure 3 shows a detailed block diagram of the watermark embedding procedure, according to the preferred embodiment of the invention.

La figura 4 muestra un diagrama de bloques del módulo de análisis de localización incluido en el procedimiento de incrustación de la marca de agua que se muestra en la figura 3 anterior, según una posible realización de la invención. La figura 5 muestra un empaquetamiento de mensajes para el procedimiento de incrustación de la marca de agua de la figura 3, de acuerdo con una posible incorporación de la invención.Figure 4 shows a block diagram of the location analysis module included in the watermark embedding procedure shown in Figure 3 above, according to a possible embodiment of the invention. Figure 5 shows a message packaging for the watermark embedding procedure of Figure 3, according to a possible embodiment of the invention.

La figura 6 muestra un detallado diagrama de bloques del procedimiento para la extracción de marcas de agua, según otra posible realización de la invención.Figure 6 shows a detailed block diagram of the procedure for the extraction of watermarks, according to another possible embodiment of the invention.

Realización preferente de la invenciónPreferred embodiment of the invention

Por supuesto, las realizaciones de la invención pueden implementarse en una variedad de plataformas arquitectónicas, sistemas operativos y de servidores, dispositivos, sistemas o aplicaciones. Cualquier disposición o implementación arquitectónica particular que se presente aquí se proporciona únicamente con fines de ilustración y comprensión y no pretende limitar los aspectos de la invención.Of course, embodiments of the invention can be implemented on a variety of architectural platforms, operating and server systems, devices, systems, or applications. Any particular architectural arrangement or implementation presented herein is provided for the purpose of illustration and understanding only and is not intended to limit aspects of the invention.

La figura 1 muestra que el procedimiento de incrustación de la marca de agua (11) propuesto aquí toma como entrada un documento original (10) y un mensaje (30) para ser codificado en la marca de agua. El documento original (10) puede ser un documento digital o un documento digitalizado, incluyendo, por ejemplo, un documento escaneado de un papel impreso. El procedimiento de incrustación de la marca de agua (11) devuelve como salida una nueva versión del documento, el documento con la marca de agua (20), que no se distingue en la observación humana del documento original (10) pero que incluye la marca de agua que codifica el mensaje de entrada (30).Figure 1 shows that the procedure for embedding the watermark (11) proposed here takes as input an original document (10) and a message (30) to be encoded in the watermark. The original document (10) may be a digital document or a digitized document, including, for example, a scanned document from printed paper. The watermark embedding procedure (11) returns as output a new version of the document, the document with the watermark (20), which is not distinguished in human observation from the original document (10) but which includes the watermark that encodes the input message (30).

El procedimiento de extracción de la marca de agua (12), que se muestra en la figura 2, es el proceso inverso al procedimiento de incrustación de la marca de agua antes mencionado (11) y toma como entrada una copia de un documento recibido (60), que puede estar en formato digital o digitalizado, incluyendo eventualmente la distorsión, y extrae el mensaje incrustado (30). El elemento de entrada en el procedimiento de extracción (12) no suele ser el documento con marca de agua (20), ya que el documento recibido (60) puede ser diferente del enviado debido a la distorsión, el ruido, etc.The watermark extraction procedure (12), shown in figure 2, is the reverse of the aforementioned watermark embedding procedure (11) and takes as input a copy of a received document ( 60), which can be in digital or digitized format, possibly including distortion, and extracts the embedded message (30). The input element in the extraction procedure (12) is not usually the watermarked document (20), since the received document (60) may be different from the one sent due to distortion, noise, etc.

El procedimiento de incrustación de la marca de agua (11) se divide en subprocesos más detallados en la figura 3. El documento original (10) se somete en primer lugar a un análisis de localización (110), que tiene por objeto encontrar y analizar los espacios presentes en el texto del documento original (10). Una vez localizados y analizados los espacios, el documento original (10) se somete a un módulo de optimización (111) para minimizar la probabilidad de error en un futuro proceso de extracción de marcas de agua teniendo en cuenta determinadas limitaciones de distorsión (112). Paralelamente, el mensaje (30) que ha de incorporarse al documento debe codificarse (113) en palabras clave y las palabras clave codificadas (114) en una marca de agua. Por último, la marca de agua se incrusta en un documento para generar (115) un documento con marca de agua (20). The watermark embedding procedure (11) is divided into more detailed threads in figure 3. The original document (10) is first subjected to a localization analysis (110), which aims to find and analyze the spaces present in the text of the original document (10). Once the spaces have been located and analyzed, the original document (10) is subjected to an optimization module (111) to minimize the probability of error in a future watermark extraction process, taking into account certain distortion limitations (112) . In parallel, the message (30) to be incorporated into the document must be encoded (113) in keywords and the encoded keywords (114) in a watermark. Finally, the watermark is embedded in a document to generate (115) a watermarked document (20).

El análisis de localización (110) consta de diferentes pasos que se muestran con más detalle en la figura 4. En primer lugar, se comprueba (401) si el documento original de entrada (10) se proporciona en formato de mapa de bits o no. Si el documento original (10) se proporciona en un formato que no sea de mapa de bits, se convierte (402) en un formato de mapa de bits para tener una referencia común para el posicionamiento del espacio en el documento, en píxeles, independientemente del documento original (10). Como segundo paso, se realiza una segmentación basada en imágenes (403) para encontrar los espacios en el texto del documento. La segmentación basada en imágenes (403) puede realizarse mediante diferentes técnicas, entre ellas la proyección y la agrupación. Las proyecciones representan un procedimiento más fácil, mientras que la agrupación o el reconocimiento óptico de caracteres, OCR, pueden representar soluciones válidas en caso de fondo de texto no homogéneo. Suponiendo una distribución horizontal estándar del texto en un documento de fondo homogéneo, se realizan primero proyecciones horizontales del texto para detectar las líneas del mismo.The location analysis (110) consists of different steps that are shown in more detail in figure 4. First, it is checked (401) whether the original input document (10) is provided in bitmap format or not. . If the original document (10) is provided in a non-bitmap format, it is converted (402) to a bitmap format to have a common reference for the positioning of the space in the document, in pixels, regardless of the original document (10). As a second step, image-based segmentation (403) is performed to find the spaces in the text of the document. Image-based segmentation (403) can be performed using different techniques, including projection and clustering. Projections represent an easier procedure, while grouping or optical character recognition, OCR, can represent valid solutions in case of non-homogeneous text background. Assuming a standard horizontal distribution of the text in a homogeneous background document, horizontal projections of the text are first made to detect the lines of the text.

Binarizando el documento en formato de mapa de bits y sumando los píxeles en dirección horizontal, se obtiene la proyección horizontal Ph(r) como:Binarizing the document in bitmap format and adding the pixels in the horizontal direction, the horizontal projection Ph (r) is obtained as:

Ph(r) = IcI(r,c)Ph (r) = IcI (r, c)

donde r es la fila r-ésima, c es la columna c-ésima, e I(r,c) es la imagen binarizada del documento.where r is the rth row, c is the cth column, and I (r, c) is the binarized image of the document.

Estableciendo un valor umbral adecuado, el documento en formato de mapa de bits puede ser segmentado en líneas de texto, encontrando umbrales de binarización óptimos a partir del histograma de la imagen. Una vez que se calculan las proyecciones, y se identifican las líneas de texto, cada línea de texto se segmenta. A cada línea corresponde su proyección vertical Pvi(c):By setting a suitable threshold value, the document in bitmap format can be segmented into lines of text, finding optimal binarization thresholds from the image histogram. Once the projections are calculated, and lines of text are identified, each line of text is segmented. Each line corresponds to its vertical projection Pvi (c):

Pvi(c) = ZrI¡(r,c)Pvi (c) = ZrI¡ (r, c)

donde, Ii(r,c) es la imagen binarizada del documento recortada en la línea i-ésima.Aplicando la misma técnica utilizada para aislar la línea de texto utilizando la proyección horizontal Ph(r), los espacios en cada línea pueden ser identificados y medidos aplicando un umbral adecuado a la proyección vertical Pvi(c).where, Ii (r, c) is the binarized image of the document cropped on the i-th line. Applying the same technique used to isolate the text line using the horizontal projection Ph (r), the spaces in each line can be identified and measured by applying a suitable threshold to the vertical projection Pvi (c).

El resultado (404) de la segmentación (403) es un conjunto de longitudes espaciales y un conjunto de sus correspondientes ubicaciones en el documento, denotadas como conjunto S y conjunto L respectivamente. Los espacios identificados se clasifican entonces (405) en espacios intra e inter-palabras. Como el proceso se trata de un documento bitmap, esta clasificación espacial (405) puede basarse en técnicas de OCR - Reconocimiento Óptico de Caracteres - o en un algoritmo de agrupación mediante el análisis del histograma de las longitudes espaciales, S. Como resultado de esta clasificación (405), los conjuntos originales de longitudes espaciales S y de ubicaciones L se dividen respectivamente en conjuntos (406), Ssy Sb, y Ls y Lb, siendo los conjuntos de la longitud y ubicación de los espacios intra e interpalabras, respectivamente.The result 404 of segmentation 403 is a set of spatial lengths and a set of their corresponding locations in the document, denoted as set S and set L respectively. The identified spaces are then classified (405) into intra- and interword spaces. As the process is a bitmap document, this spatial classification (405) can be based on OCR techniques - Optical Character Recognition - or on a grouping algorithm by analyzing the histogram of the spatial lengths, S. As a result of this classification (405), the original sets of spatial lengths S and locations L are divided respectively into sets (406), Ss and Sb, and Ls and Lb, the sets being the length and location of the intra and interword spaces, respectively.

Como paso siguiente, los conjuntos de salida (406) de la clasificación espacial (405) se alimentan a un proceso de optimización, con el fin de reducir la probabilidad de error del futuro proceso de extracción de la marca de agua. En particular, a fin de reducir al mínimo la posible interferencia entre los espacios inter-palabras e intra-palabras en el proceso de extracción de la marca de agua (es decir, la interpretación de un espacio de un tipo por otro tipo), puede aumentarse la distancia entre las longitudes de los dos tipos de espacios. Esta operación se denomina "rechazo del huésped". Esta operación introduce una distorsión en el documento (10), denominada Dr, que está regulada por un parámetro de restricción adecuado recibido como entrada, denominado Dr_max. En particular, una posible solución para minimizar la probabilidad de error manteniendo la distorsión por debajo de Dr_max consiste en tomar un espacio de palabras interno modificado S*s¡, para la línea i-ésima, igual a:As a next step, the output sets (406) of the spatial classification (405) are fed to an optimization process, in order to reduce the error probability of the future watermark extraction process. In particular, in order to minimize the possible interference between inter-word and intra-word spaces in the watermark extraction process (that is, the interpretation of a space of one type by another type), you can increase the distance between the lengths of the two types of spaces. This operation is called "host rejection". This operation introduces a distortion in the document (10), called Dr, which is regulated by a suitable restriction parameter received as input, called Dr_max. In particular, a possible solution to minimize the probability of error by keeping the distortion below Dr_max consists in taking a modified internal word space S * s, for the i-th line, equal to:

j( i) £ si Ss¡ > j( i) Sj (i) £ if Ss¡> j (i) S

Ss¡ de otro modoSs, otherwise

donde |j(¡) es el valor medio de la longitud de los espacios intra-palabra Ss¡ en la línea i-ésima, y £ es el parámetro de rechazo de huéspedes, que debe ajustarse para obtener Dr = Dr_max.where | j (¡) is the mean value of the length of the intra-word spaces Ss¡ on the i-th line, and £ is the guest rejection parameter, which must be adjusted to obtain Dr = Dr_max.

Dr es un valor indicativo del cambio en las longitudes de los espacios intra-palabra para todas las líneas del documento (10), es decir, Dr = £i |S*s¡ - Ss¡|Dr is a value indicative of the change in the lengths of the intra-word spaces for all lines of the document (10), that is, Dr = £ i | S * s¡ - Ss¡ |

Por lo tanto, Dr = £i (Ss¡ -( j( i) s)) para Ss¡ > j(¡) sHence, Dr = £ i (Ss¡ - (j (i) s)) for Ss¡> j (¡) s

Como se conocen Ss¡ y j(¡), se extrae el valor del rechazo del huésped £ y se utiliza para determinar Dr = Dr_max. Since Ss, and j (,) are known, the guest rejection value £ is extracted and used to determine Dr = Dr_max.

El efecto de la solicitud de rechazo del huésped mencionada anteriormente es reducir los mayores espacios intrapalabras en cada línea, lo que resulta en mayores espacios intra-palabra. En general, el objetivo es mantener la longitud total de cada línea sin cambios. Como tal, debe cumplirse la siguiente condición:The effect of the host rejection request mentioned above is to reduce the largest intraword spaces on each line, resulting in larger intra-word spaces. In general, the goal is to keep the total length of each line unchanged. As such, the following condition must be met:

IkS*s¡(k) I kS*Bi(k) = IkS s (k) XkSBi(k) IkS * s¡ (k) I kS * Bi (k) = IkS s (k) XkSBi (k)

siendo Ssi(k) la longitud del k-ésimo espacio inter-palabras de la línea i-ésima, S*si(k) la longitud modificada del mismo espacio, y, correspondientemente, SBi(k)y S*Bi(k) la longitud original y modificada del k-ésimo espacio inter-palabras de la línea i-ésima.where Ssi (k) is the length of the k-th interword space of the i-th line, S * si (k) the modified length of the same space, and, correspondingly, SBi (k) and S * Bi (k) the original and modified length of the k-th interword space of the i-th line.

Siendo Nb(i) el número de espacios inter-palabras en la línea i-ésima, la ecuación anterior puede ser resuelta usando espacios modificados iguales a:Being Nb (i) the number of interword spaces in the i-th line, the above equation can be solved using modified spaces equal to:

S*Bi(k) = SBi(k) dkSsi(k)- IkS *s (k))/Nb(i)S * Bi (k) = SBi (k) dkSsi (k) - IkS * s (k)) / Nb (i)

lo que resulta en una redistribución homogénea del espacio extra entre los espacios inter-palabras, lo que a su vez resulta de la reducción de los espacios intra-palabras.which results in a homogeneous redistribution of the extra space between the inter-word spaces, which in turn results from the reduction of the intra-word spaces.

El mensaje (30) que se codificará en la marca de agua es una secuencia de bits de longitud K. El mensaje (30) se codifica mediante un módulo de codificación (113). Como primer paso, el módulo de codificación (113) agrega una codificación de canal al mensaje (30) para hacerlo robusto a los errores de decodificación. Esto se logra mediante códigos estándar de corrección de errores de avance, lo que da como resultado un mensaje modificado (m') de longitud L > K, que se muestra en la figura 5. En una segunda etapa, el mensaje modificado (m') se divide como una secuencia de símbolos (500, 500') en bloques de carga útil (510, 510') de longitud N. Además, antes de cada bloque de carga útil (510, 510'), se añade un bloque de sincronización (520, 520') de longitud T para permitir que el decodificador de marca de agua se recupere de los errores de sincronización resultantes de las malas interpretaciones de los espacios intra- e inter-palabras, que se derivan de las distorsiones de los documentos. La secuencia resultante (m") tiene una longitud L(1+T/N).The message (30) to be encoded in the watermark is a sequence of bits of length K. The message (30) is encoded by an encoding module (113). As a first step, the encoding module (113) adds channel encoding to the message (30) to make it robust to decoding errors. This is achieved by standard forward error correction codes, resulting in a modified message (m ') of length L> K, shown in Figure 5. In a second stage, the modified message (m' ) is divided as a sequence of symbols (500, 500 ') into payload blocks (510, 510') of length N. In addition, before each payload block (510, 510 '), a block of timing (520, 520 ') of length T to allow the watermark decoder to recover from timing errors resulting from misinterpretations of intra- and inter-word spaces, resulting from document distortions . The resulting sequence (m ") has a length L (1 + T / N).

Una vez generado el mensaje codificado, se genera el documento con marca de agua (20) (115) mediante un proceso de dos pasos:Once the encoded message has been generated, the document with the watermark (20) (115) is generated using a two-step process:

1. Un módulo de codificación de marcas de agua codifica cada símbolo del mensaje codificado en una secuencia de longitudes espaciales. Como resultado, los espacios inter-palabras del documento SB*se modifican a los espacios inter-palabras con marca de agua Sbw.1. A watermark encoding module encodes each symbol of the encoded message in a sequence of spatial lengths. As a result, the interword spaces in the SB * document are changed to the Sbw watermarked interword spaces.

2. El documento final con marca de agua (20) se genera modificando los espacios del documento anterior, según los vectores de espacio intra-palabra Ss*y espacio inter-palabra Sbw.2. The final document with a watermark (20) is generated by modifying the spaces of the previous document, according to the vectors of intra-word space Ss * and inter-word space Sbw.

La incrustación de la marca de agua se realiza por paquetes de acuerdo con una clave secreta, lo que resulta en una secuencia de palabras clave {w-i, ... wq}, siendo Wi = [wi(1), ... Wi(P)], i= 1, 2,...Q, y Wi(k) = ±1. Siendo el número de palabras clave Q igual al número de diferentes símbolos en el mensaje codificado y empaquetado, cada símbolo puede ser asignado unívocamente a una palabra clave. Luego, para cada símbolo del paquete p(i), se realizan las siguientes operaciones:The embedding of the watermark is done in packets according to a secret key, resulting in a sequence of keywords {wi, ... wq}, where Wi = [wi (1), ... Wi ( P)], i = 1, 2, ... Q, and Wi (k) = ± 1. The number of keywords Q being equal to the number of different symbols in the encoded and packed message, each symbol can be uniquely assigned to a keyword. Then, for each symbol of the package p (i), the following operations are performed:

1. Seleccionar un subconjunto de elementos P en Sb* de longitud N I , mapeado a S ^a través de una clave secreta. El subconjunto puede incluir elementos pertenecientes a diferentes líneas de texto.1. Select a subset of elements P in Sb * of length N I, mapped to S ^ through a secret key. The subset can include elements belonging to different lines of text.

2. Incrustar la palabra clave seleccionada wt en el subconjunto seleccionado usando la siguiente fórmula:2. Embed the selected keyword wt into the selected subset using the following formula:

SW (k) = S*B(k) Wt(k) ct(k) S‘B(k) = Sfe(k) (1 wt(k) ct(k))SW (k) = S * B (k) Wt (k) ct (k) S'B (k) = Sfe (k) (1 wt (k) ct (k))

donde el ct(k) es un factor de ponderación. Según el signo de la palabra clave seleccionada wt(k), para el espacio inter­ palabras k-ésimo en la línea t-ésimo, el espacio inter-palabras SW (k) del documento con marca de agua (20) puede ser más largo o más corto que el espacio original S^(k).where ct (k) is a weighting factor. Depending on the sign of the selected keyword wt (k), for the k-th interword space on the t-th line, the SW (k) interword space of the watermarked document (20) can be longer or shorter than the original space S ^ (k).

La función del factor de ponderación ct(k) es asegurar que la primera y la última letra de cada línea permanezcan en la misma posición (realmente importante, por ejemplo, en los textos justificados y para evitar modificaciones de la disposición en el documento resultante). El factor de ponderación ct(k) es necesario cuando el número de espacios inter-palabras grandes y cortos en una línea determinada no es igual. En general, esto es así cuandoThe function of the weighting factor ct (k) is to ensure that the first and last letters of each line remain in the same position (really important, for example, in justified texts and to avoid layout modifications in the resulting document) . The weighting factor ct (k) is necessary when the number of large and short interword spaces in a given line is not equal. In general, this is so when

Ik SW (k) = Ik S‘B(k)Ik SW (k) = Ik S'B (k)

o, de forma equivalente,or, equivalently,

IkWi(k)ci(k)SBi(k) = 0IkWi (k) ci (k) SBi (k) = 0

siendo ci(k) y Wi(k) el factor de ponderación y el componente de la palabra clave respectivamente para el espacio inter­ palabras k-ésimo en la línea i-ésimo, según la cartografía definida anteriormente.where ci (k) and Wi (k) are the weighting factor and the component of the keyword respectively for the k-th interword space on the ith line, according to the cartography defined above.

Como tal, la condición anterior puede ser reescrita como:As such, the above condition can be rewritten as:

Ik3 wi(k) = 1 ci(k)SBi(k) = Ik3 wi(k) = -1 ci(k) SBi(k) Ik3 wi (k) = 1 ci (k) SBi (k) = Ik3 wi (k) = -1 ci (k) SBi (k)

siendo el primer término la suma de los espacios para los cuales los elementos de codificación es 1, ponderado con el correspondiente factor de ponderación, mientras que el segundo término la suma de los espacios para los cuales los elementos de codificación es -1, ponderado con el correspondiente factor de ponderación. Esto equivale a:the first term being the sum of the spaces for which the coding elements is 1, weighted with the corresponding weighting factor, while the second term is the sum of the spaces for which the coding elements is -1, weighted with the corresponding weighting factor. This is equivalent to:

c-i/c.1 - Xk3 wi(k) = -1 SBi(k) / Xk3 wi(k) = 1 SBi(k)ci / c .1 - Xk3 wi (k) = -1 SBi (k) / Xk3 wi (k) = 1 SBi (k)

Además, si los espacios inter-palabras en cada línea son uniformes, que es el caso común, entonces SBi(k) - Sb y la condición se convierte en: c1/c .1 - N-1/N1, siendo N-1 el número de elementos de codificación "-1" y N1 el número de elementos de codificación "1", en Wi(k) para la línea i-ésima.Also, if the interword spaces in each line are uniform, which is the common case, then SBi (k) - Sb and the condition becomes: c 1 / c .1 - N -1 / N 1 , where N -1 the number of encoding elements "-1" and N 1 the number of encoding elements "1", in Wi (k) for the ith line.

La generación del documento con marca de agua (20) concluye, por lo tanto, modificando los espacios del documento original según los conjuntos Ss*y Sbw.The generation of the document with the watermark (20) therefore concludes by modifying the spaces of the original document according to the sets Ss * and Sbw.

El procedimiento inverso (12) para extraer el mensaje incrustado del documento con marca de agua (20) se muestra en la figura 6. Una vez que se recibe un documento (60), se deben realizar ciertas operaciones para recuperar la marca de agua incrustada. El documento recibido (60) puede haber sufrido una serie de transformaciones desde su creación como documento con marca de agua (20), entre ellas la impresión y/o el escaneado, introduciendo eventualmente distorsiones en él, que deben tenerse en cuenta en el proceso de descodificación. Así pues, el primer paso del procedimiento de extracción de la marca de agua (12) consiste en la reducción del ruido (610) y la corrección geométrica (620), por ejemplo, la rotación, el escalado y la transformación de la perspectiva. Las distorsiones generales incluyen la suciedad, la borrosidad y el sombreado no uniforme, que pueden eliminarse aplicando procedimientos de binarización y operaciones morfológicas sobre el documento recibido (60). El objetivo principal del proceso de reducción de ruido (610) es limpiar los espacios entre las palabras y las letras. Por otra parte, el objetivo principal del proceso de corrección geométrica (620) es aplicar la rotación apropiada al documento recibido de manera que las líneas resulten aproximadamente horizontales para permitir la detección de líneas y espacios. Para lograr este objetivo pueden aplicarse procedimientos estándar de desestabilización, normalmente basados en la detección de bordes o transformaciones para detectar las líneas del documento y calcular el ángulo de rotación a aplicar. El siguiente paso del procedimiento de extracción de la marca de agua (12) consiste en un análisis de la ubicación (630) similar al análisis de la ubicación (110) descrito en la figura 3 para el procedimiento de la marca de agua (11), a fin de detectar la ubicación y el tamaño de los espacios del documento en los que se ha insertado la marca de agua. Los espacios deben clasificarse entonces en espacios intra e inter-palabras. Si se utilizan procedimientos de agrupación para esta clasificación, debe tenerse en cuenta que los espacios inter-palabras en el documento recibido (60) presentan dos longitudes diferentes, distintas de las del documento original (10), debido a la incrustación de la marca de agua. Por último, como los espacios intra-palabras no contienen información de marca de agua, no son pertinentes como resultado de este proceso de clasificación, mientras que los espacios inter-palabras se registran en el correspondiente vector S W Como paso adicional, los espacios en S'bw tienen que ser mapeados (640) a símbolos de acuerdo con el alfabeto w previamente definido y como sigue:The reverse procedure (12) to extract the embedded message from the watermarked document (20) is shown in figure 6. Once a document (60) is received, certain operations must be performed to retrieve the embedded watermark . The received document (60) may have undergone a series of transformations since its creation as a watermarked document (20), including printing and / or scanning, eventually introducing distortions in it, which must be taken into account in the process. decoding. Thus, the first step of the watermark extraction procedure (12) consists of noise reduction (610) and geometric correction (620), for example, rotation, scaling and perspective transformation. General distortions include dirt, blur and non-uniform shading, which can be eliminated by applying binarization procedures and morphological operations on the received document (60). The main objective of the noise reduction process (610) is to clean the spaces between words and letters. On the other hand, the main objective of the geometric correction process (620) is to apply the appropriate rotation to the received document so that the lines are approximately horizontal to allow the detection of lines and spaces. To achieve this objective, standard destabilization procedures can be applied, usually based on the detection of edges or transformations to detect the lines of the document and calculate the angle of rotation to apply. The next step of the watermark extraction procedure (12) consists of a location analysis (630) similar to the location analysis (110) described in Figure 3 for the watermark procedure (11) , in order to detect the location and size of the spaces in the document where the watermark is inserted. The spaces must then be classified into intra- and inter-word spaces. If grouping procedures are used for this classification, it must be taken into account that the interword spaces in the received document (60) have two different lengths, different from those of the original document (10), due to the embedding of the mark of Water. Finally, as intra-word spaces do not contain watermark information, they are not relevant as a result of this classification process, while inter-word spaces are recorded in the corresponding SW vector. As an additional step, the spaces in S 'bw have to be mapped (640) to symbols according to the previously defined alphabet w and as follows:

- Como primer paso del mapeo de símbolos (640), los espacios se agrupan en subconjuntos de tamaño P. El subconjunto t-ésimo de espacios S W codificará por lo tanto un símbolo Wi, con i e {1, ... , Q}. La estimación del símbolo más probable puede expresarse como:- As the first step of the symbol mapping (640), the spaces are grouped into subsets of size P. The t-th subset of spaces S W will therefore encode a symbol Wi, with i e {1, ..., Q}. The most probable symbol estimate can be expressed as:

c - arg maxc e {1, ..., q> f(SW|Wc)c - arg maxc e { 1 , ..., q> f (SW | Wc)

siendo f(SW|Wc) la función de densidad de probabilidad de las condiciones SW en Wc. En la práctica, una estimación estadística es difícilmente aplicable, ya que implica el conocimiento de la distribución estadística del S W y sus parámetros, que varía en gran medida según el tipo de documento y la fuente, y requiere una gran P para tener una muestra estadísticamente significativa. Por ello, la cartografía (640) de los espacios en los símbolos se realiza basándose únicamente en los medios de la muestra observada. De hecho, después de incrustar la palabra clave Wc en SB, la media de la muestra S W tiene la forma |Jk(1+AWc(k)), siendo |Jk la media de S W ). Por lo tanto, los espacios de las marcas de agua se distribuyen alrededor de los centros de Q, de modo que el símbolo incrustado puede estimarse mediante técnicas de cuantificación vectorial, basándose en diversos procedimientos existentes para tal operación, incluida la manera escalar. Obsérvese que, si se ha utilizado un procedimiento de agrupación en el análisis de localización (630), esa clasificación puede proporcionarse naturalmente como un resultado secundario de ese proceso.where f (SW | Wc) is the probability density function of the SW conditions in Wc. In practice, a statistical estimation is difficult to apply, since it implies knowledge of the statistical distribution of SW and its parameters, which varies greatly depending on the type of document and source, and requires a large P to have a statistically sample. significant. Thus, mapping 640 of spaces in symbols is performed based solely on the means of the observed sample. In fact, after embedding the keyword Wc in SB, the sample mean S W has the form | Jk (1 + AWc (k)), where | Jk is the mean of S W). Therefore, the spaces of the watermarks are distributed around the centers of Q, so that the embedded symbol can be estimated by vector quantization techniques, based on various existing procedures for such operation, including the scalar way. Note that if a grouping procedure has been used in the location analysis (630), that classification can naturally be provided as a secondary result of that process.

- Como siguiente paso, se realiza el mapeo entre SBwi(k) y Wi(k) asignando a Wi(k) los valores de 1 o -1 dependiendo de la correspondiente clasificación espacial como grande o corto, respectivamente. Las estimaciones de Wi(k) se ordenan de acuerdo con el subconjunto definido en la fase de incrustación y las secuencias resultantes se comparan con las palabras clave del alfabeto. Si Wc es la palabra clave más similar, se selecciona el símbolo c e {1, ..., Q}.- As a next step, the mapping between SBwi (k) and Wi (k) is carried out, assigning Wi (k) the values of 1 or -1 depending on the corresponding spatial classification as large or short, respectively. The estimates of Wi (k) are ordered according to the subset defined in the embedding phase and the resulting sequences are compared with the alphabet keywords. If Wc is the most similar keyword, the symbol c e {1, ..., Q} is selected.

Los símbolos estimados resultantes del mapeo (640) se dan finalmente como entrada a un paso de desempacado (650), que busca los símbolos de sincronización y extrae los símbolos de la carga útil. Por último, la descodificación del canal (650) se aplica a los símbolos de la carga útil para extraer el mensaje original (30) que se incorporó al documento con marca de agua recibido (60). The estimated symbols resulting from the mapping (640) are finally input to an unpacking step (650), which searches for the sync symbols and extracts the symbols from the payload. Finally, channel decoding (650) is applied to payload symbols to extract the original message (30) that was embedded in the received watermarked document (60).

Obsérvese que en este texto, el término "comprende" y sus derivaciones (como "comprender", etc.) no deben entenderse en sentido excluyente, es decir, no debe interpretarse que estos términos excluyen la posibilidad de que lo que se describe y define pueda incluir otros elementos, pasos, etc. Note that in this text, the term "comprise" and its derivations (such as "understand", etc.) should not be understood in an exclusive sense, that is, these terms should not be interpreted as excluding the possibility that what is described and defined may include other elements, steps, etc.

Claims (10)

REIVINDICACIONES Un procedimiento (11) para marcar documentos con marca de agua, recibiendo un documento original (10) que incluye un texto y un mensaje (30) para obtener un documento con marca de agua (20) incrustando una marca de agua que codifica el mensaje recibido (30), comprendiendo el procedimiento:A procedure (11) to mark documents with a watermark, receiving an original document (10) that includes a text and a message (30) to obtain a document with a watermark (20) by embedding a watermark that encodes the message received (30), comprising the procedure: - identificar y localizar los espacios en el documento original (10) mediante un módulo de análisis de localización (110), distinguiendo el análisis de localización (110) entre espacios intra-palabras y espacios inter- palabras, y en el que el análisis de localización (110) comprende:- identify and locate the spaces in the original document (10) by means of a location analysis module (110), distinguishing the location analysis (110) between intra-word spaces and inter-word spaces, and in which the analysis of location (110) comprises: - comprobar (401) si el documento original recibido (10) es un documento con formato de mapa de bits y si el documento original (10) está en un formato no de mapa de bits, convertir (402) el documento original (10) en un documento con formato de mapa de bits;- check (401) if the original document received (10) is a document with bitmap format and if the original document (10) is in a non-bitmap format, convert (402) the original document (10) in a bitmap formatted document; - aplicar una segmentación basada en imágenes (403) al documento con formato de mapa de bits para obtener un conjunto de longitudes y un conjunto de ubicaciones de los espacios en el documento con formato de mapa de bits;- applying image-based segmentation (403) to the bitmap-formatted document to obtain a set of lengths and a set of locations of the spaces in the bitmap-formatted document; - clasificar (405) los espacios identificados y localizados en espacios intra e inter-palabras para obtener conjuntos (406) de longitudes de los espacios intra e inter-palabras, Ss y Sb respectivamente, y conjuntos de localizaciones de los espacios intra e inter-palabras, Ls y Lb, del documento original (10).- classify (405) the spaces identified and located in intra and inter-word spaces to obtain sets (406) of lengths of the intra and inter-word spaces, Ss and Sb respectively, and sets of locations of the intra and inter-word spaces. words, Ls and Lb, from the original document (10). - reducir al mínimo la probabilidad de error que corresponde a una interferencia entre espacios intra-palabras y espacios inter-palabras en el documento con marca de agua (20) mediante un módulo de optimización (111), en el que el módulo de optimización (111) determina una distancia entre las longitudes de los espacios intra- e inter-palabras, y en el que el módulo de optimización (111) minimiza la probabilidad de error mediante: - minimize the probability of error corresponding to an interference between intra-word spaces and inter-word spaces in the watermarked document (20) by means of an optimization module (111), in which the optimization module ( 111) determines a distance between the lengths of the intra- and inter-word spaces, and in which the optimization module (111) minimizes the probability of error by: - obtención de un conjunto modificado de espacios intra-palabra,S*s = { S*sí } donde i denota un número de línea del documento original (10) y S*sí es igual a:- obtaining a modified set of intra-word spaces, S * s = {S * yes} where i denotes a line number of the original document (10) and S * yes is equal to: M(i) £ si Ssí > M(i) £,M (i) £ if Yes> M (i) £, y Ssi lo contrario; donde p(¡) es un valor promedio de los espacios intra-palabras Ssi en la línea iésima y £ es un parámetro de rechazo de huéspedes que es un parámetro ajustable para aumentar la distancia entre las longitudes de los espacios intra e inter palabas,and if the opposite; where p (¡) is an average value of the intra-word spaces Ssi on the ith line and £ is a guest rejection parameter that is an adjustable parameter to increase the distance between the lengths of the intra- and inter-word spaces, - obtener un conjunto modificado de espacios inter-palabras,S*B = { S*b¡ } donde i denota un número de línea del documento original (10), donde- obtain a modified set of interword spaces, S * B = {S * b¡} where i denotes a line number of the original document (10), where S*b¡ = { S*b¡ (k)}, siendo S*Bi(k) la longitud modificada del k-ésimo espacio inter-palabras de la línea i-ésima y SBi(k) la longitud original del k-ésimo espacio inter-palabras de la línea i-ésima del documento original (10),S * b¡ = {S * b¡ (k)}, where S * Bi (k) is the modified length of the k-th interword space of the i-th line and SBi (k) the original length of the k- th interword space of the i-th line of the original document (10), S*s = { S*s¡ (k)}, siendo S*si(k) la longitud modificada del k-ésimo espacio intra-palabras de la línea i-ésima y Ss¡(k) la longitud original del k-ésimo espacio intra-palabras de la línea i-ésima del documento original (10), yS * s = {S * s¡ (k)}, where S * si (k) is the modified length of the k-th intra-word space of the i-th line and Ss¡ (k) the original length of the k- th intra-word space of the i-th line of the original document (10), and S*B¡(k) = SBi(k) dkSsi(k)- IkS*s¡(k))/Nb(i)S * B¡ (k) = SBi (k) dkSsi (k) - IkS * s¡ (k)) / Nb (i) siendo Nb(i) el número de espacios inter-palabras en la línea i-ésima del documento original (10). where Nb (i) is the number of interword spaces in the i-th line of the original document (10). codificar (113) el mensaje (30) en palabras clave y codificar (114) las palabras clave en la marca de agua;encoding (113) the message (30) in keywords and encoding (114) the keywords in the watermark; incrustar la marca de agua en el documento original (110) para generar (115) el documento con la marca de agua (20) modificando los espacios intra e inter-palabras del documento original (10) de acuerdo con la codificación (113) del mensaje recibido(30), en el que generar (115) el documento con marca de agua (20) comprende:embed the watermark in the original document (110) to generate (115) the document with the watermark (20) modifying the intra and inter-word spaces of the original document (10) according to the coding (113) of the received message (30), in which generating (115) the watermarked document (20) comprises: seleccionar un subconjunto del conjunto de espacios inter-palabras,S*B, mapeado al conjunto de espacios inter-palabras de la línea t-ésima,StB, a través de una clave secreta;selecting a subset of the set of interword spaces, S * B, mapped to the set of interword spaces of the t-th line, StB, through a secret key; seleccionar una palabra clave wt del mensaje codificado (30)select a wt keyword from the encrypted message (30) incrustar la palabra clave seleccionada wt en el subconjunto seleccionado de espacios inter-palabras calculando un espacio inter-palabras modificado Sbw del documento con marca de agua (20) utilizando la expresión embed the selected keyword wt in the selected subset of interword spaces by calculating a modified interword space Sbw from the watermarked document (20) using the expression SW (k) = Styk) wt(k)-ct(k)-S‘B(k) = Styk) (1 wt(k)ct(k))SW (k) = Styk) wt (k) -ct (k) -S'B (k) = Styk) (1 wt (k) ct (k)) donde wt(k) es la palabra clave seleccionada, para el k-ésimo espacio inter-palabras en la línea tésima; StB(k) es el k-ésimo espacio inter-palabras en la línea t-ésima del espacio inter-palabras Sb del documento original (10), SW (k) es el k-ésimo espacio inter-palabras en la línea t-ésima del espacio inter-palabras Sbw del documento con marca de agua (20) y ct(k) es un factor de ponderación;where wt (k) is the selected keyword, for the k-th interword space on the th line; StB (k) is the k-th interword space on line t-th of the interword space S b of the original document (10), SW (k) is the k-th interword space on line t -th of the interword space S bw of the watermarked document (20) and ct (k) is a weighting factor; modificar los espacios intra e inter-palabras en del documento original (10) sustituyendo el espacio intra-palabras, Ss , y el espacio inter-palabras, Sb, respectivamente por el conjunto modificado de espacios intra-palabras,S*s, y el espacio inter-palabras modificado, Sbw, en el documento con marca de agua (20).modify the intra- and inter-word spaces in the original document (10) by replacing the intra-word space, S s , and the inter-word space, S b , respectively by the modified set of intra-word spaces, S * s, and the modified interword space, S bw, in the watermarked document (20). 2. El procedimiento según la reivindicación 1, en el que la segmentación basada en la imagen (403) aplica la agrupación o el reconocimiento óptico de caracteres si el documento original recibido (10) tiene un fondo de texto no homogéneo.The method of claim 1, wherein image-based segmentation (403) applies grouping or optical character recognition if the received original document (10) has a non-homogeneous text background. 3. El procedimiento según la reivindicación 1, en el que la segmentación basada en la imagen (403) aplica proyecciones si el documento original recibido (10) tiene un fondo de texto homogéneo.The method of claim 1, wherein image-based segmentation (403) applies projections if the received original document (10) has a homogeneous text background. 4. El procedimiento según cualquier reivindicación anterior, en el que la codificación (113) del mensaje (30) de longitud K comprende la adición de una codificación de canal al mensaje (30) para obtener un mensaje modificado (m') de longitud L > K, la división del mensaje modificado (m') en bloques de carga útil (510, 510') de longitud N y la adición de un bloque de sincronización (520, 520') de longitud T antes de cada bloque de carga útil (510, 510') respectivamente para obtener una secuencia de símbolos (m") de longitud L(1+T/N).The method according to any preceding claim, wherein the encoding (113) of the message (30) of length K comprises adding a channel encoding to the message (30) to obtain a modified message (m ') of length L > K, the division of the modified message (m ') into payload blocks (510, 510') of length N and the addition of a sync block (520, 520 ') of length T before each payload block (510, 510 ') respectively to obtain a sequence of symbols (m ") of length L (1 + T / N). 5. El procedimiento según cualquier reivindicación anterior, en el que se selecciona el documento original (10) de un documento digital y un documento digitalizado.The method according to any preceding claim, wherein the original document (10) of a digital document and a digitized document are selected. 6. Un procedimiento (12) para recibir un documento (60) del procedimiento de la reivindicación 1 y extraer marcas de agua del documento recibido (60) resultante de un documento con marca de agua (20) que tiene una marca de agua incrustada que codifica un mensaje (30) de un número Q de símbolos, comprendiendo el procedimiento:A method (12) for receiving a document (60) of the method of claim 1 and extracting watermarks from the received document (60) resulting from a watermarked document (20) having an embedded watermark that encodes a message (30) of a number Q of symbols, the procedure comprising: - identificar y localizar los espacios en el documento recibido (60) mediante un módulo de análisis de localización (630), distinguiendo el análisis de localización (630) entre espacios intra e inter-palabras y obteniendo un vector S'bw correspondiente a los espacios inter-palabras del documento con marca de agua (20);- identify and locate the spaces in the received document (60) by means of a location analysis module (630), distinguishing the location analysis (630) between intra- and inter-word spaces and obtaining a vector S ' bw corresponding to the spaces inter-words of the watermarked document (20); - mapear (640) los espacios inter-palabras del vector S'bw a símbolos según un alfabeto de palabras clave w = { wi }, i= 1, 2,...Q; siendo Q el número de símbolos del mensaje (30) y siendo los símbolos mapeados unívocamente a las palabras clave w;- mapping (640) the interword spaces of the vector S ' bw to symbols according to an alphabet of keywords w = {wi}, i = 1, 2, ... Q; where Q is the number of symbols in the message (30) and the symbols being uniquely mapped to the keywords w; - desempacar (650) los símbolos mapeados para obtener bloques de sincronización y bloques de símbolos de carga útil;- unpacking (650) the mapped symbols to obtain sync blocks and payload symbol blocks; - decodificación del canal (660) de bloques de carga útil para extraer el mensaje (30).- decoding the channel (660) of payload blocks to extract the message (30). 7. El procedimiento según la reivindicación 6, en el que el documento recibido (60) es una copia distorsionada del documento con marca de agua (20).The method according to claim 6, wherein the received document (60) is a distorted copy of the watermarked document (20). 8. El procedimiento según cualquiera de las reivindicaciones 6-7, que comprende además la aplicación de la reducción de ruido (610) y la corrección geométrica (620) al documento recibido (60) antes del análisis de localización (630).The method according to any of claims 6-7, further comprising applying noise reduction (610) and geometric correction (620) to the received document (60) prior to location analysis (630). 9. Un medio no transitorio legible por ordenador que contiene instrucciones informáticas almacenadas en él para hacer que un procesador de ordenador realice el procedimiento de acuerdo con cualquiera de las reivindicaciones 1-5.9. A non-transient computer-readable medium containing computer instructions stored therein for causing a computer processor to perform the method according to any of claims 1-5. 10. Un medio no transitorio legible por ordenador que contiene instrucciones informáticas almacenadas en él para hacer que un procesador de ordenador realice el procedimiento de acuerdo con cualquiera de las afirmaciones 6-8. 10. A non-transient, computer-readable medium that contains computer instructions stored on it to cause a computer processor to perform the procedure in accordance with any of statements 6-8.
ES17382720T 2017-10-27 2017-10-27 Watermark Embedding and Removal Procedure to Protect Documents Active ES2829269T3 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP17382720.5A EP3477578B1 (en) 2017-10-27 2017-10-27 Watermark embedding and extracting method for protecting documents

Publications (1)

Publication Number Publication Date
ES2829269T3 true ES2829269T3 (en) 2021-05-31

Family

ID=60268326

Family Applications (1)

Application Number Title Priority Date Filing Date
ES17382720T Active ES2829269T3 (en) 2017-10-27 2017-10-27 Watermark Embedding and Removal Procedure to Protect Documents

Country Status (4)

Country Link
US (2) US10949509B2 (en)
EP (1) EP3477578B1 (en)
BR (1) BR102018072097A2 (en)
ES (1) ES2829269T3 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472384A (en) * 2019-08-13 2019-11-19 中科天御(苏州)科技有限公司 A kind of big data water mark method and device based on artificial intelligence
CN111651736B (en) * 2020-06-16 2021-08-13 杭州美创科技有限公司 Watermark tracing method for desensitization of identity card data
US11361055B1 (en) * 2020-12-04 2022-06-14 International Business Machines Corporation Protection of a content repository using dynamic watermarking
US20240121101A1 (en) 2020-12-09 2024-04-11 Telefonica Cibersecurity Tech, S.L.U. Method and system for encoding and decoding information in texts
ES2972232T3 (en) 2021-06-03 2024-06-11 Telefonica Cibersecurity & Cloud Tech S L U Computer vision method for detecting regions of documents that will be excluded from an embedding process and computer programs thereof
CN114201944A (en) * 2021-11-19 2022-03-18 合肥高维数据技术有限公司 Font deformation method and its watermark embedding and extraction method
CN114692099B (en) * 2022-03-30 2025-08-19 北京沃东天骏信息技术有限公司 Digital watermark adding and extracting method and device, electronic equipment and readable medium
CN115147256A (en) * 2022-06-27 2022-10-04 鼎捷软件股份有限公司 System and method for managing watermarked pictures
US20240211678A1 (en) * 2022-12-22 2024-06-27 Microsoft Technology Licensing, Llc Encoding documents for peripheral privacy
US11816756B1 (en) 2023-04-13 2023-11-14 Equity Shift, Inc. Anti-leak digital document marking system and method using distributed ledger
CN116776301B (en) * 2023-08-18 2023-10-20 北京点聚信息技术有限公司 Quick traceability management method for electronic seal
CN119273525B (en) * 2024-12-09 2025-02-28 北京百车宝科技有限公司 Method for removing watermark of portable file format document, computer equipment and storage medium
CN119885124A (en) * 2025-03-27 2025-04-25 杭州小满智算科技有限公司 Method for embedding and detecting watermark based on variation self-encoder and contrast learning

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8014557B2 (en) * 2003-06-23 2011-09-06 Digimarc Corporation Watermarking electronic text documents
US8861922B2 (en) * 2003-09-29 2014-10-14 Alcatel Lucent Watermarking scheme for digital video
CN1897522B (en) * 2005-07-15 2010-05-05 国际商业机器公司 Water mark embedded and/or inspecting method, device and system
SG155790A1 (en) * 2008-03-18 2009-10-29 Radiantrust Pte Ltd Method for embedding covert data in a text document using space encoding
US8014035B2 (en) * 2008-09-10 2011-09-06 Xerox Corporation Decoding message data embedded in an image print via halftone dot orientation
US8750630B2 (en) * 2012-07-13 2014-06-10 International Business Machines Corporation Hierarchical and index based watermarks represented as trees
US20150228045A1 (en) * 2013-09-23 2015-08-13 Infosys Limited Methods for embedding and extracting a watermark in a text document and devices thereof

Also Published As

Publication number Publication date
BR102018072097A2 (en) 2019-06-04
EP3477578B1 (en) 2020-09-09
US10949509B2 (en) 2021-03-16
US20190130080A1 (en) 2019-05-02
US20210165860A1 (en) 2021-06-03
EP3477578A1 (en) 2019-05-01

Similar Documents

Publication Publication Date Title
ES2829269T3 (en) Watermark Embedding and Removal Procedure to Protect Documents
US8275168B2 (en) Orientation free watermarking message decoding from document scans
US20110052094A1 (en) Skew Correction for Scanned Japanese/English Document Images
US6086706A (en) Document copying deterrent method
JP5253352B2 (en) Method for embedding a message in a document and method for embedding a message in a document using a distance field
CN103886545B (en) Transformation domain printing-scanning resistant digital watermarking method based on computer-generated holography
US20130028466A1 (en) Embedding and Detecting Hidden Information
WO2018076409A1 (en) Method for realizing two dimensional code copy prevention and realization system thereof
KR20060003027A (en) How to detect watermark information
JP5015540B2 (en) Digital watermark embedding device and detection device
CN102027526A (en) Method and system for embedding covert data in a text document using space encoding
US20100142756A1 (en) Document security method
Alotaibi et al. Arabic text watermarking: A review
CN109902710A (en) A kind of fast matching method and device of text image
US8144925B2 (en) Mapping based message encoding for fast reliable visible watermarking
CN101119429A (en) A method and device for digital watermark embedding and extraction
CN111738898A (en) Text digital watermark embedding \ extracting method and device
Chotikakamthorn Document image data hiding technique using character spacing width sequence coding
Varna et al. Data hiding in hard-copy text documents robust to print, scan and photocopy operations
Davarzani et al. Farsi text watermarking based on character coding
CN111489278B (en) A text watermark embedding extraction method based on scrambling diffusion
CN112966679B (en) Information tracing method and system based on character minimum connected domain offset
Divya et al. Recovery of watermarked image from geometrics attacks using effective histogram shape based index
RU2431192C1 (en) Method of inserting secret digital message into printed documents and extracting said message
CN1801707A (en) Text numerical watermark method for resisting analog domain attack