ES2706751T3 - Procedimiento para aplicar una marca de agua de libros digitales - Google Patents

Procedimiento para aplicar una marca de agua de libros digitales Download PDF

Info

Publication number
ES2706751T3
ES2706751T3 ES13733283T ES13733283T ES2706751T3 ES 2706751 T3 ES2706751 T3 ES 2706751T3 ES 13733283 T ES13733283 T ES 13733283T ES 13733283 T ES13733283 T ES 13733283T ES 2706751 T3 ES2706751 T3 ES 2706751T3
Authority
ES
Spain
Prior art keywords
new
code
glyph
typeface
existing
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
ES13733283T
Other languages
English (en)
Inventor
Laurent Clisson
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.)
Viaccess SAS
Original Assignee
Viaccess SAS
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 Viaccess SAS filed Critical Viaccess SAS
Application granted granted Critical
Publication of ES2706751T3 publication Critical patent/ES2706751T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • 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]
    • 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/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • 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
    • G06T1/0071Robust watermarking, e.g. average attack or collusion attack resistant using multiple or alternating watermarks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/00Two-dimensional [2D] image generation
    • G06T11/60Creating or editing images; Combining images with text
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32267Methods relating to embedding, encoding, decoding, detection or retrieval operations combined with processing of the image
    • H04N1/32272Encryption or ciphering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32288Multiple embedding, e.g. cocktail embedding, or redundant embedding, e.g. repeating the additional information at a plurality of locations in the image
    • H04N1/32304Embedding different sets of additional information
    • 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/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/0063Image watermarking in relation to collusion attacks, e.g. collusion attack resistant
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0064Image watermarking for copy protection or copy management, e.g. CGMS, copy only once, one-time copy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3225Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document
    • H04N2201/3233Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark
    • H04N2201/3239Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to an image, a page or a document of authentication information, e.g. digital signature, watermark using a plurality of different authentication information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3269Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs
    • H04N2201/327Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of machine readable codes or marks, e.g. bar codes or glyphs which are undetectable to the naked eye, e.g. embedded codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Document Processing Apparatus (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

Un procedimiento para aplicar una marca de agua a libros digitales con parámetros unidos por una función biunívoca a identificadores respectivos, conteniendo el libro digital un texto preexistente codificado en el que cada carácter es codificado por al menos un código y un tipo de letra preexistente o una referencia a un tipo de letra preexistente, incluyendo cada tipo de letra pares código-glifo, asociando cada par código-glifo un código del texto codificado a un glifo utilizado para presentar un carácter, caracterizado por que este procedimiento incluye las etapas: - de elaboración (56) para cada parámetro de un nuevo tipo de letra a partir del tipo de letra preexistente, creando al menos un nuevo par código-glifo diferente de los pares código-glifo existentes en el tipo de letra preexistente, distinguiéndose este nuevo par código-glifo de los pares código-glifo existentes por al menos una de las diferencias siguientes: · el glifo es un nuevo glifo que no existe en el tipo de letra preexistente, y/o · el código es un nuevo código que existe en el tipo de letra preexistente, y/o · el código está asociado a un glifo diferente existente en el tipo de letra preexistente. siendo el nuevo glifo o el nuevo código o la nueva asociación código-glifo una función del valor del parámetro de manera que el nuevo tipo de letra es diferente para cada valor diferente del identificador, - de elaboración (58) de un nuevo texto codificado a partir del texto preexistente codificado reemplazando, en el texto preexistente codificado al menos un código o grupo de códigos del tipo de letra preexistente permitiendo presentar un carácter o una combinación de caracteres del libro digital por el código o grupo de códigos del nuevo tipo de letra que permiten presentar el carácter o la combinación de caracteres gráficamente idénticos sobre una pantalla cualquiera, incluyendo este código o grupo de códigos del nuevo tipo de letra al menos el código del nuevo par código-glifo de manera que el nuevo texto codificado así elaborado es diferente para cada valor diferente del identificador, - de suministro (64) como libro digital con marca de agua del nuevo texto codificado y del nuevo tipo de letra o de una referencia al nuevo tipo de letra.

Description

DESCRIPCIÓN
Procedimiento para aplicar una marca de agua de libros digitales
La invención se refiere a un procedimiento y a un dispositivo para aplicar una marca de agua en libros digitales con parámetros unidos por una función biunívoca con identificadores respectivos. La invención se refiere igualmente a un soporte de grabación de informaciones así como a un programa de ordenador para la puesta en práctica de este procedimiento. Finalmente, la invención tiene igualmente por objeto un conjunto de libros digitales con marca de agua con ayuda del procedimiento anterior.
Los procedimientos para aplicar marca de agua se conocen igualmente bajo el término inglés « watermarking ». El objetivo de estos procedimientos para aplicar de marca de agua es codificar en el libro digital un identificador de una manera no perceptible por los usuarios. Este identificador es utilizado a continuación para identificar, por ejemplo, al usuario que ha puesto a disposición una copia de un libro digital sobre redes para compartir contenidos multimedia. Así, el hecho de aplicar una marca de agua a un libro digital con un identificador del comprador puede disuadir a este comprador de distribuir gratuitamente el libro digital que ha comprado.
Un libro digital contiene un texto preexistente en el que cada carácter está codificado por al menos un código y un tipo de letra preexistente o una referencia a un tipo de letra preexistente. Cada tipo de letra incluye pares código-glifo. Cada par código-glifo asocia un código del texto codificado a un glifo utilizado para presentar un carácter sobre una pantalla.
En micro-informática, como se pueden producir todos los estilos y todos los cuerpos a partir de la representación vectorial de un tipo de letra, el término « tipo de letra » designa un tipo de trazado de caracteres, sin tener en cuenta estilo, grosor y cuerpo. Por tipo, se entiende la forma del trazado de los caracteres identificada por un nombre tal como « Times », « Courier », « Arial », etc.
Por « estilo », se designa el grado de inclinación de los caracteres tales como las inclinaciones conocidas bajo los términos de « redonda » o « itálica ».
Por « grosor », se designa el grueso o anchura del trazo tales como los grosores conocidos bajo los términos de « delgado », «semi-grueso », «grueso ».
Por « cuerpo », se designa el tamaño de los caracteres expresado en puntos tales como 10, 12, 14, etc.
Una fuente de caracteres es un conjunto de glifos, es decir de representaciones visuales de caracteres, de una misma tipo de letra de escritura, del mismo estilo, cuerpo y grosor. Así, generalmente, un tipo de letra comprende varias fuentes de caracteres.
Habitualmente, un tipo de letra asocia un código a cada glifo de un carácter. Los códigos son generalmente definidos por una norma tal como la norma Unicode.
Existen igualmente hoy día varios formatos electrónicos de tipo de letras tales como los formatos TrueType y OpenType. Estos formatos TrueType y OpenType son formatos de tipo de letra vectorial.
Un tipo de letra vectorial es un tipo de letra en la que cada glifo es definido, no por una imagen matricial, sino por ecuaciones de una o de varias curvas. Las curvas son típicamente curvas de Bézier. Con los tipos de letra vectoriales, es posible aumentar el tamaño del carácter sin que aparezca ningún efecto de marcha durante su presentación.
Procedimientos para aplicar una marca de agua conocidos de un identificador incluyen:
- la elaboración de un nuevo texto a partir del texto preexistente, reemplazando en el texto preexistente un primer código del tipo de letra preexistente por un segundo código diferente del tipo de letra preexistente, estando asociado este segundo código a un glifo muy similar o idéntico al asociado al primer código, luego
- el suministro como libro digital con marca de agua del nuevo texto y del tipo de letra preexistente.
Los primeros códigos del texto preexistente que son reemplazados por los segundos códigos son seleccionados en función del valor del identificador a codificar. Así, el nuevo texto incluye a la vez primeros y segundos códigos para presentar el mismo glifo sobre la pantalla o glifos muy similares. Es la posición de los primeros y segundos códigos, unos con relación a otros, en el nuevo texto la que codifica el valor del identificador en el libro digital con marca de agua por este procedimiento.
Tal procedimiento para aplicar una marca de agua está por ejemplo descrito en la solicitud del documento WO 2011/021114.
Sin embargo, los procedimientos conocidos no son robustos frente a ataques por colusión. En efecto, comparando el texto codificado contenido en diferentes copias del libro digital con marca de agua con identificadores diferentes, es bastante simple referenciar los códigos del texto codificado que han sido modificados. Esta información es a continuación utilizada para reconstruir el texto codificado original que no incluye marca de agua. Por ejemplo, esta información permite reemplazar los segundos códigos por los primeros códigos para reconstruir el texto original que no tiene marca de agua.
El estado de la técnica es igualmente conocido por los documentos:
- WO02/103461A2,
- US2004/001606.
La invención pretende remediar este inconveniente. Tiene pues por objeto un procedimiento para aplicar una marca de agua a libros digitales conforme a la reivindicación 1.
En el procedimiento anterior, el libro con marca de agua presentado sobre una pantalla cualquiera es de manera gráfica rigurosamente idéntico al libro digital que contiene el texto preexistente y el tipo de letra preexistente ya que las representaciones gráficas de los caracteres son las mismas. En efecto, el nuevo tipo de letra se distingue del tipo de letra preexistente no ya por la forma gráfica de sus caracteres, sino por la codificación de los glifos. No es por tanto posible distinguir en el libro presentado la presencia de un identificador.
En el nuevo tipo de letra, el o los códigos utilizados para obtener la representación gráfica de un carácter no son todos idénticos al o a los utilizados en el tipo de letra preexistente para obtener la misma representación gráfica del mismo carácter. Por consiguiente, en el procedimiento anterior, la codificación del texto es también modificada para reemplazar el código preexistente por el o los códigos correspondientes del nuevo tipo de letra. Así, el procedimiento anterior asocia de manera inseparable el nuevo texto codificado y el nuevo tipo de letra. A partir de entonces, cualquier tentativa que pretenda borrar el identificador codificado en el libro digital reemplazando el nuevo tipo de letra por otro es en vano, ya que el texto codificado no puede presentarse correctamente en la pantalla con otra tipo de letra. Esto hace así también el procedimiento para aplicar una marca de agua robusto frente a otras tentativas de transformación del libro digital como, por ejemplo, un copia-pega del texto codificado.
Finalmente, el nuevo tipo de letra y el texto codificado dependen cada uno del valor de un parámetro unido por una función biunívoca al valor de un identificador. Son por tanto cada uno único para cada valor del identificador. En estas condiciones, el procedimiento anterior es robusto frente a ataques por colusión. En particular, no es posible o resulta mucho más difícil borrar o cambiar el valor del parámetro codificado en el libro comparando o combinando diferentes nuevos textos codificados elaborados cada uno a partir de parámetros cuyos valores son diferentes.
Los modos de realización de este procedimiento para aplicar una marca de agua pueden incluir una o varias de las características de las reivindicaciones dependientes de procedimiento para aplicar una marca de agua.
Estos modos de realización del procedimiento para aplicar una marca de agua presentan además las siguientes ventajas:
- la elaboración del nuevo tipo de letra reemplazando un código asociado a un único glifo por otro código diferente permite crear un nuevo tipo de letra sin tener que crear o modificar glifos;
- la utilización de una permutación de los códigos de los glifos del tipo de letra preexistente para crear el nuevo tipo de letra permite elaborar muy simplemente un nuevo tipo de letra muy diferente del tipo de letra preexistente;
- la elaboración del nuevo tipo de letra añadiéndole un nuevo glifo obtenido por concatenación de glifos o de trozos de glifos del tipo de letra preexistente o por el corte de un glifo preexistente en varios trozos permite crear muy simplemente un número muy grande de nuevos tipos de letras diferentes;
- la creación de un glifo que difiere del mismo glifo del tipo de letra preexistente únicamente por su codificación vectorial permite codificar una información complementaria de manera imperceptible en el nuevo tipo de letra;
- la grabación de una huella digital del nuevo tipo de letra o del nuevo texto asociado al valor del identificador permite encontrar simplemente el valor de este identificador a partir de una copia del nuevo texto o del nuevo tipo de letra.
La invención tiene igualmente por objeto un soporte de grabación de informaciones o un programa de ordenador que incluye instrucciones para la puesta en práctica del procedimiento anterior cuando estas instrucciones son ejecutadas por una computadora electrónica.
La invención tiene igualmente por objeto un dispositivo para aplicar una marca de agua conforme a la reivindicación 10.
La invención tiene igualmente por objeto un conjunto de libros digitales con marca de agua conforme a la reivindicación 11.
La inversión será mejor comprendida con la lectura de la descripción siguiente, dada únicamente a título de ejemplo no limitativo, y hecha con referencia a los dibujos en los que:
La fig. 1 es una ilustración esquemática de un sistema de distribución de un libro digital,
La fig. 2 es una ilustración esquemática de un texto codificado del libro digital, a distribuir por el sistema de la fig. 1,
La fig. 3 es una ilustración esquemática de un tipo de letra contenida en el libro digital a distribuir por el sistema de la fig.
1,
La fig. 4 es un organigrama de un procedimiento para aplicar una marca de agua del libro digital distribuido por el sistema de la fig. 1,
Las figs. 5 y 6 son organigramas de procedimientos que permiten encontrar el valor del identificador codificado en el libro digital con marca de agua según el procedimiento de la fig. 4,
Las figs. 7 y 8 son ilustraciones esquemáticas, respectivamente, de un nuevo tipo de letra y de un nuevo texto que utiliza este nuevo tipo de letra,
Las figs. 9, 10, 12, 14 y 17 son ilustraciones de nuevos tipos de letras elaborados según diferentes métodos susceptibles de ser empleados en el procedimiento de la fig. 4,
Las figs. 11 y 13 son ilustraciones esquemáticas de un texto codificado con ayuda, respectivamente, de los tipos de letras de las figs. 10 y 12,
Las figs. 15 y 16 son ilustraciones esquemáticas de un mismo glifo definido por dos codificaciones vectoriales diferentes.
En estas figuras, las mismas referencias son utilizadas para designar los mismos elementos.
En la continuación de esta descripción, las características y funciones bien conocidas por el experto en la técnica no han sido descritas en detalle.
La fig. 1 representa un sistema 2 de distribución de libros digitales. Este sistema 2 incluye un servidor 4 de libros digitales. El servidor 4 está equipado con una computadora electrónica 6 programable apta para ejecutar instrucciones grabadas sobre un soporte de grabación de informaciones. A este efecto, la computadora 6 está conectada a una memoria 8. Esta memoria 8 incluye instrucciones necesarias para ejecutar los procedimientos de las figs. 4 a 6.
La memoria 8 incluye igualmente un libro digital 10 original así como una versión con marca de agua de este libro digital que lleva la referencia numérica 12. Contrariamente al libro digital 12, el libro digital 10 original no incluye parámetro, unido por una función biunívoca a un identificador, codificado en su contenido. En la continuación de esta descripción, los modos de realización están descritos en el caso particular en que la función biunívoca que une el valor del parámetro codificado en el libro digital al del identificador es la función identidad. Así, en los modos de realización detallados a continuación se dice que el identificador está directamente codificado en el libro digital con marca de agua.
Aquí, la memoria 8 incluye igualmente una base de datos 14. La base de datos 14 asocia, para cada libro digital con marca de agua, una huella digital del tipo de letra incorporada en este libro al valor del identificador con marca de agua en este libro. Aquí, el identificador con marca de agua, indicado como Id1, tiene un valor únicamente codificable sobre al menos dos bits de información y, de preferencia, sobre al menos 8 o 10 bits de información. En este modo de realización, el valor del identificador Id1 permite identificar de manera única al comprador del libro digital entre el conjunto de los compradores de este libro acerca del servidor 4.
El sistema 2 incluye igualmente una multitud de terminales que permiten leer sobre una pantalla el libro digital 12. Para simplificar la fig. 1, sólo se ha representado un terminal 20. El terminal 20 está equipado de una pantalla electrónica 22 que permite presentar de manera directamente visible y comprensible por un ser humano el libro digital 12 por ejemplo, la pantalla 22 es una pantalla táctil.
El terminal 20 incluye igualmente una unidad central 24 para mandar y gestionar la presentación del libro digital sobre la pantalla 22. Esta unidad central 24 incluye una computadora electrónica 26 programable apta para ejecutar instrucciones grabadas sobre un soporte de grabación de informaciones. A este efecto, la computadora 26 está conectada a una memoria 28 que contiene las instrucciones necesarias para presentar el libro digital sobre la pantalla 22. Aquí, la memoria 28 incluye igualmente una copia del libro digital 12.
Más precisamente, para presentar el libro digital 12 sobre la pantalla 22, la memoria 28 comprende las instrucciones de un lector 30. El lector 30 es un software capaz de presentar los libros digitales sobre la pantalla 22 independientemente del hecho de que éstos hayan sido o no previamente marcados de agua. Aquí el lector 30 es un software convencional capaz de leer libros en diferentes formatos tal como en uno de los siguientes formatos: e-pub, PDF, ASCM o AZW. Por ejemplo, el lector 30 es uno de los lectores conocidos con los nombres comerciales de « Acrobat Reader® » o «Amazon Kindle® » u otro.
Aquí, la distribución del libro digital 12 entre el servidor 4 y el terminal 20 se hace por medio de una red 34 de transmisión de informaciones. Por ejemplo, la red 34 es la tela de araña mundial más conocida bajo el término inglés de « World Wide Web » o bajo el término de « Internet ».
En este modo de realización, cada libro digital contiene un texto codificado y un tipo de letra para presentar este texto codificado.
Un texto codificado es una sucesión de códigos digitales. Aquí el texto del libro digital 10 es codificado utilizando a este efecto la norma Unicode. Esta norma define en particular cuál es el código asociado a cada carácter. En la continuación de esta descripción y en los dibujos, a falta de indicación en sentido contrario, los valores de los códigos de caracteres están dados en el sistema Hexadecimal.
El tipo de letra asocia un glifo a cada código del texto codificado. A este efecto, incluye tantos pares código-glifo como glifos presentables hay sobre una pantalla utilizando esta tipo de letra. Un par código-glifo está formado por un código del texto codificado y por una referencia a una serie de instrucciones ejecutables por el lector 30 para presentar sobre la pantalla un glifo. Así, cada par código-glifo asocia de manera única un código a un glifo. Las instrucciones pueden incluir una imagen matricial del glifo tal como una foto, o un grupo de ecuaciones que definen de manera vectorial la forma gráfica del glifo.
Para ilustrar diferentes procedimientos para aplicar una marca de agua descritos en la continuación de la descripción, el funcionamiento de estos procedimientos está ilustrado en el caso particularmente simple en que el libro digital 10 incluye un texto 40 (fig. 2), constituido por una sola frase: « Hello world ! lord of worms ! ». El tipo de letra del libro digital 10 es el tipo de letra 42 de la que sólo se ha representado una parte en la fig. 3. Por ejemplo, el tipo de letra 42 es el tipo de letra conocido bajo el nombre de « Arial ».
En la fig. 2, cada glifo del texto 40 está representado en una célula respectiva de una misma línea de una tabla. El texto codificado 44 correspondiente al texto 40 está representado en una línea justo por debajo del texto 40. En esta línea, cada código de un glifo se encuentra en el interior de una célula situada justo por debajo de la célula que contiene este glifo. La sucesión de los códigos en la tabla de la fig. 2 forma el texto codificado 44.
En la fig. 3, sólo los glifos utilizados para presentar el texto 40 están representados en células respectivas de una línea 46 de una tabla. El código asociado por el tipo de letra 42 a cada glifo está contenido en el interior de una célula respectiva situada justo por debajo de la célula que contiene glifo correspondiente. Se trata de las células de una línea 48. En la fig. 3, cada columna forma por tanto un par código-glifo del tipo de letra 42.
La fig. 4 representa un procedimiento para aplicar una marca de agua del identificador Id1 en el libro 10. Este procedimiento va a ser descrito a continuación en el caso particular del libro 10 descrito con referencia a las figs. 2 y 3.
El procedimiento comienza por una etapa 54 de identificación del tipo de letra preexistente utilizada para la presentación del libro 10. El tipo de letra preexistente contiene todos los códigos que se encuentran en el texto codificado 44. Por consiguiente, si fuera necesario, durante esta etapa 54, los glifos y códigos no utilizados en el texto codificado 44 son eliminados del tipo de letra original para obtener el tipo de letra preexistente.
En el caso particular descrito aquí, el tipo de letra preexistente es idéntico al tipo de letra 42 representado en la fig. 3. Por consiguiente, el tipo de letra preexistente está igualmente designado en esta descripción por la referencia numérica 42.
A continuación, durante una etapa 56, la computadora 6 elabora, en función del valor del identificador Id1, un nuevo tipo de letra a partir del tipo de letra preexistente 42. Para cada valor diferente del identificador Id1, el nuevo tipo de letra es diferente. Por consiguiente, el nuevo tipo de letra está asociado por una relación biunívoca al valor del identificador Id1. El nuevo tipo de letra difiere del tipo de letra preexistente por el hecho de que incluye al menos un nuevo par código-glifo diferente de los pares código-glifo existentes en el tipo de letra preexistente. Típicamente, este nuevo par código-glifo se distingue de los pares código-glifo existentes por al menos una de las diferencias siguientes:
• el glifo es un nuevo glifo que no existe en el tipo de letra preexistente, y/o
• el código es un nuevo código que no existe en el tipo de letra preexistente, y/o
• el código está asociado a un glifo diferente existente en el tipo de letra preexistente.
Aquí, el nuevo tipo de letra es elaborado reemplazando en el tipo de letra preexistente pares código-glifo preexistentes por nuevos pares código-glifo o añadiendo a los pares código-glifo preexistentes nuevos pares código-glifos. Los nuevos padres código-glifo permiten presentar caracteres gráficamente idénticos a los caracteres que permiten presentar los pares código-glifo preexistentes. La función que crea el nuevo tipo de letra a partir del tipo de letra preexistente está indicada a continuación por Ed Esta función Ekj es una función configurada. En estos modos de realización, el parámetro es el valor del identificador Id1. La función E^ es una función biunívoca entre el valor del identificador Id1 y el nuevo tipo de letra elaborado.
Durante una etapa 58, la computadora 6 elabora un nuevo texto codificado partir del texto preexistente codificado 44.
Como se ha indicado precedentemente, el nuevo tipo de letra permite la presentación de caracteres gráficamente idénticos a los presentados utilizando el tipo de letra preexistente. Sin embargo, para ello, el nuevo tipo de letra permite utilizar el nuevo par código-glifo. Así, para presentar al menos un carácter gráficamente idéntico al presentado por medio del tipo de letra preexistente, se utilizan uno o varios códigos diferentes de los utilizados con el tipo de letra preexistente 42. Este o estos códigos utilizados del nuevo tipo de letra son llamados los « nuevos códigos ». El o los códigos utilizados del tipo de letra preexistente 42 para presentar los caracteres gráficamente idénticos, son llamados los « códigos antiguos ». Con estas denominaciones, la etapa 58 consiste en reemplazar, en el texto codificado 44, al menos una ocurrencia de los antiguos códigos por nuevos códigos del nuevo tipo de letra. Esta modificación del texto codificado 44 es realizada de manera que el nuevo texto codificado presentado con ayuda del nuevo tipo de letra sea gráficamente idéntico, cuando es presentado sobre una pantalla cualquiera, al texto preexistente presentado con el tipo de letra preexistente sobre la misma pantalla.
Se observará que ya que el nuevo tipo de letra es única para cada valor del identificador Id1, y ya que el nuevo texto codificado es igualmente único para cada valor del identificador Id1, este procedimiento asocia de manera indisociable el nuevo texto y el nuevo tipo de letra. En efecto, no es posible presentar correctamente el nuevo texto en la pantalla utilizando otra tipo de letra que el nuevo tipo de letra.
Eventualmente, durante una etapa 60, la computadora 6 genera una huella digital del nuevo tipo de letra. La huella digital es un condensado del nuevo tipo de letra. Este condensado permite identificar de manera única el nuevo tipo de letra. Típicamente, la huella digital es creada aplicando una función de “hash” (de cálculo de claves de verificación) sobre el nuevo tipo de letra. La huella digital ocupa menos lugar en la memoria que el nuevo tipo de letra completa.
Si la operación 60 de realizada, entonces durante una operación 62, la computadora 6 graba la huella digital generada en la base de datos 14 y la asocia al valor del identificador Id1 que ha sido utilizado para elaborar el nuevo tipo de letra.
Las etapas 60 y 62 están representadas en trazos pues pueden ser omitidas. Por ejemplo, estas etapas son omitidas si es posible encontrar el valor del identificador Id1 a partir del nuevo tipo de letra y del conocimiento de la función Eid y del tipo de letra preexistente. La etapa 60 puede también ser omitida conservando la etapa 62. En este caso, es el nuevo tipo de letra completo el que es grabado en la base 14 asociada al valor del identificador Id1 utilizado para elaborarlo.
Durante una etapa 64, el nuevo libro 12, que contiene el nuevo tipo de letra y el nuevo texto codificado elaborado durante etapas precedentes, es suministrado al terminal 20 a través de la red 34.
Finalmente, durante una etapa 66, el lector 30 presenta sobre la pantalla 22 el texto codificado del libro digital 12. Aquí, el texto codificado presentado del libro digital 12 es idéntico desde un punto de vista gráfico, cuando es presentado sobre la pantalla 22, al del libro digital 10.
Si una copia ilícita del libro digital 12 se encuentra sobre una red para compartir archivos, entonces el comprador que ha puesto a disposición esta copia sobre la red es identificado con ayuda de un procedimiento de descodificación del identificador Id1 codificado por el procedimiento de la fig. 4 en este libro digital. La fig. 5 representa tal procedimiento de descodificación. Durante una etapa 70 la computadora 6 genera la huella digital del tipo de letra de la copia ilícita del libro. Para ello, utiliza el mismo algoritmo que el que se ha empleado durante la etapa 60.
A continuación durante una etapa 72, la computadora 6 busca en la base 14 el valor del identificador Id1 asociado a la huella digital generada. Así, a la salida de la etapa 72, el valor del identificador Id1 codificado en la copia ilícita del libro digital es revelado. Ello permite por tanto identificar al comprador que ha distribuido ilícitamente su copia del libro digital 12.
La fig. 6 representa otro modo de realización del procedimiento de descodificación. Durante una operación 74, la computadora 6 compara el tipo de letra de la copia ilícita del libro con el tipo de letra preexistente para identificar las diferencias. El tipo de letra preexistente es por ejemplo obtenido a partir del libro 10. Luego a partir de estas diferencias y con ayuda del conocimiento de la función EId utilizada, encuentra el valor del identificador Id1. Ejemplos de puesta en práctica de esta etapa 74 son dados más adelante. Cuando el procedimiento de la fig. 6 es puesto en práctica, la base 14 puede ser omitida.
Diferentes métodos para elaborar el nuevo tipo de letra van a ser descritos a continuación con referencia a las figs. 7 a 17.
Un primer método consiste en permutar, con ayuda de una función biunívoca Eid, configurada por el valor del identificador Id1, los diferentes códigos presentes en la línea 48 del tipo de letra preexistente 42. Existe un número muy grande de permutaciones posibles que pueden convenir tales como las permutaciones circulares. Aquí, este modo de realización está ilustrado sobre un ejemplo simplificado en donde la función EId permuta un primer y un segundo códigos del tipo de letra 42 de manera que cree dos nuevos pares código-glifo. Los dos códigos permutados son elegidos en función del valor del identificador Id1. Por ejemplo, una tabla previamente grabada asocia a cada valor posible del identificador Id1 un primer y un segundo códigos a permutar del tipo de letra 42. Por ejemplo, las primeras líneas de esta tabla pueden ser las siguientes:
Figure imgf000007_0001
Así, en el caso particular en que el valor del identificador Idi es igual a « 1 », la función Eid permuta los códigos 48 y 65 del tipo de letra 42 para obtener el nuevo tipo de letra 80 representada en la fig. 7. En este tipo de letra, los códigos de los glifos « H » y « e » han sido permutados.
El nuevo texto codificado elaborado a partir del tipo de letra 80 es el texto codificado 82 representado en la tabla de la fig.
8.
Se observará que si se emplea dicha función EId, no es necesario emplear las etapas 60 y 62 para encontrar el valor del identificador Id1 a partir de una copia del libro digital con marca de agua. En efecto, durante la etapa 74, comparando el tipo de letra 80 con el tipo de letra 42, es posible identificar los códigos que han sido permutados. A continuación, con ayuda de la tabla anterior, es posible encontrar el valor del identificador Id1.
Un segundo método para elaborar un nuevo tipo de letra 86 (fig. 9) consiste en reemplazar uno o varios códigos del tipo de letra preexistente por nuevos códigos y crear así nuevos pares código-glifo. Aquí, el nuevo tipo de letra 86 es elaborado reemplazando el antiguo código asociado al glifo « d » por un nuevo código cuyo valor es función del valor del identificador Id1. Por ejemplo, el valor del nuevo código es tomado igual al valor del identificador Id1 al que se añade el número hexadecimal 0x80. Este nuevo código está rodeado por una línea en negro en la fig. 9. El número 0x80 permiten garantizar que la suma de este número con el valor del identificador Id1 no es nunca igual a otro código del tipo de letra 42, pues en el ejemplo todos los códigos del tipo de letra 42 son inferiores a este número hexadecimal 0x80.
Como para el primer método, la función Em es tal que es posible encontrar el valor del identificador Id1 comparando los tipos de letras 42 y 86, y conociendo la función Em utilizada para elaborar el tipo de letra 86.
La fig. 10 ilustra un nuevo tipo de letra 90 obtenido empleando un tercer método de elaboración de un nuevo tipo de letra. El tercer método consiste en generar un nuevo glifo y añadirlo al tipo de letra preexistente para obtener un nuevo par código-glifo. El nuevo glifo es aquí una concatenación de varios glifos del tipo de letra preexistente 42. Esta concatenación debe aparecer en la pantalla cuando el libro digital 10 es presentado. Por ejemplo, en el tipo de letra 90, el nuevo glifo « lo » es la concatenación de los glifos « l » y « o » del tipo de letra preexistente 42. Un nuevo código, aquí el código « 0x74 », diferente de los códigos existentes del tipo de letra 42 está asociado a este nuevo glifo « lo ». El valor del nuevo código y/o del nuevo glifo está construido en función del valor del identificador Id1. Por ejemplo, los glifos del tipo de letra preexistente 42 a concatenar para crear el nuevo glifo son elegidos en función del valor del identificador Id1. En este caso, el valor del código de este nuevo glifo puede ser independiente del valor del identificador Id1. Otra posibilidad consiste en elegir los glifos a concatenar del tipo de letra 42 independientemente del valor del identificador Id1 y luego en afectar un código al nuevo glifo así construido, función del valor del identificador Id1.
A continuación, durante la etapa 58, para al menos una ocurrencia de la sucesión de los códigos correspondientes a los glifos « l » y « o » en el texto codificado 44, esta sucesión de códigos es reemplazada por el nuevo código « 0x74 » como se ha ilustrado en la tabla de la fig. 11. En esta tabla, la primera línea representa el texto codificado y la segunda línea muestra el glifo asociado a cada código de la célula inmediatamente anterior.
La fig. 12 representa un nuevo tipo de letra 96 elaborada según un cuarto método. Como precedentemente, el cuarto método consiste en añadir nuevos glifos al tipo de letra preexistente 42 para crear nuevos pares código-glifo. El nuevo glifo creado es aquí creado cortando un glifo del tipo de letra 42, aquí el glifo « H » en varios trozos. En el nuevo tipo de letra 96, el glifo « H » ha sido dividido verticalmente en dos glifos simétricos uno del otro con relación a un eje de simetría vertical. Los trozos correspondientes a las partes izquierda y derecha del « H » son asociados, respectivamente a los códigos 0x3A y « 0x4B » en el nuevo tipo de letra 96. El glifo « H » en un solo trozo puede ser suprimido para forzar la utilización de los glifos asociados a los códigos 0x3A y 0x4B.
El valor del identificador es utilizado en este cuarto método para realizar una o varias de las tareas siguientes:
- seleccionar el glifo del tipo de letra preexistente a cortar en varios trozos, y/o
- seleccionar la manera de cortar el glifo del tipo de letra preexistente, y/o
- generar los valores de los códigos asociados en el nuevo tipo de letra 96 a cada trozo del glifo creado.
Un ejemplo de una manera de cortar el glifo configurado por el valor del identificador Id1 es el siguiente: según el valor del identificador Id1, los ejes a lo largo de los cuales es cortada la letra H no son los mismos.
La fig. 13 representa el texto « Hello » codificado con el tipo de letra 96. El texto codificado se encuentra en la línea 98 y los glifos asociados a cada código se encuentran en la línea 100.
El nuevo texto codificado es elaborado reemplazando al menos una ocurrencia del código 48 por la sucesión de códigos 0x3A y 0x4B.
Cuando uno o varios glifos nuevos son añadidos al tipo de letra preexistente, ello permite obtener un nuevo tipo de letra en la que los glifos son redundantes. Por ejemplo, en el tipo de letra 96, el glifo cuyo código es 0x48 es redundante con la sucesión de los glifos de código 0x3A y 0x4B. Esta redundancia puede ser aprovechada para codificar una información complementaria. Típicamente, la información complementaria es diferente del valor del identificador Id1. Por ejemplo, la información complementaria puede ser un identificador del revendedor o del distribuidor del libro digital. Sin embargo, si se desea codificar el valor del identificador Id1 en el mismo libro digital de dos maneras diferentes, la información complementaria puede ser tomada igual al valor del identificador Id1.
Por ejemplo, la primera ocurrencia de un « H » en el texto es reemplazada por los códigos 0x3A y 0x4B únicamente si el primer bit de esta información complementaria es igual a « 1 ». A continuación, la segunda ocurrencia de un « H » en el texto es reemplazada por los códigos 0x3A y 0x4B únicamente si el segundo bit de esta información complementaria es igual a « 1 », y así sucesivamente. Se supone en este ejemplo, que la información complementaria a codificar es diferente de cero de manera que el nuevo texto codificado será diferente del antiguo.
La fig. 14 representa un nuevo tipo de letra 104 elaborada según un quinto método. El quinto método consiste en duplicar un glifo del tipo de letra 42 y asociarlo a un nuevo código para obtener un nuevo par código-glifo. Aquí, el glifo duplicado es el glifo « e ». La elección del glifo duplicado y/o del valor del nuevo código de este glifo duplicado es función del valor del identificador Id1. La redundancia así introducida en el nuevo tipo de letra 104 puede ser aprovechada para codificar, por ejemplo, como se ha descrito anteriormente, una información complementaria.
Los cuartos y quintos distintos métodos han sido utilizados para ilustrar el hecho de que una redundancia en el nuevo tipo de letra podía ser explotada para codificar una información complementaria en el texto codificado. La información complementaria es codificada en el texto codificado pues una modificación del valor de la información complementaria entraña solamente una modificación del texto codificado y no una modificación del nuevo tipo de letra.
Además del identificador Id1, es igualmente posible codificar una información complementaria en los glifos del nuevo tipo de letra. Por ejemplo, se supone que el tipo de letra preexistente es un tipo de letra vectorial en el que cada glifo está definido por ecuaciones de curvas. Típicamente, se trata de curvas de Bézier. En este caso, la información complementaria puede ser codificada modificando las ecuaciones que definen un glifo sin que por tanto esta modificación sea perceptible cuando el glifo es presentado en una pantalla. Por ejemplo, la fig. 15 representa el glifo « W » definido por un juego de ecuaciones en el tipo de letra preexistente 42. La fig. 16 representa el mismo glifo « W » definido por un nuevo conjunto de ecuaciones en el nuevo tipo de letra elaborado según este método. El nuevo conjunto de ecuaciones es idéntico al del tipo de letra preexistente, salvo que incluye una ecuación suplementaria que define un trazo 110 (fig.
16). El trazo 110 es enteramente recibido en el interior del grosor de la letra « W » del tipo de letra 42. Además, el trazo 110 es del mismo color que la letra « W » del tipo de letra 42. Así, en una pantalla, el trazo 110 es imperceptible. Por el contrario, el conjunto de ecuaciones del glifo « W » en el nuevo tipo de letra es diferente del conjunto de ecuaciones que definen este mismo glifo en el tipo de letra preexistente. La presencia o ausencia del trazo 110 es entonces utilizada para codificar una información complementaria. Por ejemplo, la codificación de la información complementaria es realizada utilizando un trazo 110 cuya longitud es diferente para cada valor diferente de la información complementaria a codificar. En este caso la información complementaria es únicamente codificada en los glifos pues una modificación del valor de la información complementaria entraña solamente una modificación de uno o varios glifos del nuevo tipo de letra.
Los diferentes métodos descritos precedentemente para elaborar un nuevo tipo de letra pueden ser combinados entre sí de manera que se obtenga una función Ekj más compleja.
Por ejemplo, los métodos descritos con referencia a las figs. 10 y 12 son combinados para añadir glifos al tipo de letra que son concatenaciones de diferentes trozos de diferentes glifos del tipo de letra preexistente. Por ejemplo, la fig. 17 representa un extracto de un nuevo tipo de letra 114. Este nuevo tipo de letra 114 ha sido elaborado a partir del tipo de letra 42 aplicando sucesivamente el tercer y cuarto métodos. La aplicación del tercer método conduce a crear un glifo intermedio « lo ». A continuación, el cuarto método ha sido aplicado a este glifo intermedio « lo » para escindirlo en dos según un eje horizontal, y obtener así los nuevos glifos respondientes a los códigos 0x74 y 0x75 en el nuevo tipo de letra 114. En la fig. 17, los trozos que faltan para reconstituir el glifo « lo » completo están representados en trazos. En el nuevo texto codificado, los códigos correspondientes a la sucesión de los glifos « l » y « o » son reemplazados por los códigos 0x74 y 0x75.
Son posibles otros numerosos modos de realización. Por ejemplo, el orden de las etapas 56 y 58 puede ser invertido en ciertos modos de realización. Así, la codificación del identificador en el texto original puede ser realizada antes de la elaboración del nuevo tipo de letra. Así, en una variante, se permutas en primer lugar, en función del valor del identificador Id1 , los códigos de los caracteres en el texto codificado 44, luego se realiza la misma permutación en los códigos del tipo de letra 42 para elaborar el nuevo tipo de letra.
Existen numerosos otros modos de realización para elaborar un nuevo tipo de letra y un nuevo texto único en función del valor del identificador Id1. Por ejemplo, en el segundo método de elaboración, el glifo cuyo código es modificado, puede ser seleccionado en función del valor del identificador Id1. Por ejemplo, una parte de los bits del valor del identificador Id1 es utilizada para seleccionar el glifo del tipo de letra preexistente cuyo código va a ser modificado, y otra parte de los bits de este mismo identificador Id1 es utilizada para generar el nuevo código que reemplaza al código antiguo. En otro modo de realización, el valor del nuevo código es independiente del valor del identificador, y sólo el glifo seleccionado es función del valor del identificador Id1.
Son posibles otros métodos de creación de nuevos glifos. Por ejemplo, es posible crear un nuevo glifo que resulta de la concatenación de un glifo completo del tipo de letra preexistente con un trozo solamente de un glifo de esta misma tipo de letra preexistente.
En otra variante, el nuevo glifo creado es función del valor del identificador Id1. Por ejemplo, la función de corte de un glifo del tipo de letra preexistente en varios glifos es configurada con el valor del identificador Id1.
Un nuevo glifo puede igualmente ser creado concatenado varios glifos o partes de glifos del tipo de letra preexistente, pero definido con una codificación vectorial diferente de la codificación vectorial de estos mismos trozos de glifos en el tipo de letra preexistente. Esto no modifica por tanto la presentación de estos trozos de glifo en la pantalla.
Pueden utilizarse otras normas de codificación de caracteres distinta de la norma Unicode. Por ejemplo puede utilizarse la norma ASCII.
El tipo de letra no está necesariamente incorporado en el libro digital. Por ejemplo, el libro digital contiene únicamente el texto codificado y una referencia a un tipo de letra que debe ser instalado sobre el terminal de lectura antes de que el texto pueda ser presentado. En este modo de realización, el tipo de letra y el texto del libro digital con marca de agua no son necesariamente distribuidos al mismo tiempo. Por ejemplo, el tipo de letra elaborado a partir del identificador Id1 es en primer lugar elaborado y luego transmitido al lector. A continuación, cada texto comprado es provisto de una marca de agua con el mismo identificador Id1 del comprador, luego transmitido al lector. Sin embargo, en cada aplicación de marca de agua de un nuevo libro digital para el mismo comprador, no es necesario proceder de nuevo a la elaboración del nuevo tipo de letra ya que este último posee ya una copia de este nueva tipo de letra. En este modo de realización, de preferencia, la etapa 54 es omitida de manera que el tipo de letra transmitido al terminal 20 puede ser utilizado con un número muy grande de libros digitales diferentes.
El identificador Id1 codificado en el libro digital puede tener diferentes utilizaciones. Por ejemplo, puede servir para identificar de manera única al editor del libro digital o para identificar el libro digital en sí mismo. Por ejemplo, el identificador Id1 identifica al distribuidor del libro digital y una información complementaria codificada por este distribuidor identifica al comprador.
El tipo de letra preexistente no es necesariamente el tipo de letra del libro digital original sino solamente el tipo de letra partir de la cual es elaborado el nuevo tipo de letra. Por ejemplo, el procedimiento de aplicación de una marca de agua precedentemente descrito puede ser empleado una primera vez para aplicar una marca de agua en una copia del libro digital original, de un identificador IdR del revendedor. A continuación, cada vez que el revendedor vende el libro digital a un comprador, emplea también el procedimiento de la fig. 4 para aplicar una marca de agua a la copia del libro digital con un identificador Id1 del comprador. Para la aplicación de una marca de agua con ayuda del identificador Id1 el tipo de letra preexistente es el tipo de letra elaborado para el revendedor, y no el tipo de letra de origen.
En una variante, no es el nuevo tipo de letra o la huella digital del nuevo tipo de letra el que está asociado al valor del identificador Id1 en la base de datos 14 sino el nuevo texto o una huella digital de este nuevo texto. En efecto, como el nuevo tipo de letra, el nuevo texto está unido al valor del identificador Id1 por una relación biunívoca. La huella digital grabada en la base de datos 14 puede también ser generada a la vez a partir del nuevo tipo de letra y del nuevo texto.
Cuando el nuevo parque código-glifo del nuevo tipo de letra incluye un nuevo glifo, la huella digital del nuevo tipo de letra puede ser generada construyendo un condensado únicamente a partir del conjunto de los elementos gráficos de los glifos del nuevo tipo de letra sin tener en cuenta los códigos asociados a estos últimos. Al estar cada glifo codificado gráficamente por una serie digital de valores (simple matriz de puntos, o coordenadas vectoriales), este condensado puede ser obtenido por aplicación de una función de “hash” sobre el conjunto de las series digitales de tríadas. La función de “hash” es preferiblemente criptográfica tal MD5 o, como alternativa, es una suma de control tal como CRC64. En este modo de realización, la huella digital asociada al valor del identificador Id1 incluye el valor del condensado obtenido y una eventual clave si la función de “hash” descrita es criptográfica. Ello permite hacer el procedimiento para aplicar una marca de agua aún más robusto frente a modificaciones tales como permutaciones de código entre los glifos que pretenden hacer el reconocimiento del identificador Id1 imposible. Como alternativa, el condensado es una representación codificada de la secuencia de modificaciones empleada para pasar del tipo de letra preexistente al nuevo tipo de letra.
La descodificación del valor del identificador Idi codificado en un libro digital no es necesariamente realizada en una misma máquina que la utilizada para aplicar una marca de agua a este libro.
En otro modo de realización, no es el identificador Id1 el que está directamente codificado en el libro digital sino el valor de un parámetro P1. El valor del parámetro P1 codificado en el libro digital es entonces unido por una función biunívoca diferente de la identidad al valor del identificador Id1. Por ejemplo, cada valor diferente del parámetro P1 está asociado, en una base de datos, a un valor respectivo del identificador Id1. En este caso, es posible construir en primer lugar los nuevos tipos de letras correspondientes a los diferentes valores posibles del parámetro P1 sin conocer en este momento los valores de los identificadores Id1 asociados a cada uno de los valores del parámetro P1. Luego, después de elaboración de los nuevos tipos de letra, asociar cada nuevo tipo de letra al valor de un identificador Id1. Por ejemplo, la base de datos 14 es únicamente construida en este momento.
El método descrito con referencia a las figs. 15 y 16 para codificar una información complementaria en las ecuaciones que definen un glifo puede ser empleado independientemente de los métodos descritos para codificar el identificador Id1 o el parámetro P1.

Claims (11)

  1. REIVINDICACIONES
    1 Un procedimiento para aplicar una marca de agua a libros digitales con parámetros unidos por una función biunívoca a identificadores respectivos, conteniendo el libro digital un texto preexistente codificado en el que cada carácter es codificado por al menos un código y un tipo de letra preexistente o una referencia a un tipo de letra preexistente, incluyendo cada tipo de letra pares código-glifo, asociando cada par código-glifo un código del texto codificado a un glifo utilizado para presentar un carácter, caracterizado por que este procedimiento incluye las etapas:
    - de elaboración (56) para cada parámetro de un nuevo tipo de letra a partir del tipo de letra preexistente, creando al menos un nuevo par código-glifo diferente de los pares código-glifo existentes en el tipo de letra preexistente, distinguiéndose este nuevo par código-glifo de los pares código-glifo existentes por al menos una de las diferencias siguientes:
    • el glifo es un nuevo glifo que no existe en el tipo de letra preexistente, y/o
    • el código es un nuevo código que existe en el tipo de letra preexistente, y/o
    • el código está asociado a un glifo diferente existente en el tipo de letra preexistente.
    siendo el nuevo glifo o el nuevo código o la nueva asociación código-glifo una función del valor del parámetro de manera que el nuevo tipo de letra es diferente para cada valor diferente del identificador,
    - de elaboración (58) de un nuevo texto codificado a partir del texto preexistente codificado reemplazando, en el texto preexistente codificado al menos un código o grupo de códigos del tipo de letra preexistente permitiendo presentar un carácter o una combinación de caracteres del libro digital por el código o grupo de códigos del nuevo tipo de letra que permiten presentar el carácter o la combinación de caracteres gráficamente idénticos sobre una pantalla cualquiera, incluyendo este código o grupo de códigos del nuevo tipo de letra al menos el código del nuevo par código-glifo de manera que el nuevo texto codificado así elaborado es diferente para cada valor diferente del identificador,
    - de suministro (64) como libro digital con marca de agua del nuevo texto codificado y del nuevo tipo de letra o de una referencia al nuevo tipo de letra.
  2. 2. Un procedimiento según la reivindicación 1, en el que la elaboración (56) del nuevo tipo de letra incluye el reemplazamiento de un código asociado a un glifo en el tipo de letra preexistente por otro código diferente para crear un nuevo par código-glifo, siendo el valor del otro código y/o la elección del glifo del tipo de letra preexistente cuyo código es reemplazado función del valor del parámetro.
  3. 3. Un procedimiento según la reivindicación 2, en el que el reemplazamiento de un código del tipo de letra preexistente por otro código para elaborar el nuevo tipo de letra comprende la permutación de varios de los códigos del tipo de letra preexistente de manera que creen los nuevos pares código-glifo que permiten presentar los mismos glifos que el tipo de letra preexistente, siendo la permutación utilizada una función del valor del parámetro.
  4. 4. Un procedimiento según una cualquiera de las reivindicaciones precedentes, en el que la elaboración (56) del nuevo tipo de letra comprende:
    - la creación de un nuevo glifo que es idéntico, cuando es presentado sobre una pantalla cualquiera, a la concatenación de varios glifos del tipo de letra preexistente, y
    - la asociación de un código con este nuevo glifo, siendo el nuevo glifo creado y/o el valor del código de este nuevo glifo una función del valor del parámetro.
  5. 5. Un procedimiento según una cualquiera de las reivindicaciones precedentes, en el que la elaboración (56) del nuevo tipo de letra incluye:
    - la creación de varios nuevos glifos, incluyendo cada uno de estos nuevos glifos al menos un trozo solamente de un mismo glifo del tipo de letra preexistente de manera que la superposición de estos nuevos glifos constituye un glifo idéntico, cuando es presentado sobre una pantalla cualquiera, a este glifo del tipo de letra preexistente,
    - la asociación de un código a cada uno de estos nuevos glifos, siendo el nuevo glifo creado y/o el valor del código de este nuevo glifo una función del valor del parámetro.
  6. 6. Un procedimiento según una cualquiera de las reivindicaciones precedentes, en el que la elaboración del nuevo tipo de letra comprende la creación de un glifo idéntico, cuando es presentado sobre una pantalla cualquiera, a un glifo o una combinación de glifos del tipo de letra preexistente pero definido por una codificación vectorial diferente de la codificación vectorial utilizada para este glifo o esta combinación de glifos en el tipo de letra preexistente, estando el código vectorial diferente unido por una función biunívoca al valor de una información complementaria codificada en el libro digital con marca de agua.
  7. 7. Un procedimiento según una cualquiera de las reivindicaciones precedentes, en el que el procedimiento incluye el registro (62) en una base de datos, del valor del identificador unido por la función biunívoca al valor del parámetro utilizado para elaborar el nuevo tipo de letra, asociado al nuevo tipo de letra o al nuevo texto codificado o a una huella digital del nuevo tipo de letra o a una huella digital del nuevo texto.
  8. 8. Un procedimiento según una cualquiera de las reivindicaciones precedentes, en el que el valor utilizado del parámetro es únicamente codificable en binario sobre varios bits.
  9. 9. Un programa de ordenador o soporte de grabación de informaciones, caracterizado por que incluye instrucciones para la ejecución de un procedimiento según cualquiera de las reivindicaciones precedentes, cuando estas instrucciones son ejecutadas por una computadora electrónica.
  10. 10. Un dispositivo (4) para aplicar una marca de agua a libros digitales con parámetros unidos por una función biunívoca a identificadores respectivos, conteniendo el libro digital un texto preexistente codificado en el que cada carácter es codificado por al menos un código y un tipo de letra preexistente o una referencia a un tipo de letra preexistente, incluyendo cada tipo de letra pares código-glifo, asociando cada par código-glifo un código del texto codificado a un glifo utilizado para presentar un carácter, incluyendo este dispositivo:
    - un soporte de grabación de informaciones, y
    - una computadora electrónica programable, apta para ejecutar instrucciones grabadas sobre el soporte de grabación de informaciones,
    caracterizado por que el soporte de grabación de informaciones incluye instrucciones para la puesta en práctica de un procedimiento según una cualquiera de las reivindicaciones 1 a 8, cuando estas instrucciones son ejecutadas por la computadora electrónica.
  11. 11. Un conjunto de libros digitales con marca de agua (12) obtenido empleando un procedimiento según una cualquiera de las reivindicaciones 1 a 8, siendo apto cada uno de esos libros digitales con marca de agua para presentar un texto, sobre cualquier pantalla, que es gráficamente idéntico al texto presentado por los otros libros digitales de este conjunto cuando este libro es leído por un lector electrónico, conteniendo cada libro digital a este efecto:
    - un texto codificado en el que cada carácter es codificado al menos por un código,
    - un tipo de letra o una referencia a un tipo de letra utilizada para presentar el texto codificado sobre una pantalla, incluyendo cada tipo de letra pares código-glifo, asociando cada par código-glifo un código del texto codificado a un glifo utilizado para presentar un carácter,
    caracterizado por que
    - el tipo de letra de cada libro digital incluye al menos un par código-glifo diferente que se distingue de los pares códigoglifo existentes en las tipo de letra de los otros libros digitales del conjunto por al menos una de las diferencias siguientes:
    • el glifo es un nuevo glifo que no existe en los tipos de letras de los otros libros digitales del conjunto, o
    • el código es un nuevo código que no existe en los tipos de letras de los otros libros digitales del conjunto, o
    • el mismo código está asociado a otros glifos diferentes en los tipo de letras de los otros libros digitales del conjunto,
    - el texto codificado de cada libro digital incluye al menos el código del par código-glifo diferente de su tipo de letra, siendo el texto así codificado diferente de los textos codificados de los otros libros digitales del conjunto.
ES13733283T 2012-07-03 2013-07-01 Procedimiento para aplicar una marca de agua de libros digitales Active ES2706751T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1256354A FR2993074B1 (fr) 2012-07-03 2012-07-03 Procede de tatouage de livres numeriques
PCT/EP2013/063768 WO2014005966A1 (fr) 2012-07-03 2013-07-01 Procede de tatouage de livres numeriques

Publications (1)

Publication Number Publication Date
ES2706751T3 true ES2706751T3 (es) 2019-04-01

Family

ID=47191861

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13733283T Active ES2706751T3 (es) 2012-07-03 2013-07-01 Procedimiento para aplicar una marca de agua de libros digitales

Country Status (8)

Country Link
US (1) US9420143B2 (es)
EP (1) EP2870561B1 (es)
CN (1) CN104428778B (es)
ES (1) ES2706751T3 (es)
FR (1) FR2993074B1 (es)
PL (1) PL2870561T3 (es)
TW (1) TWI557590B (es)
WO (1) WO2014005966A1 (es)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ITMI20121441A1 (it) * 2012-08-24 2014-02-25 Moleskine S P A Taccuino e metodo per digitalizzare appunti
CN104794372B (zh) * 2014-01-20 2018-01-23 周忠信 数字版权印章生成验证系统及其方法
CN107958392A (zh) * 2017-12-05 2018-04-24 广州四三九九信息科技有限公司 游戏充值卡跟踪方法及装置
EP3662637B1 (en) 2019-05-20 2021-05-12 Advanced New Technologies Co., Ltd. Identifying copyrighted material using embedded copyright information
EP3673393B1 (en) * 2019-05-20 2021-09-29 Advanced New Technologies Co., Ltd. Identifying copyrighted material using embedded copyright information
SG11202002616QA (en) 2019-05-20 2020-04-29 Alibaba Group Holding Ltd Identifying copyrighted material using copyright information embedded in electronic files
SG11202002417PA (en) 2019-05-20 2020-04-29 Alibaba Group Holding Ltd Identifying copyrighted material using copyright information embedded in tables
EP3907634B1 (en) 2019-05-20 2022-12-21 Advanced New Technologies Co., Ltd. Copyright protection based on hidden copright information
WO2019144978A2 (en) 2019-05-20 2019-08-01 Alibaba Group Holding Limited Identifying copyrighted material using embedded copyright information
CN110781185B (zh) * 2019-10-14 2024-03-29 上海辰锐信息科技有限公司 一种文本文件内容像素化转换及还原方法
CN112118017B (zh) * 2020-11-18 2021-02-19 北京一起教育科技有限责任公司 一种序列号编码、解码方法、装置及电子设备
CN115690813A (zh) * 2022-11-07 2023-02-03 北京奔图信息技术有限公司 水印信息处理方法、装置、图像形成设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099501A (ja) 1998-09-17 2000-04-07 Internatl Business Mach Corp <Ibm> 文書データへの情報の埋め込み方法およびシステム
US6661417B1 (en) * 2000-08-28 2003-12-09 Dynalab Inc. System and method for converting an outline font into a glyph-based font
WO2002103461A2 (en) * 2001-06-14 2002-12-27 Vidius Inc. A method and a system for embedding textual forensic information
US20040189682A1 (en) * 2001-12-26 2004-09-30 Lidror Troyansky Method and a system for embedding textual forensic information
US20040001606A1 (en) * 2002-06-28 2004-01-01 Levy Kenneth L. Watermark fonts
TW200846925A (en) * 2007-05-24 2008-12-01 hong yuan Wang A method for constructing a digital library based on knowledge elements
US8791788B2 (en) * 2009-08-20 2014-07-29 Cisco Technology Inc. Electronic book security features
CN102096774A (zh) * 2009-12-11 2011-06-15 北大方正集团有限公司 一种公文的加密方法、验证方法及其装置
US8391602B2 (en) * 2010-04-08 2013-03-05 University Of Calcutta Character recognition

Also Published As

Publication number Publication date
EP2870561A1 (fr) 2015-05-13
WO2014005966A1 (fr) 2014-01-09
FR2993074B1 (fr) 2014-08-29
TW201403369A (zh) 2014-01-16
EP2870561B1 (fr) 2018-10-17
US9420143B2 (en) 2016-08-16
CN104428778A (zh) 2015-03-18
PL2870561T3 (pl) 2019-04-30
TWI557590B (zh) 2016-11-11
CN104428778B (zh) 2017-09-15
FR2993074A1 (fr) 2014-01-10
US20150195421A1 (en) 2015-07-09

Similar Documents

Publication Publication Date Title
ES2706751T3 (es) Procedimiento para aplicar una marca de agua de libros digitales
US5920878A (en) Method for hiding a binary encoded message in an electronic document by modulating the case of the characters in a case-insensitive markup language
US7555138B2 (en) Method and apparatus for digital watermarking for the electronic literary macramé
Thabit et al. A comparative analysis of Arabic text steganography
US20200175641A9 (en) Method and apparatus for digital watermarking of three dimensional object
CN103999104A (zh) 跟踪电子出版物中的文档
CN110704813A (zh) 一种基于字符重新编码的文字防盗版系统
Shirali-Shahreza et al. Arabic/Persian text steganography utilizing similar letters with different codes
Stojanov et al. A new property coding in text steganography of Microsoft Word documents
CN107748908A (zh) 一种个性化二维码构造方法
CN117725333A (zh) 用于浏览器网页的文本隐写方法及装置、电子设备
TW201407385A (zh) 於嵌入式設備處理字串的方法
JP2009198816A (ja) 情報隠蔽システム、装置及び方法
JP6078878B2 (ja) 2次元コード
Mudur et al. An architecture for the shaping of Indic texts
CN116910778A (zh) 一种基于图片像素值隐写标记的方法、存储介质
Wang et al. The exultation of another: The American Beat poets as translators
Linear et al. Ancient and Other Scripts
Raaziqiin et al. Digital Media In The Preservation of Javanese Script Typeface Cultural Identity
Mandaic et al. Modern and Liturgical Scripts
JP2024174301A (ja) 非情報領域に意匠データを埋め込んだ2次元コード
Kappenberg Setting signs for Europe: why diacritics matter for European integration
Wilson Preliminary Proposal to Encode the Tocharian Script
de Normalisation ISO/IEC JTC1/SC2/WG2 N4367 2012-10-14
Georgian Modern and Liturgical Scripts