L'accès conditionnel aux données numériques sur moyen de stockage comme les CD-ROM ou les disquettes est un problème important et comprend en particulier le problème de la protection contre le piratage. De nombreuses approches ont déjà été proposées, elles sont basées sur des solutions logicielles ou matérielles. Par exemple, dans le cas des disquettes, une solution matérielle consiste à percer le disque de minuscules trous. Une copie de la disquette est détectée par l'absence de ces trous.
Le cryptage à clés secrètes ou clés publiques fournit une solution logicielle pour crypter des données numériques. Les applications des technologies de cryptage sont par exemple la protection des données personnelles, la vérification de l'intégrité des données ou l'authentification de la source des données.
Une autre technique logicielle dans le domaine de la sécurité est connue sous le nom de filigrane numérique ou tatouage numérique. Il s'agit de techniques permettant de cacher des informations de manière robuste et imperceptible dans des données multimédia telles que la musique, la vidéo, la télévision, les images, les documents, etc. L'information qui est cachée s'appelle la signature. Cette signature peut être par exemple un numéro ou un nom et l'on parle alors d'image signée, de vidéo signée, etc.
"Cacher" comporte un sens bien spécifique dans ce contexte: par exemple dans le cas d'une image, on changera légèrement la couleur de certains pixels, et dans le cas d'une musique on modifiera un peu le son de temps à autre.
"Imperceptible" veut simplement dire que les modifications introduites sont telles que l'on ne peut pas distinguer les données originales des données signées. Par exemple, une image signée doit avoir exactement la même apparence qu'une image normale, une musique signée doit sembler tout à fait normale, de même pour une vidéo ou n'importe quelle autre donnée multimédia. Tout le problème consiste à faire en sorte qu'un ordinateur soit capable de détecter cette information cachée alors qu'elle échappe à nos sens. Il existe aussi des applications ou un filigrane visible est acceptable voire même souhaitable. Cela permet notamment d'augmenter encore la robustesse et de permettre un contrôle visuel de la présence d'un filigrane. Le principe qui demeure est que le filigrane ne doit pas être dérangeant visuellement.
La "robustesse" d'un filigrane signifie que l'on doit pouvoir retrouver la signature après n'importe quelle manipulation de données multimédia signées. Prenons par exemple le cas d'une image signée: on doit pouvoir la comprimer, l'imprimer, la scanner, ou la tourner sans jamais perdre la signature. Il faut cependant noter que dans certaines applications il est parfois souhaitable de limiter la robustesse, cela permet alors de détecter des modifications apportées au média protégé. En effet, une altération ou une copie du média se traduira alors par un échec de la lecture du filigrane numérique.
C'est précisément cette propriété qui est mise en oeuvre dans le présent brevet. Un exemple typique d'application consiste à empêcher la contrefaçon de papiers de valeurs comme les billets de banque.
De nombreuses publications ont été faites sur les différentes techniques permettant de cacher un tatouage dans une image, dans une vidéo ou un signal audio. En ce qui concerne les images, ces dernières peuvent se classer en fonction de la technique utilisée pour le marquage: certaines opèrent des modifications directement dans le domaine spatial [1], d'autres opèrent ces modifications dans un domaine transformé (par exemple le domaine fréquentiel) voire des domaines intermédiaires comme les ondelettes (voir [2]).
Ces techniques peuvent également être utilisées pour le marquage de vidéo, moyennant certaines adaptations. D'autres techniques spécifiquement dédiées au marquage de vidéo sont aussi possibles en définissant de nouveaux domaines transformés comme les sous-bandes 3D ou les vecteurs de mouvements (par exemple, cf. [3] et [4]).
L'invention concerne un procédé permettant de cacher un filigrane numérique en utilisant une technique de surimpression. Les méthodes de tatouage habituelles, qui sont entièrement calculées dans le domaine digital, cachent toujours le filigrane en augmentant ou en diminuant l'intensité des couleurs de certains points.
La technique de surimpression consiste à cacher un filigrane en l'imprimant par-dessus les couleurs propres du matériau et donc sans tenir compte des variations locales des couleurs à la surface de ce matériau. Cette approche impose que les valeurs des composantes de couleur du matériau signé ne peuvent qu'être assombries puisque de l'encre supplémentaire est ajoutée. Mathématiquement, cela correspond donc à une modulation asymétrique de la couleur des points.
La difficulté consiste à retrouver le filigrane asymétrique. D'une manière générale, la majorité des techniques de tatouage peuvent extraire l'information de l'image signée sans utiliser l'image originale. Certaines techniques réalisent d'abord une prédiction de ce qu'était l'image originale à partir de l'image signée et peuvent ensuite en déduire quelle est la signature. Cette technique est encore applicable dans le cas présent mais l'asymétrie de la modulation conduit à un taux d'erreur important qui peut cependant être compensé par une augmentation de la redondance et de l'amplitude de la modulation.
Dans le cas où le matériau possède une couleur initiale uniforme et connue, il est possible de supprimer cette prédiction. C'est en particulier le cas d'une feuille de papier blanc. Cela permet d'augmenter la fiabilité de la détection et donc de diminuer l'intensité, donc la visibilité du filigrane jusqu'à l'extrême limite de sensibilité d'un scanner optique. En conséquence, cela rend très difficile la duplication du matériau signé, par exemple par photocopie: en effet, les pertes propres à tout système de reproduction affaiblissent en général cette signature au-dessous du seuil de détectabilité. Une application consiste à inclure un tel filigrane sur des papiers dont on souhaite éviter la copie, comme des billets de banque par exemple.
Finalement, des informations lisibles peuvent à nouveau être sur-imprimées sur le matériau signé lui-même. Ces informations peuvent être liées au filigrane. Par exemple, les chiffres clés d'un contrat peuvent ainsi être cachés dans le filigrane du papier et permettre ainsi d'en garantir l'intégrité.
L'invention sera mieux comprise grâce à la description détaillée qui va suivre et qui se réfère aux dessins annexés qui sont donnés à titre d'exemple nullement limitatif, à savoir: Fig. 1: Procédé de signature d'un matériau en trois étapes. Fig. 2: Procédé de lecture d'une image uniforme signée en trois étapes. Fig. 3: Procédé de lecture d'une image non-uniforme signée en trois étapes.
La fig. 1 illustre le procédé de création d'une signature. A partir de la signature 101 et de la clé 102, un filigrane est calculé (110), cette image 103 est ensuite seuillée (120) pour donner une image 104 qui est ensuite ajoutée à l'image du matériau 105 lors de l'opération d'impression (130) pour obtenir l'image finale 106.
La fig. 2 illustre le précédé de lecture d'une image contenant une signature. L'image signée 202 obtenue par scanner est soustraite (220) de l'image originale 203 afin de restituer le filigrane 204, le bit constituant la signature est alors calculé (230) en utilisant la clé 205. Optionnellement, une étape supplémentaire de filtrage (210) de l'image signée 201 peut-être réalisée si des informations visibles ont été imprimées par dessus l'image uniforme signée.
La fig. 3 illustre le procédé de lecture d'une image contenant une signature et une image originale. L'image originale est prédite (310) à partir de l'image signée 301, l'image signée 302 est soustraite (320) de l'image prédite afin de restituer le filigrane 303, le bit constituant la signature 305 est alors calculé (330) en utilisant la clé 304.
Une réalisation de l'invention consiste à utiliser comme base un algorithme de filigrane numérique de type spatial à modulation d'amplitude, comme par exemple celui décrit dans [1]. Dans cette technique, une composante de couleur d'un ensemble de pixels c(k) est modifiée d'une valeur v qui dépend du signe du bit b={-1,1} à cacher ainsi que d'un générateur aléatoire a(k) donnant deux valeurs {-1,1}. <tb><TABLE> Columns = 2 <tb><SEP> c(k)' = c(k) + v.b.a(k)<SEP> (1) <tb></TABLE>
Dans l'équation (1), l'ensemble des points défini par v.b.a(k) constitue le filigrane (fig. 1, étape 1) qui est ajouté à l'image originale c(k) pour donner l'image signée c(k)'. C'est cette dernière qui est alors imprimée.
Dans le cas d'un filigrane en surimpression, ce n'est plus l'image c(k)' mais le filigrane lui-même v.b.a(k) qui est imprimé par dessus une image c(k). La composante c du support (bleu, luminance, etc.) a déjà une valeur initiale o(k) et ne peut qu'être augmentée lors de la surimpression. La formule suivante est alors appliquée:
<tb><TABLE> Columns = 2 <tb><SEP> Si b.a(k) > 0 alors c(k)' = o(k) + v.b.a(k) sinon c(k)' = o(k)<SEP> (2) <tb></TABLE>
L'équation (2) est équivalente à seuiller les valeurs du filigrane en ne conservant que les valeurs positives (fig. 1, étape 2) puis à ajouter ces valeurs à l'image à signer (fig. 1, étape 3). Par comparaison avec la formule (1) correspondant à une modulation symétrique de l'amplitude selon le signe de b.a(k), cette technique est qualifiée de "modulation asymétrique d'amplitude". Si le générateur aléatoire a(k) génère le même nombre de valeurs positives et négatives, il en résulte que la moitié des pixels c(k) est modifiée. Si la valeur de v est choisie suffisamment faible et que la finesse d'impression est suffisamment haute (par exemple au-delà de 300 ppi), l'impression de ces points peut être faite de manière invisible.
La nouvelle valeur des points c(k)' peut être mesurée sur la feuille imprimée en utilisant un scanner optique. Deux cas se présentent alors selon que la couleur du matériau est uniforme et connue ou non.
Dans le premier cas, l'information b est alors aisément retrouvée dans la mesure où o(k)=Cste, v et a(k) sont tous connus par avance (fig. 2, étapes 2 et 3). La multiplicité des points modifiés crée une redondance permettant d'assurer la robustesse au bruit de la technique par corrélation statistique.
Cette méthode est généralisable à plusieurs bits b et permet alors de coder n'importe quelle information numérique comme un numéro ou une chaîne de caractères.
Dans le deuxième cas, un filtre de débruitage de type Wiener peut être utilisé pour réaliser une prédiction de o(k) (fig. 3, étape 1 ). Les étapes suivantes sont alors identiques au cas précédent (fig. 3, étape 2 et 3). L'erreur de prédiction étant notablement plus importante que dans le premier cas, le nombre de bits b codés de cette manière est systématiquement inférieur.
Dans la pratique il peut également être utile d'imprimer des informations visibles par-dessus le filigrane numérique. C'est le cas par exemple d'une feuille blanche de papier qui comporte un filigrane numérique et par dessus laquelle est imprimé un texte. Ceci est réalisable en choisissant des couleurs ou des intensités distinctes pour le filigrane et pour les informations visibles. Il est ensuite possible de filtrer l'image avant la détection du filigrane (fig. 2, étape 1) pour différencier le filigrane du texte imprimé. Une méthode consiste par exemple à utiliser la composante bleue pour le filigrane et à imprimer le texte du document en noir.
[1] M. Kutter, F. Jordan, F. Bossen, "Digital watermaking of color images using amplitude modulation", Journal of Electronic Imaging, vol. 7, n DEG 2, pp. 326-332, April 1998.
[2] Shelby Pereira, Sviatoslav Voloshynovskiy and Thierry Pun, Optimized wavelet domain watermark embedding strategy using linear programming, In Harold H. Szu and Martin Vetterli eds., Wavelet Applications VII (part of SPIE AeroSense 2000), Orlando, Florida USA, April 26-28 2000.
[3] Video watermarking using motion vectors (filed 01/97, issued 09/99, US5 960 081)
[4] Video watermarking in the compressed domain (filed 08/96, issued 03/97, EP 762 417A2 .
Conditional access to digital data on storage media such as CD-ROMs or floppy disks is an important problem and includes in particular the problem of protection against piracy. Many approaches have already been proposed, they are based on software or hardware solutions. For example, in the case of floppy disks, a hardware solution is to pierce the disk with tiny holes. A copy of the diskette is detected by the absence of these holes.
Secret key or public key encryption provides a software solution for encrypting digital data. The applications of encryption technologies are for example the protection of personal data, the verification of data integrity or the authentication of the data source.
Another software technique in the security field is known as a digital watermark or digital watermarking. These are techniques for hiding information in a robust and imperceptible way in multimedia data such as music, video, television, images, documents, etc. The information that is hidden is called the signature. This signature can for example be a number or a name and we then speak of a signed image, a signed video, etc.
"Hide" has a very specific meaning in this context: for example in the case of an image, we will slightly change the color of certain pixels, and in the case of music we will slightly modify the sound from time to time.
"Imperceptible" simply means that the changes introduced are such that the original data cannot be distinguished from the signed data. For example, a signed image must have exactly the same appearance as a normal image, a signed music must appear completely normal, the same for a video or any other multimedia data. The whole problem is to make a computer capable of detecting this hidden information when it escapes our senses. There are also applications where a visible watermark is acceptable or even desirable. This allows in particular to further increase the robustness and allow a visual check for the presence of a watermark. The principle that remains is that the watermark should not be visually disturbing.
The "robustness" of a watermark means that one must be able to find the signature after any manipulation of signed multimedia data. Take for example the case of a signed image: we must be able to compress it, print it, scan it, or rotate it without ever losing the signature. It should however be noted that in certain applications it is sometimes desirable to limit the robustness, this then makes it possible to detect modifications made to the protected medium. Indeed, an alteration or a copy of the media will then result in a failure to read the digital watermark.
It is precisely this property which is implemented in the present patent. A typical example of application consists in preventing the counterfeiting of valuables such as banknotes.
Many publications have been made on the various techniques allowing to hide a tattoo in an image, in a video or an audio signal. As regards images, these can be classified according to the technique used for marking: some operate modifications directly in the spatial domain [1], others operate these modifications in a transformed domain (for example the domain frequency) or even intermediate domains such as wavelets (see [2]).
These techniques can also be used for video tagging, with certain adaptations. Other techniques specifically dedicated to video tagging are also possible by defining new transformed domains such as 3D sub-bands or motion vectors (for example, see [3] and [4]).
The invention relates to a method for hiding a digital watermark using an overlay technique. The usual tattoo methods, which are entirely calculated in the digital domain, always hide the watermark by increasing or decreasing the intensity of the colors of certain points.
The technique of overprinting consists in hiding a watermark by printing it over the own colors of the material and therefore without taking into account local variations in the colors on the surface of this material. This approach requires that the values of the color components of the signed material can only be darkened since additional ink is added. Mathematically, this therefore corresponds to an asymmetrical modulation of the color of the points.
The difficulty consists in finding the asymmetrical watermark. Generally, the majority of tattooing techniques can extract information from the signed image without using the original image. Certain techniques first make a prediction of what the original image was from the signed image and can then deduce what the signature is. This technique is still applicable in the present case but the asymmetry of the modulation leads to a significant error rate which can however be compensated by an increase in the redundancy and the amplitude of the modulation.
In the case where the material has a uniform and known initial color, it is possible to suppress this prediction. This is particularly the case with a sheet of white paper. This makes it possible to increase the reliability of the detection and therefore to decrease the intensity, therefore the visibility of the watermark up to the extreme limit of sensitivity of an optical scanner. Consequently, this makes it very difficult to duplicate the signed material, for example by photocopying: in fact, the losses specific to any reproduction system generally weaken this signature below the detectability threshold. One application is to include such a watermark on paper which one wishes to avoid copying, such as banknotes for example.
Finally, legible information can again be overprinted on the signed material itself. This information can be linked to the watermark. For example, the key figures of a contract can thus be hidden in the watermark of the paper and thus make it possible to guarantee its integrity.
The invention will be better understood thanks to the detailed description which follows and which refers to the appended drawings which are given by way of nonlimiting example, namely: FIG. 1: Three-step material signing process. Fig. 2: Process for reading a uniform image signed in three stages. Fig. 3: Process for reading a non-uniform image signed in three stages.
Fig. 1 illustrates the process for creating a signature. From the signature 101 and the key 102, a watermark is calculated (110), this image 103 is then thresholded (120) to give an image 104 which is then added to the image of the material 105 during the operation. print (130) to obtain the final image 106.
Fig. 2 illustrates the process for reading an image containing a signature. The signed image 202 obtained by scanner is subtracted (220) from the original image 203 in order to restore the watermark 204, the bit constituting the signature is then calculated (230) using the key 205. Optionally, an additional filtering step (210) of the signed image 201 can be produced if visible information has been printed over the uniform signed image.
Fig. 3 illustrates the process for reading an image containing a signature and an original image. The original image is predicted (310) from the signed image 301, the signed image 302 is subtracted (320) from the predicted image in order to restore the watermark 303, the bit constituting the signature 305 is then calculated ( 330) using the key 304.
An embodiment of the invention consists in using as a basis a digital watermark algorithm of spatial type with amplitude modulation, such as for example that described in [1]. In this technique, a color component of a set of pixels c (k) is modified by a value v which depends on the sign of the bit b = {- 1,1} to be hidden as well as a random generator a ( k) giving two values {-1,1}. <tb> <TABLE> Columns = 2 <tb> <SEP> c (k) '= c (k) + v.b.a (k) <SEP> (1) <tb> </TABLE>
In equation (1), the set of points defined by vba (k) constitutes the watermark (fig. 1, step 1) which is added to the original image c (k) to give the signed image c ( k). The latter is then printed.
In the case of a superimposed watermark, it is no longer the image c (k) 'but the watermark itself v.b.a (k) which is printed over an image c (k). The component c of the support (blue, luminance, etc.) already has an initial value o (k) and can only be increased during overprinting. The following formula is then applied:
<tb> <TABLE> Columns = 2 <tb> <SEP> If ba (k)> 0 then c (k) '= o (k) + vba (k) otherwise c (k)' = o (k) < SEP> (2) <tb> </TABLE>
Equation (2) is equivalent to thresholding the watermark values by keeping only the positive values (fig. 1, step 2) and then adding these values to the image to be signed (fig. 1, step 3). By comparison with the formula (1) corresponding to a symmetrical modulation of the amplitude according to the sign of b.a (k), this technique is qualified as "asymmetric amplitude modulation". If the random generator a (k) generates the same number of positive and negative values, it follows that half of the pixels c (k) are modified. If the value of v is chosen sufficiently low and the fineness of printing is sufficiently high (for example beyond 300 ppi), the printing of these points can be done invisibly.
The new value of points c (k) 'can be measured on the printed sheet using an optical scanner. Two cases then arise depending on whether the color of the material is uniform and known or not.
In the first case, information b is then easily found insofar as o (k) = Cste, v and a (k) are all known in advance (fig. 2, steps 2 and 3). The multiplicity of the modified points creates a redundancy making it possible to ensure robustness to the noise of the technique by statistical correlation.
This method can be generalized to several bits b and then makes it possible to code any digital information such as a number or a character string.
In the second case, a denoising filter of the Wiener type can be used to make a prediction of o (k) (fig. 3, step 1). The following steps are then identical to the previous case (fig. 3, step 2 and 3). The prediction error being significantly greater than in the first case, the number of bits b coded in this way is systematically lower.
In practice it may also be useful to print visible information over the digital watermark. This is the case, for example, of a white sheet of paper which has a digital watermark and over which a text is printed. This can be done by choosing different colors or intensities for the watermark and for the visible information. It is then possible to filter the image before detecting the watermark (fig. 2, step 1) to differentiate the watermark from the printed text. One method is, for example, to use the blue component for the watermark and print the text of the document in black.
[1] M. Kutter, F. Jordan, F. Bossen, "Digital watermaking of color images using amplitude modulation", Journal of Electronic Imaging, vol. 7, n DEG 2, pp. 326-332, April 1998.
[2] Shelby Pereira, Sviatoslav Voloshynovskiy and Thierry Pun, Optimized wavelet domain watermark embedding strategy using linear programming, In Harold H. Szu and Martin Vetterli eds., Wavelet Applications VII (part of SPIE AeroSense 2000), Orlando, Florida USA, April 26-28 2000.
[3] Video watermarking using motion vectors (filed 01/97, issued 09/99, US5 960 081)
[4] Video watermarking in the compressed domain (filed 08/96, issued 03/97, EP 762 417A2.