FR3100648A1 - Procédé d’insertion d’une information dans une image et dispositif correspondant - Google Patents
Procédé d’insertion d’une information dans une image et dispositif correspondant Download PDFInfo
- Publication number
- FR3100648A1 FR3100648A1 FR1909841A FR1909841A FR3100648A1 FR 3100648 A1 FR3100648 A1 FR 3100648A1 FR 1909841 A FR1909841 A FR 1909841A FR 1909841 A FR1909841 A FR 1909841A FR 3100648 A1 FR3100648 A1 FR 3100648A1
- Authority
- FR
- France
- Prior art keywords
- image
- elements
- information
- columns
- rows
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000037431 insertion Effects 0.000 claims abstract description 16
- 238000003780 insertion Methods 0.000 claims abstract description 14
- 238000000605 extraction Methods 0.000 claims description 10
- 238000012966 insertion method Methods 0.000 claims description 9
- 230000009467 reduction Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 5
- 239000004283 Sodium sorbate Substances 0.000 claims description 4
- 239000004302 potassium sorbate Substances 0.000 claims description 2
- 230000006870 function Effects 0.000 description 21
- 230000008859 change Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000004305 biphenyl Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004306 orthophenyl phenol Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/0028—Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0051—Embedding of the watermark in the spatial domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0061—Embedding of the watermark in each block of the image, e.g. segmented watermarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0065—Extraction of an embedded watermark; Reliable detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2201/00—General purpose image data processing
- G06T2201/005—Image watermarking
- G06T2201/0083—Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
L’invention porte sur un procédé d’insertion d’une information dans une première image comprenant N1 lignes x M1 colonnes d’éléments, N1 et M1 étant des entiers non nuls. Le procédé comprenant les étapes suivantes : Une obtention (E21) à partir de la première image, d’une deuxième image comprenant N0 lignes x M0 colonnes d’éléments, N0 et M0 étant des entiers non-nuls tels que N0≤N1 et M0≤M1, Une génération (E22), à partir de la deuxième image, d’une information initiale comprenant N0 lignes x M0 colonnes d’éléments, Une obtention à partir de l’information initiale générée, d’une information intermédiaire comprenant N4 lignes x M4 colonnes d’éléments, de façon que N4≥N1 et M4≥M1 d’une part, et N4=kx.N0 et M4=ky.M0 d’autre part, N4 et M4 étant des entiers non nuls, kx et ky étant des entiers supérieurs ou égaux à 1, lesdits éléments de l’information intermé-diaire étant organisés en blocs, Une obtention (E23) de ladite information à insérer à partir de l’information intermédiaire, comprenant pour au moins un bloc de l’information intermédiaire, - une génération d’une séquence de symboles représentative d’un bruit, comprenant autant de symboles que d’éléments compris dans ledit bloc, au moins l’un des symboles étant non nul, de façon que le résultat d’une fonction prédéterminée appliquée auxdits symboles soit égal à une valeur choisie, - un ajout de chaque symbole à l’élément correspondant dudit bloc, et Une insertion (E24) de ladite information obtenue dans la première image. Figure pour l’abrégé : figure 2
Description
Domaine technique de l'invention
La présente invention concerne de manière générale le domaine technique du tatouage numérique d’une image ou d’une séquence vidéo.
Elle concerne en particulier un procédé et dispositif d’insertion d’une information (encore appelée tatouage ou marque d’identification) dans une image. Un but de cette technique est par exemple d’identifier l’auteur de l’image tatouée, grâce à l’information insérée.
Etat de la technique
Il a été proposé d’insérer dans une image ou des images d’une séquence vidéo, un tatouage numérique, c’est-à-dire une information imperceptible et donc indétectable, identifiant l’image ou la vidéo en question. Cette information doit pouvoir être retrouvée malgré les transformations que peut subir l’image dans laquelle elle a été insérée. Différentes techniques existent. Celles-ci s’expriment toutes sous la forme d’une fonction traduisant l’addition d’un tatouage W à une image I tel que IW=I+W, IW étant l’image tatouée (voir I. J. Cox, M. L. Miller et J. A. Bloom,Digital watermarking, Sec. 3.3, Communication-based models of watermarking, p. 68, Morgan Kaufman Publishers.)
Pour que le tatouage soit robuste au changement d’échelle comme un agrandissement, il est connu de calculer l’information à insérer dans une dimension fixe et réduite, puis de l’agrandir à la taille de l’image à tatouer. Cette technique est par exemple décrite dans le manuel : I. J. Cox, M. L. Miller et J. A. Bloom,Digital watermarking, Sec. 9.1.6, Preinverting distortions in the embedder, p. 304, Morgan Kaufman Publishers.
Toutefois, l’étape d’agrandissement de cette solution génère des zones d’aplats uniformes dans l’image tatouée, une fois le tatouage inséré, quelle que soit la méthode d’agrandissement utilisée. Ces zones (en particulier les transitions de luminosité entre deux aplats adjacents) sont facilement visibles, ce qui rend le tatouage détectable.
Présentation de l'invention
Dans ce contexte, l’invention propose un procédé d’insertion d’une information dans une première image comprenant N1 lignes x M1 colonnes d’éléments, N1 et M1 étant des entiers non nuls, ledit procédé comprenant les étapes suivantes :
a) une obtention à partir de la première image, d’une deuxième image comprenant N0 lignes x M0 colonnes d’éléments, N0 et M0 étant des entiers non-nuls tels que N0≤N1 et M0≤M1,
b) une génération, à partir de la deuxième image, d’une information initiale comprenant N0 lignes x M0 colonnes d’éléments,
c) une obtention à partir de l’information initiale générée, d’une information intermédiaire comprenant N4 lignes x M4 colonnes d’éléments, de façon que N4≥N1 et M4≥M1 d’une part, et N4=kx.N0 et M4=ky.M0 d’autre part, N4 et M4 étant des entiers non nuls, kx et ky étant des entiers supérieurs ou égaux à 1, lesdits éléments de l’information intermédiaire étant organisés en blocs,
d) une obtention de ladite information à insérer à partir de l’information intermédiaire, comprenant pour au moins un bloc de l’information intermédiaire,
- une génération d’une séquence de symboles représentative d’un bruit, comprenant autant de symboles que d’éléments compris dans ledit bloc, au moins l’un des symboles étant non nul, de façon que le résultat d’une fonction prédéterminée appliquée auxdits symboles soit égal à une valeur choisie,
- un ajout de chaque symbole à l’élément correspondant dudit bloc, et
e) une insertion de ladite information obtenue dans la première image.
L’invention a pour avantage de permettre l’insertion d’une information robuste au changement d’échelle de l’image sans laquelle elle a été insérée, et ne générant pas d’aplat dans l’image tatouée.
Par exemple, le résultat peut être une somme.
Par exemple, la fonction prédéterminée peut être est la médiane.
Par exemple, la fonction prédéterminée peut être la moyenne.
Selon un mode de mise en œuvre, ladite valeur choisie est égale à zéro, kx ou ky étant supérieur ou égal à 2.
Selon un mode de mise en œuvre, si N4>N1 ou si M4>M1, l’obtention de l’information à insérer comprend en outre, suite à l’ajout de chaque symbole à l’élément correspondant dudit bloc, une réduction de la taille de l’information intermédiaire de façon à obtenir respectivement N4=N1 ou M4=M1.
Selon un mode de mise en œuvre, ladite séquence de symboles représentative du bruit comprend p symboles, tel que p1 symboles sont générés aléatoirement ou pseudo-aléatoirement et p2 symboles sont calculés de façon que le résultat de la fonction prédéterminée appliquée aux p symboles, soit égal à ladite valeur choisie, p, p1 et p2 étant des entiers tels que p=p1+p2.
L’invention propose également, selon autre aspect, un procédé d’extraction d’une information formée d’une pluralité éléments comprenant N0 lignes et M0 colonnes, insérée dans une image comprenant N2 lignes x M2 colonnes d’éléments à l’aide du procédé d’insertion selon l’un des modes de mise en œuvre décrits ci-dessus, N0, M0, N2 et M2 étant des entiers non nuls, tels quel N2>N0 et M2>M0, ledit procédé d’insertion comprenant les étapes suivantes :
f) une obtention à partir de ladite image, d’une nouvelle image comprenant N3 lignes et M3 colonnes d’éléments, avec N3≥N2 et M3≥M2 d’une part, et N3=nx.N0 et M3=ny.M0 d’autre part, N3 et M3 étant des entiers positifs non nuls, nx et ny étant des entiers supérieurs à 1, les éléments de ladite nouvelle image étant organisés en blocs,
g) une obtention d’une image réduite à partir de la nouvelle image, l’image réduite comprenant N0 lignes x M0 colonnes d’éléments, chaque élément de l’image réduite étant obtenu à partir des éléments d’un bloc correspondant dans la nouvelle image, et pour chaque élément de l’image réduite à obtenir :
- une détermination de la valeur de l’élément considéré en appliquant ladite fonction prédéterminée aux valeurs des éléments du bloc de la nouvelle image correspondant audit élément, la valeur dudit élément considéré correspondant au résultat de l’application de la fonction, et
h) une extraction de l’information à partir de l’image réduite.
L’invention propose également, selon un autre aspect, un dispositif d’insertion d’une information dans une première image comprenant N1 lignes x M1 colonnes d’éléments, N1 et M1 étant des entiers non nuls, le dispositif étant configuré pour mettre en œuvre les étapes suivantes :
i) une obtention à partir de la première image, d’une deuxième image comprenant N0 lignes x M0 colonnes d’éléments, N0 et M0 étant des entiers non-nuls tels que N0≤N1 et M0≤M1,
j) une génération, à partir de la deuxième image, d’une information initiale comprenant N0 lignes x M0 colonnes d’éléments,
k) une obtention à partir de l’information initiale générée, d’une information intermédiaire comprenant N4 lignes x M4 colonnes d’éléments, de façon que N4≥N1 et M4≥M1 d’une part, et N4=kx.N0 et M4=ky.M0 d’autre part, N4 et M4 étant des entiers non nuls, kx et ky étant des entiers supérieurs ou égaux à 1, lesdits éléments de l’information intermédiaire étant organisés en blocs,
l) une obtention de ladite information à insérer à partir de l’information intermédiaire, comprenant pour au moins un bloc de l’information intermédiaire
- une génération d’une séquence de symboles représentative d’un bruit, comprenant autant de symboles que d’éléments compris dans ledit bloc, au moins l’un des symboles étant non nul, de façon que le résultat d’une fonction prédéterminée appliquée auxdits symboles soit égal à une valeur choisie,
- un ajout de chaque symbole à l’élément correspondant dudit bloc, et
m) une insertion de ladite information obtenue dans la première image.
L’invention propose également, selon un autre aspect, un dispositif d’extraction d’une information formée d’une pluralité éléments comprenant N0 lignes et M0 colonnes, insérée dans une image comprenant N2 lignes x M2 colonnes d’éléments à l’aide du procédé d’insertion selon l’une des revendications 1 à 7, N0, M0, N2 et M2 étant des entiers non nuls, tels quel N2>N0 et M2>M0, le dispositif étant configuré pour mettre en œuvre les étapes suivantes :
n) une obtention à partir de ladite image, d’une nouvelle image comprenant N3 lignes et M3 colonnes d’éléments, avec N3≥N2 et M3≥M2 d’une part, et N3=nx.N0 et M3=ny.M0 d’autre part, N3 et M3 étant des entiers positifs non nuls, nx et ny étant des entiers supérieurs à 1, les éléments de ladite nouvelle image étant organisés en blocs,
o) une obtention d’une image réduite à partir de la nouvelle image, l’image réduite comprenant N0 lignes x M0 colonnes d’éléments, chaque élément de l’image réduite étant obtenu à partir des éléments d’un bloc correspondant dans la nouvelle image, et pour chaque élément de l’image réduite à obtenir :
- une détermination de la valeur de l’élément considéré en appliquant ladite fonction prédéterminée aux valeurs des éléments du bloc de la nouvelle image correspondant audit élément, la valeur dudit élément considéré correspondant au résultat de l’application de la fonction, et
p) une extraction de l’information à partir de l’image réduite.
L’invention propose également selon un autre aspect, un support d’enregistrement lisible par un ordinateur, sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé tel que décrit ci-avant.
Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres.
Description détaillée de l'invention
De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où :
Lafigure 1décrit un exemple d’application d’un mode de mise en œuvre des procédés d’insertion et d’extraction d’information selon l’invention. Une première étape E10 met en œuvre un procédé d’insertion d’une information dans une image. Cette information peut par exemple être une marque permettant de reconnaître l’auteur de l’image à des fins de protection de l’image par le droit d’auteur. En variante, l’information (appelé ci-après « tatouage ») peut être insérée dans une ou plusieurs images d’une séquence vidéo.
Une fois l’information insérée dans l’image, cette dernière peut être transmise lors d’une étape E11 puis réceptionnée par un client à l’étape E12. L’image peut alors être transformée par le client, qui peut opérer par exemple un changement d’échelle, étape E13.
L’information qui a été insérée à l’étape E10 est extraite de l’image transformée, étape E14, puis analysée, par exemple pour identifier l’auteur de l’image, étape E15.
Lafigure 2illustre plus en détail un exemple de mise en œuvre du procédé d’insertion d’une information au sein d’une image, étape E10.
On considère une image I(D1) formées de plusieurs éléments, par exemple des pixels, répartis en N1 lignes et en M1 colonnes, N1 et M1 étant des entiers non nuls représentant les dimensions D1 de l’image I(D1). Ces dimensions peuvent s’exprimer sous forme d’un produit N1 x M1 pixels. Par exemple les dimensions D1 peuvent être égales à 3840 x 2160 pixels.
On obtient à partir de cette image, une autre image I(D0) formés d’éléments répartis en N0 lignes et en M0 colonnes, N0 et M0 étant des entiers non nuls représentant les dimensions D0 de l’image I(D0). Il vient N0≤N1 et/ou M0≤M1, correspondant au format d’image 16/9.
Les dimensions D0 sont prédéterminées, par exemple égales à 640 x 360 pixels, correspondant à la définition dite 360p. De préférence, les dimensions D0 sont choisies de façon que le rapport entre le nombre de lignes et de colonnes corresponde à un format d’image standard tel que le format d’image 16/9. Par exemple, ces dimensions D0 peuvent impliquer un nombre de pixels correspondant à une définition standard SD, soit 480p. Plus généralement, dans le contexte de l’invention décrit ci-dessous, les dimensions D0 sont choisies suffisamment petites de façon que le tatouage reste robuste aux réductions de l’image dans des formats de qualité acceptable du point de vue d’un spectateur, et suffisamment grandes pour que l’énergie du tatouage reste faible comparée à l’énergie de l’image hôte. On rappelle que classiquement, dans le domaine du traitement du signal, l’énergie d’une image correspond à la variance des valeurs des pixels par rapport à une valeur constante.
A partir de cette image I(D0), un tatouage W(D0) (ou information initiale) est généré, étape E22. Le tatouage W(D0) est également formé de pixels répartis en lignes et en colonnes. Des méthodes de calcul d’un tatouage à une taille donnée à partir d’une image ayant cette même taille sont connues de l’homme du métier. Des méthodes de calcul sont décrites par exemple dans le manuelDigital watermarkingmentionné ci-avant. C’est cette information initiale qui sera par la suite extraite afin d’être analysée.
A partir de ce tatouage W(D0), un tatouage agrandi W(D4) est obtenu de façon à avoir N4 lignes et M4 colonnes (dimensions D4), étape 23, selon un mode de mise en œuvre du procédé de l’invention. Il vient N4≥N1 et M4≥M1 d’une part, et N4=kx.N0 et M4=ky.M0 d’autre part, N4 et M4 étant des entiers non nuls, kx et ky étant des entiers supérieurs ou égaux à 1. Cette étape 23 est décrite plus en détail ci-après.
De préférence, les dimensions N4 et M4 sont légèrement supérieures à N1 et M1. Par exemple, si N1=rx.N0 et M1=ry.M0 (rx et ry étant des nombres supérieurs à 1), on peut choisir N4 et M4 tels que N4=(E(rx)+1).N0 et M4=(E(ry)+1).M0, E(.) correspondant à la fonction « partie entière ». Par exemple si D1=3840*2160 pixels, on peut avoir D4=4480 * 2520 pixels.
Si N4>N1 ou M4>M1, l’étape 23 comprend en outre une réduction des dimensions D4 du tatouage W(D4) de façon que N4=N1 et M4=M1.
Finalement, le tatouage agrandi W(D4) est inséré dans l’image I(D1), étape 24, de façon à obtenir l’image tatouée IW(D1). L’insertion du tatouage agrandi W(D4) dans l’image I(D1) se fait par exemple par addition, c’est-à-dire en additionnant les valeurs des pixels du tatouage W(D4) aux valeurs des pixels correspondant dans l’image I(D1). Le tatouage agrandi une fois inséré, se superpose donc à l’image.
L’image I(D1) peut être une image fixe ou l’une des images d’une séquence vidéo, plusieurs images (voire l’ensemble des images) de la séquence vidéo pouvant être tatouées.
En variante, l’image peut être une composante couleur, telle que la luminance ou une composante de chrominance. Chaque composante couleur est formée d’éléments, un élément correspondant à la composante couleur d’un pixel.
Lafigure 3illustre schématiquement les changements de dimensions mis en œuvre au cours des différentes étapes. On considère pour cette figure, à des fins de simplification, que la première image I(D1) est formée de 4*4 pixels. A l’étape E21, la deuxième image I(D0) à la deuxième dimension D0, dont la valeur est égale 2*2 pixels, est obtenu à partir de la première image I(D1).
Le tatouage W(D0) formée de 2*2 pixels est généré à partir de cette image I(D0), étape E22. Puis le tatouage est agrandi aux dimensions D4. Si N4>N1 ou M4>M1, l’étape 23 comprend en outre, comme illustré sur la figure 3, une réduction des dimensions de façon à avoir N4=N1 et M4=M1.
Enfin, le tatouage W(D1) est inséré dans l’image I(D1). On obtient alors l’image tatouée IW(D1) formé de 4*4 pixels, étape 24.
Lafigure 4illustre plus en détail l’étape de redimensionnement du tatouage, E23. Le redimensionnement s’effectue en deux temps. On considère un élément ayant la valeur v appartenant au tatouage à la deuxième dimension W(D0,v), comme illustré sur lefigure 5. En utilisant une méthode d’agrandissement connue par exemple la méthode d’interpolation dite du Plus Proche Voisin ou PPV, avec un facteur d’agrandissement entier sx pour les lignes et sy les colonnes, on obtient un bloc V de sx*sy éléments v, à l’étape E230. Par exemple, à des fins de simplification, on considère ici un facteur d’agrandissement tel que sx=sy=3, de façon que le bloc résultant comprend 3*3 éléments, soit neuf éléments en tout comme illustré sur lafigure 6. On obtient le tatouage agrandi W(D4,V) (information intermédiaire).
Puis pour au moins un bloc V du tatouage agrandi, un bruit b est alors généré avec autant de symboles b[i] que d’éléments dans le bloc V (i étant un entier tel que 1≤i≤(sx*sy)). Au moins l’un de ces symboles b[i] est différent de zéro. Le bruit et en particulier la distribution du bruit, est généré de façon que le résultat d’une fonction prédéterminée appliquée aux symboles b[i] soit égal à une même valeur choisie pour le bloc considéré, quelles que soient les valeurs prises par ces symboles b[i].
Par exemple, les valeurs prises par les symboles peut être comprise entre [-50 ; 50].
Par exemple, la distribution du bruit peut être une distribution gaussienne.
De préférence, ladite valeur résultante est choisie de façon que l’énergie du tatouage agrandi ne dépasse pas un seuil prédéterminé relatif à l’énergie de l’image hôte. Dans la suite de la description, il est considéré sauf indication contraire que cette valeur choisie est nulle.
De préférence, le bruit est ajouté à l’ensemble des blocs du tatouage, de façon que l’image tatouée ait une meilleure qualité visuelle. Les blocs sont alors traités successivement selon un ordre de traitement prédéterminé.
Le bruit peut être produit à l’aide d’un générateur de nombres aléatoires ou pseudo-aléatoires («random or pseudorandom numbers generator » (P)RNG en anglais). Les générateurs pseudo-aléatoires produisent une séquence de bits mélangés qui dépend d’une graine initiale (« seed » en anglais). Celle-ci doit être initialisée avec une valeur différente à chaque utilisation. Cette valeur initiale peut être par exemple l’heure du système utilisé, en millisecondes. Chaque exécution du programme utilisera une graine différente, ce qui produira une séquence aléatoire différente. A l’inverse, la réutilisation de la même graine aboutit à la même séquence de bits pseudo-aléatoire. Les générateurs aléatoires produisent des séquences de bits de façon complètement aléatoire, les bits étant choisis indépendamment et uniformément au hasard. Chaque séquence de bits issue d’une nouvelle génération est donc différente des précédentes.
De préférence, selon un mode de mise en œuvre de l’invention, si la séquence de bruit comporte p symboles (p est un entier supérieur à 1, qui est égale dans cet exemple à sx*sy), seuls p1 symboles avec p1<p (p1 étant un entier inférieur ou égal à 1) sont générés à l’aide du générateur décrit ci-dessus. Les p2 symboles restants (p2 étant un entier inférieur ou égal à 1, avec p2<p) sont déterminés ou calculés de façon que le résultat de la fonction prédéterminée appliquée aux p symboles soit égal à la valeur choisie pour le bloc considéré. Il vient p1+p2=p. Par exemple, si p=9, p1 peut être choisi égal à 7 et p2 égal à 2.
La fonction prédéterminée comprend de préférence une addition, par exemple une moyenne ou une médiane ou encore une variance, cette liste n’étant pas limitative. Dans ce cas, la valeur choisie correspond donc à une somme, résultant de l’addition des symboles b[i].
Si la valeur choisie est égale à zéro, dans ce cas, si la fonction appliquée est la moyenne, alors la moyenne (et donc la somme) des valeurs prises par les composantes du bruit pour le bloc considéré est nulle. La moyenne des composantes du bruit pour toute l’image est par conséquent nulle également.
Les composantes du bruit sont respectivement ajoutées à chaque élément du bloc V de façon à obtenir le tatouage agrandi et bruité W(D4,V,b) tel qu’illustré sur lafigure 7. Si D4=D1, l’information peut être insérée dans l’image à tatouer I(D1). Si D4>D1, l’information doit être réduite avant d’être insérée dans l’image. Les inventeurs ont noté que le fait de passer par des dimensions D4 supérieures à celles de l’image D1, puis de réduire ces dernières avant l’insertion du tatouage, rendait l’impact visuel du tatouage sur l’image tatouée, plus acceptable visuellement car homogène.
D’un bloc à l’autre et d’une image à l’autre, les composantes du bruit peuvent prendre des valeurs différentes. Cela est possible en changeant de générateur de bruit ou la graine initiale comme expliqué ci-avant. Ainsi à partir d’un même tatouage initial aux dimensions D0, il est possible de générer plusieurs tatouages à insérer dans différentes images constituant une séquence vidéo. L’information de tatouage varie donc au cours du temps, les rendant ainsi très difficilement détectable, car ne suivant pas un motif régulier. Par contre, l’énergie du tatouage n’a pas été réduite car les valeurs initiales des éléments n’ont en moyenne pas été altérées.
L’invention porte également sur une image tatouée selon un mode de mise en œuvre décrit ci-avant.
Lafigure 8représente un exemple de rendu pour un tatouage W(D4,V) formé de quatre éléments après agrandissement et le tatouage agrandi obtenu W(D4,V,b), après insertion du bruit de l’étape E231. Dans cet exemple, le bruit généré suit une loi normale. On note que la transition entre les éléments a disparu après l’ajout du bruit, limitant ainsi les apparitions d’aplats adjacents dans l’image tatouée.
Lafigure 9représente un mode de mise en œuvre d’une extraction d’un tatouage d’une image tatouée selon l’invention, étape E14. On considère qu’un changement d’échelle a été réalisé sur l’image tatouée considérée IW(D2,V,b), l’image tatouée dont on doit extraire le tatouage, ayant de nouvelles dimensions D2, soit N2 lignes et M2 colonnes, N2 et M2 étant des entiers positifs non nuls.
A l’étape E201, on cherche à ramener la valeur des dimensions de l’image tatouée IW(D2,V,b) aux valeurs des dimensions D0. En effet, c’est dans ces dimensions que le tatouage peut être extrait.
Si D2<D0, l’image tatouée IW(D2,V,b) est agrandie à la valeur de la deuxième dimension D0, par exemple à l’aide de la méthode d’interpolation dite du Plus Proche Voisin. On obtient alors une image tatouée redimensionnée IW(D0,v,b). Le changement d’échelle qui a été réalisé sur l’image tatouée pour amener ses dimensions à des valeurs inférieures aux dimensions D0 ont fortement dégradés la qualité visuelle de l’image, D0 ayant été de préférence choisi pour correspondre à une définition standard.
Si D2>D0, et N2≠nx.N0 ou M2≠ny.M0, l’image tatouée IW(D2,V,b) est dans un premier temps agrandie à des dimensions D3 (N3 lignes et M3 colonnes, N3 et M3 étant des entiers supérieurs à 1). Ces dimensions ont donc des valeurs supérieures aux valeurs des dimensions D2, et de préférence les plus proches, de façon que N3=nx.N0 et M3=ny.M0 (nx et ny étant des entiers supérieurs à 1). Cet agrandissement peut être par exemple réalisé à l’aide d’un algorithme bilinéaire. Ainsi si les valeurs des nouvelles dimensions sont D2= 960*800 pixels, celles des deuxièmes dimensions D0=640*360 pixels, alors l’image tatouée sera agrandie aux dimensions D3 ayant pour valeurs 1920*1080 pixels.
Si D2>D0 et N2=nx.N0 et N2=ny.M0, la dimension de l’image tatouée IW(D2,V,b) n’est pas agrandie. Les dimensions D3 correspondent aux dimensions D2.
Puis dans un second temps, une fois les dimensions de l’image tatouée ramenées à des multiples des dimensions D0, ces dimensions D3 de l’image tatouées peuvent être réduites aux dimensions D0 à l’aide de la fonction prédéterminée. Cette étape va permettre l’extraction du tatouage aux dimensions D0, dans le but notamment de l’analyser, étape E201. Pour obtenir la valeur du nouvel élément v, la fonction prédéterminée qui a été utilisée lors de l’insertion du tatouage à l’étape E10, est appliquée sur les valeurs des éléments de chaque bloc V de l’image tatouée aux dimensions égales à D3. Par exemple, la fonction prédéterminée peut comprendre une addition de termes, comme la moyenne. La valeur d’un pixel du tatouage après réduction, est dans ce cas une somme moyennée des valeurs des pixels du bloc V correspondant du tatouage aux dimensions D3. Ces valeurs de pixels du bloc V incluent les valeurs des composantes de bruits qui ont été ajoutées lors de l’insertion du tatouage. La somme résultant de la moyenne de ces composantes de bruit va être proche, voire égale, à la valeur choisie, par exemple zéro. Dans ce cas la valeur du pixel du tatouage après réduction est alors proche d’une somme moyennée des valeurs des pixels du bloc V avant l’insertion des composantes du bruit. Elle lui est égale si les transformations subies par l’image tatouée n’ont pas eu d’impact sur les valeurs des composantes de bruit ajoutées à l’étape E10.
Si la valeur choisie à laquelle est égale le résultat de l’application de la fonction prédéterminée aux valeurs des éléments du bloc est non nulle, l’étape E201 peut également comprendre pour chaque bloc traité, une soustraction de ladite valeur choisie à la valeur de l’élément obtenue après la réduction des dimensions. On obtient alors une valeur finale de cet élément v correspondant à une somme moyennée, des valeurs des pixels du bloc V avant l’insertion des composantes du bruit.
L’application de la fonction prédéterminée, pour réduire des dimensions, permet de fortement diminuer (voir d’annuler) le bruit qui avait été ajouté lors de l’insertion du tatouage. On peut alors retrouver au moment l’extraction, le tatouage W(D0), avec pour chacun de ses éléments, des valeurs proches de celles prises à la sortie de l’étape E22. Il est alors possible de l’analyser.
Lorsque tous les blocs de l’image à traiter l’ont été selon un ordre prédéterminé, on obtient une image tatouée à la deuxième dimension D0, le bruit qui avait été ajouté lors de l’insertion du tatouage ayant été fortement diminué par l’application de la fonction prédéterminée lors du passage des dimensions D3 aux dimensions D0.
Il est alors possible d’extraire le tatouage selon une méthode connue décrite par exemple dans le manuelDigital watermarkingmentionné ci-avant, étape E202 puis de l’analyser étape E14.
Lafigure 10illustre une manière particulière, parmi plusieurs possibles, de réaliser un dispositif DIS configuré pour mettre en œuvre un mode de réalisation d’un procédé d’assistance selon l’invention. Le dispositif DIS comprend une mémoire vive, par exemple une mémoire RAM, une unité de traitement µP équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur stocké dans une mémoire morte, par exemple une mémoire ROM ou un disque dur. A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive RAM avant d'être exécutées par le processeur de l'unité de traitement µP.
La figure 10 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le dispositif DIS afin qu’il effectue certaines étapes du procédé selon l’invention. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d’instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le moyen de traitement est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur.
L’invention porte donc également sur le programme d’ordinateur comportant des instructions pour la mise en œuvre du procédé selon l’un des modes de mise en œuvre ci-avant, lorsque ledit programme est exécuté par un processeur.
Il va de soi que les modes de mise en œuvre et de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l’homme de l’art sans pour autant sortir du cadre de l’invention.
Claims (10)
- Procédé d’insertion d’une information dans une première image comprenant N1 lignes x M1 colonnes d’éléments, N1 et M1 étant des entiers non nuls, ledit procédé comprenant les étapes suivantes :
a) une obtention (E21) à partir de la première image, d’une deuxième image comprenant N0 lignes x M0 colonnes d’éléments, N0 et M0 étant des entiers non-nuls tels que N0≤N1 et M0≤M1,
b) une génération (E22), à partir de la deuxième image, d’une information initiale comprenant N0 lignes x M0 colonnes d’éléments,
c) une obtention à partir de l’information initiale générée, d’une information intermédiaire comprenant N4 lignes x M4 colonnes d’éléments, de façon que N4≥N1 et M4≥M1 d’une part, et N4=kx.N0 et M4=ky.M0 d’autre part, N4 et M4 étant des entiers non nuls, kx et ky étant des entiers supérieurs ou égaux à 1, lesdits éléments de l’information intermédiaire étant organisés en blocs,
d) une obtention (E23) de ladite information à insérer à partir de l’information intermédiaire, comprenant pour au moins un bloc de l’information intermédiaire,
- une génération d’une séquence de symboles représentative d’un bruit, comprenant autant de symboles que d’éléments compris dans ledit bloc, au moins l’un des symboles étant non nul, de façon que le résultat d’une fonction prédéterminée appliquée auxdits symboles soit égal à une valeur choisie,
- un ajout de chaque symbole à l’élément correspondant dudit bloc, et
e) une insertion (E24) de ladite information obtenue dans la première image. - Procédé selon la revendication 1, dans lequel la fonction prédéterminée est la médiane.
- Procédé selon la revendication 1, dans lequel la fonction prédéterminée est la moyenne.
- Procédé selon la revendication 1, dans lequel ladite valeur choisie est égale à zéro, kx ou ky étant supérieur ou égal à 2.
- Procédé selon la revendication 1, dans lequel si N4>N1 ou si M4>M1, l’obtention de l’information à insérer comprend en outre, suite à l’ajout de chaque symbole à l’élément correspondant dudit bloc, une réduction de la taille de l’information intermédiaire de façon à obtenir respectivement N4=N1 ou M4=M1.
- Procédé selon la revendication 1, dans lequel ladite séquence de symboles représentative du bruit comprend p symboles, tel que p1 symboles sont générés aléatoirement ou pseudo-aléatoirement et p2 symboles sont calculés de façon que le résultat de la fonction prédéterminée appliquée aux p symboles, soit égal à ladite valeur choisie, p, p1 et p2 étant des entiers tels que p=p1+p2.
- Procédé d’extraction d’une information formée d’une pluralité éléments comprenant N0 lignes et M0 colonnes, insérée dans une image comprenant N2 lignes x M2 colonnes d’éléments à l’aide du procédé d’insertion selon l’une des revendications précédentes, N0, M0, N2 et M2 étant des entiers non nuls, tels quel N2>N0 et M2>M0, ledit procédé d’insertion comprenant les étapes suivantes :
f) une obtention à partir de ladite image, d’une nouvelle image comprenant N3 lignes et M3 colonnes d’éléments, avec N3≥N2 et M3≥M2 d’une part, et N3=nx.N0 et M3=ny.M0 d’autre part, N3 et M3 étant des entiers positifs non nuls, nx et ny étant des entiers supérieurs à 1, les éléments de ladite nouvelle image étant organisés en blocs,
g) une obtention (E201) d’une image réduite à partir de la nouvelle image, l’image réduite comprenant N0 lignes x M0 colonnes d’éléments, chaque élément de l’image réduite étant obtenu à partir des éléments d’un bloc correspondant dans la nouvelle image, et pour chaque élément de l’image réduite à obtenir :
- une détermination de la valeur de l’élément considéré en appliquant ladite fonction prédéterminée aux valeurs des éléments du bloc de la nouvelle image correspondant audit élément, la valeur dudit élément considéré correspondant au résultat de l’application de la fonction, et
h) une extraction (E202) de l’information à partir de l’image réduite. - Dispositif d’insertion d’une information dans une première image comprenant N1 lignes x M1 colonnes d’éléments, N1 et M1 étant des entiers non nuls, le dispositif étant configuré pour mettre en œuvre les étapes suivantes :
i) une obtention à partir de la première image, d’une deuxième image comprenant N0 lignes x M0 colonnes d’éléments, N0 et M0 étant des entiers non-nuls tels que N0≤N1 et M0≤M1,
j) une génération, à partir de la deuxième image, d’une information initiale comprenant N0 lignes x M0 colonnes d’éléments,
k) une obtention à partir de l’information initiale générée, d’une information intermédiaire comprenant N4 lignes x M4 colonnes d’éléments, de façon que N4≥N1 et M4≥M1 d’une part, et N4=kx.N0 et M4=ky.M0 d’autre part, N4 et M4 étant des entiers non nuls, kx et ky étant des entiers supérieurs ou égaux à 1, lesdits éléments de l’information intermédiaire étant organisés en blocs,
l) une obtention de ladite information à insérer à partir de l’information intermédiaire, comprenant pour au moins un bloc de l’information intermédiaire
- une génération d’une séquence de symboles représentative d’un bruit, comprenant autant de symboles que d’éléments compris dans ledit bloc, au moins l’un des symboles étant non nul, de façon que le résultat d’une fonction prédéterminée appliquée auxdits symboles soit égal à une valeur choisie,
- un ajout de chaque symbole à l’élément correspondant dudit bloc, et
m) une insertion de ladite information obtenue dans la première image. - Dispositif d’extraction d’une information formée d’une pluralité éléments comprenant N0 lignes et M0 colonnes, insérée dans une image comprenant N2 lignes x M2 colonnes d’éléments à l’aide du procédé d’insertion selon l’une des revendications 1 à 6, N0, M0, N2 et M2 étant des entiers non nuls, tels quel N2>N0 et M2>M0, le dispositif étant configuré pour mettre en œuvre les étapes suivantes :
n) une obtention à partir de ladite image, d’une nouvelle image comprenant N3 lignes et M3 colonnes d’éléments, avec N3≥N2 et M3≥M2 d’une part, et N3=nx.N0 et M3=ny.M0 d’autre part, N3 et M3 étant des entiers positifs non nuls, nx et ny étant des entiers supérieurs à 1, les éléments de ladite nouvelle image étant organisés en blocs,
o) une obtention d’une image réduite à partir de la nouvelle image, l’image réduite comprenant N0 lignes x M0 colonnes d’éléments, chaque élément de l’image réduite étant obtenu à partir des éléments d’un bloc correspondant dans la nouvelle image, et pour chaque élément de l’image réduite à obtenir :
- une détermination de la valeur de l’élément considéré en appliquant ladite fonction prédéterminée aux valeurs des éléments du bloc de la nouvelle image correspondant audit élément, la valeur dudit élément considéré correspondant au résultat de l’application de la fonction, et
p) une extraction de l’information à partir de l’image réduite. - Support d’enregistrement lisible par un ordinateur, sur lequel est enregistré un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes du procédé selon l’une quelconque des revendications 1 à 7.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1909841A FR3100648B1 (fr) | 2019-09-06 | 2019-09-06 | Procédé d’insertion d’une information dans une image et dispositif correspondant |
US17/639,720 US20220292624A1 (en) | 2019-09-06 | 2020-09-02 | Method for inserting information into an image and corresponding device |
PCT/EP2020/074457 WO2021043817A1 (fr) | 2019-09-06 | 2020-09-02 | Procédé d'insertion d'une information dans une image et dispositif correspondant |
EP20761865.3A EP4026085A1 (fr) | 2019-09-06 | 2020-09-02 | Procédé d'insertion d'une information dans une image et dispositif correspondant |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1909841A FR3100648B1 (fr) | 2019-09-06 | 2019-09-06 | Procédé d’insertion d’une information dans une image et dispositif correspondant |
FR1909841 | 2019-09-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3100648A1 true FR3100648A1 (fr) | 2021-03-12 |
FR3100648B1 FR3100648B1 (fr) | 2021-09-24 |
Family
ID=69104619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1909841A Active FR3100648B1 (fr) | 2019-09-06 | 2019-09-06 | Procédé d’insertion d’une information dans une image et dispositif correspondant |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220292624A1 (fr) |
EP (1) | EP4026085A1 (fr) |
FR (1) | FR3100648B1 (fr) |
WO (1) | WO2021043817A1 (fr) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304966B1 (en) * | 1996-12-25 | 2001-10-16 | International Business Machines Corporation | Data hiding method and system using statistical properties |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100543333B1 (ko) * | 2002-06-04 | 2006-01-23 | 주식회사 마크애니 | 비트블록의 위치정보를 이용하는 워터마크 삽입 및 검출방법 |
CN1778100B (zh) * | 2003-04-22 | 2010-09-22 | 日本冲信息株式会社 | 水印信息嵌入装置及方法、水印信息检测装置及方法 |
-
2019
- 2019-09-06 FR FR1909841A patent/FR3100648B1/fr active Active
-
2020
- 2020-09-02 WO PCT/EP2020/074457 patent/WO2021043817A1/fr unknown
- 2020-09-02 EP EP20761865.3A patent/EP4026085A1/fr active Pending
- 2020-09-02 US US17/639,720 patent/US20220292624A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304966B1 (en) * | 1996-12-25 | 2001-10-16 | International Business Machines Corporation | Data hiding method and system using statistical properties |
Non-Patent Citations (2)
Title |
---|
I. J. COXM. L. MILLERJ. A. BLOOM: "Digital watermarking", MORGAN KAUFMAN PUBLISHERS, article "Communication-based models of watermarking", pages: 304 |
INGEMAR J COX ET AL: "Secure Spread Spectrum Watermarking for Multimedia", IEEE TRANSACTIONS ON IMAGE PROCESSING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 6, no. 12, 1 December 1997 (1997-12-01), XP011026243, ISSN: 1057-7149 * |
Also Published As
Publication number | Publication date |
---|---|
FR3100648B1 (fr) | 2021-09-24 |
WO2021043817A1 (fr) | 2021-03-11 |
EP4026085A1 (fr) | 2022-07-13 |
US20220292624A1 (en) | 2022-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qin et al. | An inpainting-assisted reversible steganographic scheme using a histogram shifting mechanism | |
Hong et al. | Reversible data hiding for high quality images using modification of prediction errors | |
US7006659B2 (en) | Method for embedding and extracting a spatial domain blind watermark using sample expansion | |
Patra et al. | Crt-based fragile self-recovery watermarking scheme for image authentication and recovery | |
Abdullah et al. | Recursive reversible image watermarking using enhancement of difference expansion techniques | |
KR20080022255A (ko) | 히스토그램 변형에 기반한 디지털 리버서블 워터마크의삽입, 검출 및 원본 영상 복원 방법 | |
Xiao et al. | Reversible data hiding using histogram shifting in small blocks | |
EP1330110B1 (fr) | Procédé et système de décodage de tatouage | |
FR3100648A1 (fr) | Procédé d’insertion d’une information dans une image et dispositif correspondant | |
Basu et al. | Implementation of a spatial domain salient region based digital image watermarking scheme | |
WO2005029466A1 (fr) | Filigranage de signaux multimedia | |
Surekha et al. | A semi-blind image watermarking based on discrete wavelet transform and secret sharing | |
FR2834852A1 (fr) | Procede et dispositif de segmentation temporelle d'une sequence video | |
Weng et al. | Reversible data hiding using the companding technique and improved DE method | |
EP2364489B1 (fr) | Procédé et dispositif pour l'enfouissement d'une séquence binaire dans un flux video compressé | |
FR2978274A1 (fr) | Procede de traitement differencie de zones d'une image | |
EP1683104A2 (fr) | Procede et dispositif de tatouage d une marque dans une imag e | |
Chang et al. | A multipurpose wavelet-based image watermarking | |
FR2829343A1 (fr) | Procede d'insertion de messages binaires dans une image numerique | |
Geetha et al. | Multilevel RDH scheme using image interpolation | |
Arabzadeh et al. | Reversible data hiding scheme based on maximum histogram gap of image blocks | |
Tien et al. | Noise reduction approach for LSB matching revisited | |
Lee et al. | Adaptive image inpainting algorithm based on POCS and patch stationarity | |
Tai et al. | Digital image watermarking based on VSS in BTC domain | |
Ganguly et al. | Disjunctive Edge Map based Image Sterilization for Destruction of Steganograms in Spatial Domain |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20210312 |
|
PLFP | Fee payment |
Year of fee payment: 3 |
|
PLFP | Fee payment |
Year of fee payment: 4 |
|
PLFP | Fee payment |
Year of fee payment: 5 |
|
PLFP | Fee payment |
Year of fee payment: 6 |