FR2812502A1 - Insertion et extraction de message dans des donnees numeriques - Google Patents
Insertion et extraction de message dans des donnees numeriques Download PDFInfo
- Publication number
- FR2812502A1 FR2812502A1 FR0009727A FR0009727A FR2812502A1 FR 2812502 A1 FR2812502 A1 FR 2812502A1 FR 0009727 A FR0009727 A FR 0009727A FR 0009727 A FR0009727 A FR 0009727A FR 2812502 A1 FR2812502 A1 FR 2812502A1
- Authority
- FR
- France
- Prior art keywords
- message
- symbol
- pseudo
- length
- extraction
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
-
- 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
- G06T1/0035—Output size adaptive watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/32—Circuits 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/32101—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N1/32144—Display, 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/32149—Methods relating to embedding, encoding, decoding, detection or retrieval operations
- H04N1/32154—Transform domain methods
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits 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/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3225—Display, 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/3233—Display, 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/3236—Details of authentication information generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N2201/00—Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
- H04N2201/32—Circuits 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/3201—Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
- H04N2201/3269—Display, 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
L'invention concerne un proc ed e d'insertion d'un message dans des donn ees num eriques repr esentatives de grandeurs physiques, le message comportant des symboles ordonn es, comportant les etapes de :- segmentation (E2) des donn ees en r egions,- association (E3) d'au moins une r egion à chaque symbole à ins erer,caract eris e en ce qu'il comporte, pour chaque r egion dans laquelle un symbole consid er e est à ins erer, les etapes de :- d etermination (E7) d'une fonction pseudo-al eatoire, à partir d'une cl e qui d epend :- d'une cl e initiale, et- de la longueur du message,- modulation (E8) du symbole consid er e par la fonction pseudo-al eatoire pr ec edemment d etermin ee pour fournir une s equence pseudo-al eatoire,- addition (E10) de la s equence pseudo-al eatoire à la r egion consid er ee.
Description
La présente invention concerne un procédé d'insertion d'une information
supplémentaire telle qu'une marque secrète dans un signal numérique. Elle concerne également un procédé d'extraction d'une marque
secrète insérée dans un signal numérique.
Corrélativement, la présente invention concerne un dispositif d'insertion d'une information supplémentaire et un dispositif d'extraction de l'information supplémentaire, adaptés respectivement à mettre en oeuvre les
procédés d'insertion et d'extraction conformes à l'invention.
Le signal numérique considéré dans la suite sera plus
particulièrement un signal d'image numérique.
Les procédés d'insertion et extraction conformes à l'invention s'inscrivent dans le domaine technique du marquage (watermarking en anglais) des données numériques qui peut s'interpréter comme l'insertion d'un sceau dans les données numériques, permettant par exemple d'authentifier le contenu d'un fichier de données numériques. Ce marquage est également
appelé tatouage numérique.
Des méthodes de marquage sont connues, par exemple d'après le document de F. Hartung et B. Girod, Université de Erlangen-Nuremberg, " Watermarking of uncompressed and compressed video ", Signal Processing
66 (1998), pp283-301, ou encore d'après le document US 5 915 027.
2 2812502
Cependant, aucun de ces documents ne mentionne la possibilité d'insérer un message dont la taille est inconnue lors de l'extraction de ce message. La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un procédé et un dispositif d'insertion de message dans des données numériques qui permettent d'insérer un message
dont la taille est inconnue lors de l'extraction ultérieure de ce message.
A cette fin, l'invention propose un procédé d'insertion d'un message dans des données numériques représentatives de grandeurs physiques, le message comportant des symboles ordonnés, comportant les étapes de: - segmentation des données en régions, - association d'au moins une région à chaque symbole à insérer, caractérisé en ce qu'il comporte, pour chaque région dans laquelle un symbole considéré est à insérer, les étapes de: détermination d'une fonction pseudo-aléatoire, à partir d'une clé qui dépend: - d'une clé initiale, et - de la longueur du message, - modulation du symbole considéré par la fonction pseudo-aléatoire précédemment déterminée pour fournir une séquence pseudo-aléatoire,
- addition de la séquence pseudo-aléatoire à la région considérée.
Corrélativement, I'invention propose un dispositif d'insertion d'un message dans des données numériques représentatives de grandeurs physiques, le message comportant des symboles ordonnés, comportant: - des moyens de segmentation des données en régions, - des moyens d'association d'au moins une région à chaque symbole à insérer, caractérisé en ce qu'il comporte, pour chaque région dans laquelle un symbole est à insérer:
3 2812502
- des moyens de détermination d'une fonction pseudo-aléatoire, pour chaque région dans laquelle un symbole considéré est à insérer, à partir d'une clé qui dépend: - d'une clé initiale, et - de la longueur du message, des moyens de modulation du symbole considéré par la fonction pseudo-aléatoire précédemment déterminée pour fournir une séquence pseudoaléatoire, - des moyens d'addition de la séquence pseudo-aléatoire à la région
considérée.
Le procédé et le dispositif selon l'invention permettent d'insérer une information supplémentaire, ou message, dont la longueur, exprimée en
nombre de symboles, n'est pas connue lors de l'extraction ultérieure.
En outre, le procédé et le dispositif selon l'invention permettent d'insérer une information supplémentaire dont la longueur est arbitraire, tout en
restant inférieure au nombre de régions formées.
Selon une caractéristique préférée, la dépendance de la clé vis à vis de la longueur du message est assurée par la dépendance de la clé vis à vis: - du nombre de fois o le symbole à insérer a déjà été inséré dans d'autres régions, et
- du rang du symbole parmi les symboles ordonnés.
Ainsi, la mise en oeuvre de l'invention demeure simple et ne
nécessite pas de calculs complexes.
Selon une caractéristique préférée, le procédé comporte une étape préalable de transformation des données numériques par une transformation réversible. En effet, I'invention s'applique aussi bien a des données
" originales ", telles qu'une image, qu'à des données transformées.
L'invention concerne aussi un procédé d'extraction d'un message dans des données numériques représentatives de grandeurs physiques, le message comportant des symboles ordonnés, comportant les étapes de:
4 2812502
- segmentation des données en régions, - extraction de la longueur du message inséré,
- extraction du message inséré.
Le procédé d'extraction permet de retrouver le message qui a été inséré selon l'invention. Selon une caractéristique préférée, I'extraction de la longueur du message inséré comporte les étapes de: - sélection d'un ensemble de valeurs de longueur, et - calcul d'une corrélation entre le message et les données numériques, pour chacune de ces valeurs,
- détermination d'un maximum local parmi les valeurs de corrélation.
La longueur du message est extraite de manière fiable.
Selon une autre caractéristique préférée, I'extraction de la longueur du message inséré est effectuée en traitant F fois moins de coefficients que
n'en comportent les données numériques. Les calculs sont ainsi accélérés.
Dans ce cas, le procédé comporte les étapes de: - détermination du nombre total de coefficients à considérer, - sélection d'un nombre maximum de coefficients correspondant à un même symbole inséré, puis, si le nombre total de coefficients à considérer n'est pas atteint,
- réitération de l'étape de sélection, pour un autre symbole.
La corrélation est alors plus efficace, car elle est effectuée sur un
nombre réduit de symboles. La détection est ainsi améliorée.
L'invention concerne un dispositif d'extraction mettant en oeuvre les caractéristiques précédentes. Le procédé et le dispositif d'extraction présentent
des avantages analogues à ceux qui ont été présentés plus haut.
L'invention concerne aussi un appareil numérique incluant le dispositif d'insertion ou d'extraction, ou des moyens de mise en oeuvre du procédé d'insertion ou d'extraction. Cet appareil numérique est par exemple un appareil photographique numérique, un caméscope numérique, un scanner,
2812502
une imprimante, un photocopieur, un télécopieur. Les avantages du dispositif et
de l'appareil numérique sont identiques à ceux précédemment exposés.
Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé d'insertion ou d'extraction. Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels: - la figure 1 représente un dispositif d'insertion d'un message dans des données numériques selon l'invention, - la figure 2 représente un dispositif de détection de message inséré dans des données numériques selon l'invention, - la figure 3 représente un dispositif mettant en oeuvre l'invention, - la figure 4 représente un procédé d'insertion d'un message dans des données numériques selon l'invention, - la figure 5 représente un procédé de détection de message inséré dans des données numériques selon l'invention, - les figures 6a, 6b, 7a et 7b représentent différents modes de réalisation de procédé de détection de taille de message inséré dans des données numériques, inclus dans le procédé de la figure 5, - la figure 8 représente un procédé d'accélération de calculs, inclus dans le procédé de la figure 7, - la figure 9a représente un premier mode de réalisation de procédé de détermination de message, inclus dans le procédé de la figure 5, - la figure 9b représente un second mode de réalisation de procédé de détermination de message, inclus dans le procédé de la figure 5, - les figures 10 et 11 représentent des exemples d'attribution de clé
selon l'invention.
On va décrire tout d'abord un mode de réalisation d'un dispositif d'insertion d'une information supplémentaire dans des données numériques en
6 2812502
référence à la figure 1. Ce dispositif est intégré dans un dispositif de traitement de données TD1, tel qu'un ordinateur, un appareil photographique numérique,
un scanner, par exemple.
Une source 1 de données non codées comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non codées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu. La source 1 peut également être intégrée ou non à
I'appareil numérique.
On considérera plus particulièrement dans la suite que les données à coder sont une suite d'échantillons numériques représentant une image numérique IM. Une image originale IM peut être représentée par une série de pixels codés par exemple sur 8 bits ou octet. L'image IM noir et blanc peut ainsi être décomposée dans le domaine spatial en un ensemble de coefficients sur 256 niveaux de gris, chaque valeur de coefficient représentant un pixel de l'image I. La source de signal 1 est reliée à un circuit 2 de transformation réversible. Cette transformation est par exemple une transformation en ondelettes de l'image ou encore une transformation en cosinus discrète, dite DCT, par blocs. La transformation réalise une décomposition de l'image numérique, et fournit un ensemble de coefficients. Si cette transformation est une transformation en ondelettes, ces coefficients portent une information spatio-temporelle. Si cette transformation est une transformation DCT par blocs, les coefficients sont des coefficients spectraux. Cette transformation n'est pas essentielle pour l'invention qui peut être mise en oeuvre sur les
coefficients spatiaux d'une image.
Le circuit 2 est relié à un circuit de segmentation 3 qui segmente
l'image en blocs, ou régions, de taille prédéterminée.
Un message M à insérer est mémorisé dans une mémoire 4.
Chaque symbole du message M est inséré dans au moins un bloc formé dans
l'image, par un circuit d'insertion 5.
Pour insérer un symbole, un générateur de clé 6 génère une clé en fonction d'une clé initiale Kinit et de la Iongueur L du message à insérer. La clé générée est transmise à un générateur pseudo-aléatoire 7 qui génère une
séquence pseudo-aléatoire.
La séquence pseudo-aléatoire est transmise à un circuit de modulation 8 qui reçoit également le symbole courant à insérer. Le circuit 8 module le symbole avec la séquence pseudo-aléatoire, ce qui produit une seconde séquence pseudo-aléatoire. Cette séquence est modifiée en amplitude de manière à assurer l'invisibilité du message inséré puis est fournie au circuit d'insertion 5, qui reçoit les blocs formés par le circuit de segmentation 3. La modification d'amplitude de chaque coefficient de la séquence pseudo-aléatoire dépend d'un modèle psycho-visuel. Le modèle psycho-visuel
dépend du mode de transformation utilisé.
Par exemple, le modèle psycho-visuel est spatial et attribue une modification maximale à chaque pixel de l'image. Chaque pixel de l'image est ainsi pondéré de façon à atteindre cette amplitude maximale. La modification maximale attribuée à chaque pixel augmente en fonction du degré d'activité du
voisinage du pixel considéré. Le degré d'activité est une mesure de la texture.
Ainsi, un pixel situé dans une zone fortement texturée de l'image sera plus
modifié qu'un pixel situé dans une zone homogène.
Le circuit 5 additionne la séquence pseudo-aléatoire fournie par le circuit 8 au bloc courant, en fonction de l'association entre chaque symbole à
insérer et au moins un bloc. Le circuit 5 fournit un bloc marqué.
Des moyens 9 utilisateurs de données codées sont reliés en sortie
du circuit d'insertion 5.
8 2812502
Les moyens utilisateurs 9 comportent par exemple des moyens de mémorisation de données codées, et/ou des moyens de transmission des
données codées.
Un dispositif de détection d'information supplémentaire, correspondant au dispositif d'insertion précédent, est représenté à la figure 2. Ce dispositif de détection d'une information supplémentaire dans des données est intégré dans un dispositif de traitement de données TD2, tel qu'un ordinateur, un appareil photographique numérique, un télécopieur, par
exemple.
Le dispositif de détection comporte une source 20 de données dans
lesquelles un message a été inséré.
Une sortie de la source 20 est reliée à un circuit 21 de transformation
réversible, identique au circuit 2 du dispositif TD1 précédemment décrit.
Une sortie du circuit 21 est reliée à un circuit 22 de détection de la taille du message inséré. Le fonctionnement de ce circuit sera décrit dans la suite. Une sortie du circuit 22 est reliée à un circuit 23 d'extraction du
message inséré. Le fonctionnement de ce circuit sera décrit dans la suite.
Le message détecté est ensuite fourni à un circuit d'exploitation 24,
qui comporte par exemple un écran permettant de lire le message.
Le fonctionnement du dispositif de détection sera détaillé dans la suite. Comme représenté à la figure 3, un dispositif mettant en oeuvre l'invention est par exemple un micro-ordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et
fournissant des informations à traiter selon l'invention.
Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des données numériques à traiter ou inversement à transmettre des données traitées par le dispositif. Le dispositif comporte également un moyen de stockage 108 tel que par exemple un
9 2812502
disque dur. Il comporte aussi un lecteur 109 de disque 110. Ce disque 110 peut être une disquette, un CD-ROM, ou un DVD-ROM, par exemple. Le disque 110 comme le disque 108 peuvent contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention, pourra être stocké en mémoire morte 102 (appelée ROM sur le dessin). En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication
113.
Le dispositif 10 est relié à un microphone 111. Les données à traiter
selon l'invention seront dans ce cas du signal audio.
Ce même dispositif possède un écran 104 permettant de visualiser les données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout
autre moyen (souris par exemple).
L'unité centrale 100 (appelée CPU sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 102, sont transférés dans la mémoire vive RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en
oeuvre le procédé de codage, de transmission et respectivement de décodage.
Le bus de communication 101 permet la communication entre les différents éléments inclus dans le micro-ordinateur 10 ou reliés à lui. La représentation du bus 101 n'est pas limitative et notamment l'unité centrale 100
2812502
est susceptible de communiquer des instructions à tout élément du micro-
ordinateur 10 directement ou par l'intermédiaire d'un autre élément du micro-
ordinateur 10.
Le fonctionnement des dispositifs d'insertion de marquage et de détection de marquage selon l'invention va maintenant être décrit au moyen d'algorithmes. L'algorithme de la figure 4 représente le fonctionnement général du
dispositif d'insertion selon l'invention et comporte des étapes E1 à E15.
Cet algorithme peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une
disquette ou un CD-ROM (disque compact à mémoire figée).
L'étape E1 est une transformation réversible des données, par exemple une transformation en ondelettes de l'image, pour transformer les coefficients spatiaux en d'autres coefficients dont les propriétés statistiques permettent une meilleure extraction ultérieure du message inséré. Cette étape
est facultative.
L'étape suivante E2 est la segmentation des données en régions, par exemple en blocs adjacents. Le nombre et/ou la taille des régions peuvent
être prédéterminés ou réglables par un utilisateur.
Le message M à insérer comporte L symboles, o L est un entier.
Chaque symbole M,, avec l'entier i variant de 1 à L est associé à au moins une région à l'étape suivante E3. Une région donnée est associée à un unique symbole à insérer. Pour l'association des symboles aux régions, ces dernières
sont parcourues selon un ordre prédéterminé.
L'étape suivante E4 est une initialisation pour considérer le premier symbole M1 à insérer, ainsi que la première région dans laquelle ce symbole
est à insérer.
il 2812502 A l'étape suivante E5 une variable Cl représentant le rang du symbole courant est mise à la valeur 1 et une variable C2 est mise à la valeur 0. La variable C2 représente le nombre de fois o le symbole courant a déjà été inséré. Les variables Cl et C2 sont liées à la longueur du message M. L'étape suivante E6 est la génération d'une clé K en fonction d'une clé initiale Kinit et des variables Cl et C2. Deux exemples sont détaillés dans la suite.
L'étape suivante E7 est la génération d'une séquence pseudo-
aléatoire en fonction de la clé K précédemment générée.
L'étape suivante E8 est la modulation du symbole Mi par la séquence pseudo-aléatoire précédemment générée, ce qui a pour résultat une
seconde séquence pseudo-aléatoire.
L'étape suivante E9 est une pondération psycho-visuelle de la
seconde séquence pseudo-aléatoire pour assurer son invisibilité dans l'image.
La séquence pseudo-aléatoire ainsi modifiée est alors additionnée à
la région courante à l'étape suivante El0.
L'étape suivante El est un test pour déterminer si la région courante est la dernière pour le symbole courant. Si la réponse est négative, cela signifie qu'il reste au moins une région dans laquelle le symbole courant doit être inséré. L'étape El1 est alors suivie de l'étape E12. A l'étape E12, est considérée la région suivante dans laquelle le symbole Mi est à insérer, et la
variable C2 est incrémentée de une unité.
L'étape E12 est suivie de l'étape E6 précédemment décrite.
Lorsque la réponse est positive à l'étape El 1, cela signifie que le
symbole courant a été inséré dans toutes les régions qui lui sont associées.
L'étape Ell est alors suivie de l'étape E13 qui est un test pour déterminer si le symbole courant est le dernier symbole à insérer. Si la réponse est négative, cela signifie qu'il reste au moins un symbole à insérer, et cette étape est suivie de l'étape E14 à laquelle le paramètre i est incrémenté de une unité pour considérer le symbole suivant Mi+,1 et la première région qui lui est associée.
12 2812502
L'étape E14 est suivie de l'étape E5 précédemment décrite.
Lorsque la réponse est positive à l'étape E13, cela signifie que tous les symboles ont été insérés dans l'image. L'étape E13 est alors suivie de l'étape E15 à laquelle une transformation inverse est effectuée sur les données traitées. La transformation inverse correspond à la transformation de l'étape E1 et a pour but de fournir les coefficients spatiaux d'une image dans laquelle le message M a été inséré. Bien entendu, si la transformation de l'étape E1 n'a pas été effectuée, la transformation inverse de l'étape E15 ne l'est pas non plus. L'algorithme de la figure 5 représente le fonctionnement général du
dispositif d'extraction selon l'invention et comporte des étapes E20 à E22.
Cet algorithme peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une
disquette ou un CD-ROM (disque compact à mémoire figée).
L'étape E20 est une transformation réversible des données dans
lesquelles un message a été inséré, pour transformer les coefficients spatiaux.
Cette étape n'est effectuée que si l'insertion a été préalablement effectuée dans des données transformées. La transformation est ici identique à celle
utilisée lors de l'insertion du message.
L'étape suivante E21 est la détection de la taille du message inséré.
Cette étape sera détaillée dans la suite.
L'étape suivante E22 est l'extraction du message proprement dit.
Cette étape est détaillée dans la suite.
Un premier mode de réalisation de détection de la taille du message inséré est maintenant détaillée en référence à la figure 6a, et comporte des
étapes E210 à E223.
Dans ce mode de réalisation, le message inséré est composé de
symboles qui sont des bits.
13 2812502
13_ L'étape E210 est une segmentation des données dans lesquelles le message a été préalablement inséré. Cette étape est identique à l'étape E2 (insertion). L'étape suivante E211 est une hypothèse sur la valeur de la longueur L du message que l'on cherche à extraire. La longueur L peut prendre des valeurs entre un et une valeur maximale Lmax, qui est fixée a priori ou qui dépend de la taille de l'image. Toutes ces valeurs seront successivement considérées. L'étape suivante E212 permet de réaliser un bouclage sur tous les symboles M1 à M, du message. Pour chaque boucle, un symbole courant Mi est considéré. L'étape suivante E213 est la sélection des régions correspondant au symbole courant Mi. Le mécanisme d'attribution d'une région à un symbole est
identique à celui utilisé à l'étape E3 (insertion).
L'étape suivante E214 est la détermination des variables Cl et C2 pour le symbole courant et pour chacune des régions sélectionnées à l'étape précédente. Comme précédemment, la variable Cl représente le rang du symbole courant, et a donc une valeur unique pour toutes les régions sélectionnées. La variable C2 représente, pour chaque région, le nombre de
fois o le symbole courant a déjà été inséré.
L'étape suivante E215 est une génération de clés, pour le symbole courant et pour chaque région sélectionnée à l'étape E213. La génération de clé est identique à celle de l'étape E6 (insertion), et utilise notamment la clé
initiale Kinit.
L'étape suivante E216 est la génération de séquences pseudo-
aléatoire en fonction de chacune des clés K précédemment générées.
L'étape suivante E217 est le calcul de la corrélation entre les séquences pseudo-aléatoires générées à l'étape précédente et les régions
sélectionnées à l'étape E213.
L'étape suivante E218 calcule la valeur absolue de la corrélation
calculée pour le bit courant et pour toutes les régions qui lui sont associées.
14 2812502
Si l'hypothèse (étape E211) sur la taille du message est fausse, alors la valeur calculée à l'étape E218 demeure faible. En revanche, si l'hypothèse sur la taille du message est vraie, alors la valeur calculée à l'étape
E218 est élevée.
L'étape suivante E219 est la sommation de la valeur absolue de la corrélation calculée pour le symbole courant avec les valeurs absolues des corrélations précédemment calculées pour les autres symboles, pour la
longueur de message considérée.
Pour une longueur donnée de message, les étapes E212 à E219
sont répétées pour tous les symboles du message.
Les étapes E211 à E219 sont répétées pour toutes les longueurs de
message à considérer.
Chaque somme calculée à l'étape E219 (c'est-à-dire pour chaque longueur de message à tester) est mémorisée dans un tableau à l'étape suivante E220. Lorsque toutes les longueurs de message ont été traitées, le tableau est complètement rempli et il faut déterminer le maximum local parmi
les valeurs de ce tableau.
Pour cela, un filtrage passe-haut est effectué sur le tableau à l'étape E221. Par exemple, le filtrage passe-haut calcule l'écart entre la valeur de la " case " courante du tableau et la moyenne de ses voisins. Le filtre passe-haut
correspondant est le filtre (-0.5, 1, -0.5).
Le résultat du filtrage est écrit dans un second tableau à l'étape E222. L'étape suivante E223 est la détection de la valeur maximale contenue dans le second tableau. Cette valeur maximale correspond à une longueur, qui est la taille du message inséré. La technique qui est utilisée ici est la détection de maximum local, qui permet d'extraire efficacement la taille des messages de faible longueur lorsque la gamme des tailles de message
possibles est très large, par exemple de un jusqu'à plusieurs milliers de bits.
Un second mode de réalisation de détection de la taille du message inséré est maintenant détaillé en référence à la figure 6b, et comporte des
; 2812502
étapes E210 à E223 et E230. Les étapes E210 à E223 sont analogues à celles
précédemment décrites (figure 6a).
Dans ce mode de réalisation, le message inséré est composé de symboles qui ne sont pas des bits, mais appartiennent à un dictionnaire de S signes, avec S un entier supérieur à deux. L'étape E230 est ajoutée entre les étapes E216 et E217 et les étapes E217 et E218 sont modifiées. Pour l'ensemble des régions correspondant à un même symbole inconnu, il fautdéterminer quel est le symbole le plus probable. Pour cela, les séquences pseudo-aléatoires générées à l'étape E216 modulent chacun des S symboles possibles à l'étape E230. La corrélation entre les S séquences résultantes et les régions
sélectionnées est ensuite calculée à l'étape E217.
A l'étape E218, la valeur maximale parmi les S valeurs de corrélation est conservée. Cette valeur est ajoutée aux autres valeurs de corrélation
correspondant aux autres symboles à l'étape E219.
La figure 7a représente une première variante de réalisation de détection de la taille du message inséré, dans le cas o le message est composé de bits. Ce mode de réalisation est représenté sous la forme d'un
algorithme qui comporte des étapes E310 à E324.
Les étapes E310 à E323 sont respectivement analogues aux étapes
E210 à E223.
L'étape supplémentaire E324 permet d'accélérer les calculs lors de l'extraction de la longueur du message. Un facteur d'accélération F permet de sélectionner F fois moins de pixels à l'étape E313 que lorsque le facteur vaut un.
En conséquence, l'étape E316 de génération de séquences pseudo-
aléatoires génère F fois moins de valeurs. L'étape E317 de corrélation traite F fois moins de valeurs. Il est à noter cependant que les pixels sont sélectionnés d'une manière spécifique, qui sera détaillée en référence à la figure 8, pour que
la phase de détection de la longueur du message soit optimale.
16 2812502
La figure 7b représente une seconde variante de réalisation de détection de la taille du message inséré, dans le cas o le message est composé de symboles qui ne sont pas des bits. Ce mode de réalisation est représenté sous la forme d'un algorithme qui comporte des étapes E310 à
E330.
Les étapes E310 à E324 sont respectivement analogues aux étapes
précédemment décrites.
L'étape E330 est ajoutée entre les étapes E316 et E317 et les étapes E317 et E318 sont modifiées. Pour l'ensemble des régions correspondant à un même symbole inconnu, il faut déterminer quel est le symbole le plus probable. Pour cela, les séquences pseudo-aléatoires générées à l'étape E316 modulent chacun des S symboles possibles à l'étape E330. La corrélation entre les S séquences résultantes et les régions
sélectionnées est ensuite calculée à l'étape E317.
A l'étape E318, la valeur maximale parmi les S valeurs de corrélation est conservée. Cette valeur est ajoutée aux autres valeurs de corrélation
correspondant aux autres symboles à l'étape E319.
La figure 8 illustre l'accélération des calculs, sous la forme d'un
algorithme comportant des étapes E30 à E39.
Le principe de l'accélération est de choisir un nombre de coefficients dans les données dans lesquelles un message a été inséré, puis de considérer
le maximum de coefficients relativement au minimum de symboles recherchés.
En d'autres termes, on choisit des coefficients correspondant à un même symbole inséré, tant que cela est possible, puis on boucle sur les symboles,
tant que le nombre de coefficients choisi au départ n'est pas atteint.
Ainsi, la corrélation qui est effectuée ultérieurement est plus efficace
et la détection des symboles est améliorée.
A partir des données dans lesquelles un message a été inséré, le nombre K de coefficients, ici de pixels, de ces données est déterminé à l'étape E30.
17 2812502
Le facteur d'accélération F est déterminé à l'étape E31, par exemple en le lisant dans une zone mémoire prédéterminée, et le nombre C de pixels à utiliser est déterminé à l'étape E32 par la formule: C = Ent[K/F], o Ent[...] dénote la partie entière. Le nombre C sera ensuite décrémenté à chaque fois que des pixels sont sélectionnés. A partir des données segmentées (E310) une boucle est parcourue pour chaque symbole du message de longueur L. Cette boucle commence à l'étape E33 qui est une initialisation pour
considérer le premier symbole M1.
L'étape suivante E34 est la sélection des régions correspondant au
symbole courant Mi. L'ensemble de ces régions comporte Li coefficients.
L'étape suivante E35 est un test pour comparer la taille Li et le
nombre C de pixels à utiliser.
Si la taille Li est inférieure au nombre C, alors cette étape est suivie de l'étape E36 à laquelle tous les pixels des régions considérées sont
sélectionnés et le nombre C vaut alors C-Li.
Si la taille Li est supérieure au nombre C, alors cette étape est suivie de l'étape E37 à laquelle les C premiers pixels sont sélectionnés dans les
régions considérées et le nombre C est mis à la valeur zéro.
Les étapes E36 et E37 sont suivies de l'étape E38 qui est un test pour déterminer si le nombre C est nul. Si la réponse est positive, alors la sélection des pixels est terminée. Si la réponse est négative, alors l'étape E38
est suivie de l'étape E39 pour considérer un symbole suivant dans le message.
L'étape E39 est suivie de l'étape E34 précédemment décrite.
La figure 9a illustre un premier mode de réalisation d'extraction du message proprement dit (étape E22), dans l'algorithme de la figure 5. Ce mode
de réalisation correspond au cas o les symboles du message sont des bits.
L'extraction est représentée sous la forme d'un algorithme
comportant des étapes E40 à E49.
L'étape E40 est une lecture en mémoire de la longueur L du
message inséré. Cette longueur a été précédemment déterminée (étape E21).
18 2812502
L'étape suivante E41 est une initialisation d'une boucle pour
considérer successivement tous les symboles du message.
Pour chaque symbole, l'étape E42 est une sélection des régions
correspondant au symbole courant Mi.
L'étape suivante E43 est la détermination des valeurs des variables C1 et C2 respectivement pour chacune des régions précédemment sélectionnées. Les variables C1 et C2 sont déterminées comme précédemment exposé. L'étape suivante E44 est le calcul de la clé correspondant à chacun
des couples de valeurs (Cl, C2).
L'étape suivante E45 est le calcul de la séquence pseudo-aléatoire
correspondant à chacune des clés précédemment calculées.
* L'étape suivante E46 est le calcul, pour chaque séquence pseudo-
aléatoire précédemment calculée, de la corrélation entre la séquence pseudo-
aléatoire et la région qui lui correspond.
L'étape suivante E47 est l'addition de toutes les valeurs de corrélation correspondant au symbole courant. Le signe de la somme est alors déterminé. L'étape suivante E48 est une décision sur la valeur du symbole recherché. Si le signe précédemment déterminé est positif, alors le symbole est
le bit un, et sinon, le symbole est le bit zéro.
La valeur du bit est ensuite mémorisée à l'étape suivante E49.
Lorsque tous les bits ont été déterminés, le message inséré est
entièrement déterminé.
La figure 9b illustre un second mode de réalisation d'extraction du message proprement dit (étape E22), dans l'algorithme de la figure 5. Ce mode de réalisation correspond au cas o les symboles du message ne sont pas des bits mais appartiennent à un dictionnaire de S signes, avec S un entier
supérieur à deux.
Ce mode de réalisation est représenté sous la forme d'un algorithme
qui comporte des étapes E40 à E50.
19 Z NU
19 2812502
Les étapes E40 à E47 et E49 sont respectivement analogues aux étapes portant les mêmes références et précédemment décrites. L'étape E48
est supprimée.
L'étape E50 est ajoutée entre les étapes E45 et E46 et les étapes E46 et E47 sont modifiées. Pour extraire un symbole inconnu, on considère l'ensemble des régions correspondant à ce symbole inconnu. Il faut alors déterminer quel est le symbole le plus probable parmi les S symboles possibles. Pour cela, les séquences pseudo-aléatoires générées à l'étape E45
modulent chacun des S symboles possibles à l'étape E50.
La corrélation entre les S séquences résultantes et les régions
sélectionnées est ensuite calculée à l'étape E46.
A l'étape E47, la valeur maximale parmi les S valeurs de corrélation indique la valeur du symbole courant. Cette valeur est mémorisée à l'étape
suivante E49.
La figure 10 est un premier exemple d'attribution de clé selon l'invention. Ces clés servent de germes pour la génération des séquences pseudo-aléatoires. L'image a été découpée en huit régions rectangulaires R0 à R7. Le message à insérer comporte trois symboles So, S. et S2. A
chaque région est attribué un symbole de message.
Une clé est attribuée à chaque région. Cette clé dépend de l'indice du symbole enfoui dans la région considérée, et du nombre de fois o ce
symbole a déjà été inséré précédemment.
Pour une région quelconque, on a la relation K = Kinit + N.C2 + C1
O N est un entier valant Lmax + 1.
On rappelle que Lmax est la valeur maximale que peut prendre la
longueur du message.
La figure 11 est un second exemple d'attribution de clé selon I'invention. Ces clés servent de germes pour la génération des séquences
2812502
pseudo-aléatoires. L'image a été découpée en huit régions rectangulaires Ro à R7. Le message à insérer comporte trois symboles S0, S. et S2. A
chaque région est attribué un symbole de message.
Une clé est attribuée à chaque région. Cette clé dépend de l'indice du symbole enfoui dans la région considérée, et du nombre de fois o ce
symbole a déjà été inséré précédemment.
Pour une région quelconque, on a la relation
K = Kinit + C2.
Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire,
toute variante à la portée de l'homme du métier.
21 2812502
Claims (18)
1. Procédé d'insertion d'un message dans des données numériques représentatives de grandeurs physiques, le message comportant des symboles ordonnés, comportant les étapes de: - segmentation (E2) des données en régions, - association (E3) d'au moins une région à chaque symbole à insérer, caractérisé en ce qu'il comporte, pour chaque région dans laquelle un symbole considéré est à insérer, les étapes de: détermination (E7) d'une fonction pseudo-aléatoire, à partir d'une clé qui dépend: - d'une clé initiale, et - de la longueur du message,
- modulation (E8) du symbole considéré par la fonction pseudo-
aléatoire précédemment déterminée pour fournir une séquence pseudo-
aléatoire, - addition (ElO) de la séquence pseudo-aléatoire à la région considérée.
2. Procédé d'insertion selon la revendication 1, caractérisé en ce que la dépendance de la clé vis à vis de la longueur du message est assurée par la dépendance de la clé vis à vis: - du nombre de fois o le symbole à insérer a déjà été inséré dans d'autres régions, et
- du rang du symbole parmi les symboles ordonnés.
3. Procédé d'insertion selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étape préalable (El) de transformation des données
numériques par une transformation réversible.
22 2812502
4. Procédé d'extraction d'un message dans des données numériques représentatives de grandeurs physiques, le message comportant des symboles ordonnés, comportant les étapes de: - segmentation (E210) des données en régions, - extraction (E21) de la longueur du message inséré,
- extraction (E22) du message inséré.
5. Procédé d'extraction selon la revendication 4, caractérisé en ce que l'extraction de la longueur du message inséré comporte les étapes de: sélection (E211) d'un ensemble de valeurs de longueur, et - calcul ((E217) d'une corrélation entre le message et les données numériques, pour chacune de ces valeurs, - détermination (E223) d'un maximum local parmi les valeurs de corrélation.
6. Procédé d'extraction selon la revendication 4 ou 5, caractérisé en ce que l'extraction de la longueur du message inséré est effectuée en traitant F
fois moins de coefficients que n'en comportent les données numériques.
7. Procédé d'extraction selon la revendication 6, caractérisé en ce qu'il comporte les étapes de: - détermination (E22) du nombre total de coefficients (C) à considérer, - sélection (E26, E27) d'un nombre maximum de coefficients correspondant à un même symbole inséré, puis, si le nombre total de coefficients à considérer n'est pas atteint,
- réitération (E29) de l'étape de sélection, pour un autre symbole.
8. Dispositif d'insertion d'un message dans des données numériques représentatives de grandeurs physiques, le message comportant des symboles ordonnés, comportant: - des moyens (3) de segmentation des données en régions, - des moyens (5) d'association d'au moins une région à chaque symbole à insérer,
23 2812502
caractérisé en ce qu'il comporte, pour chaque région dans laquelle un symbole est à insérer: - des moyens (7) de détermination d'une fonction pseudo-aléatoire, pour chaque région dans laquelle un symbole considéré est à insérer, à partir d'une clé qui dépend: - d'une clé initiale, et de la longueur du message, - des moyens (8) de modulation du symbole considéré par la fonction pseudo-aléatoire précédemment déterminée pour fournir une séquence pseudo-aléatoire, - des moyens (5) d'addition de la séquence pseudo-aléatoire à la
région considérée.
9. Dispositif d'insertion selon la revendication 8, caractérisé en ce que les moyens (7) de détermination d'une fonction pseudo-aléatoire sont adaptés de sorte que la dépendance de la clé vis à vis de la longueur du message est assurée par la dépendance de la clé vis à vis: - du nombre de fois o le symbole à insérer a déjà été inséré dans d'autres régions, et
- du rang du symbole parmi les symboles ordonnés.
10. Dispositif d'insertion selon la revendication 8 ou 9, caractérisé en ce qu'il comporte des moyens (2) de transformation préalable des données
numériques par une transformation réversible.
11. Dispositif d'extraction d'un message dans des données numériques représentatives de grandeurs physiques, le message comportant des symboles ordonnés, comportant: - des moyens de segmentation des données en régions, - des moyens (22) d'extraction de la longueur du message inséré,
- des moyens (23) d'extraction du message inséré.
24 2812502
12. Dispositif d'extraction selon la revendication 11, caractérisé en ce que les moyens (22) d'extraction de la longueur du message inséré comportent: - des moyens de sélection d'un ensemble de valeurs de longueur, et - des moyens de calcul d'une corrélation entre le message et les données numériques, pour chacune de ces valeurs, - des moyens de détermination d'un maximum local parmi les
valeurs de corrélation.
13. Dispositif d'extraction selon la revendication 11 ou 12, caractérisé en ce que les moyens d'extraction de la longueur du message inséré sont adaptés à effectuer l'extraction en traitant F fois moins de
coefficients que n'en comportent les données numériques.
14. Dispositif d'extraction selon la revendication 13, caractérisé en ce qu'il comporte: - des moyens de détermination du nombre total de coefficients (C) à considérer, - des moyens de sélection d'un nombre maximum de coefficients correspondant à un même symbole inséré, puis, si le nombre total de coefficients à considérer n'est pas atteint, - des moyens de réitération de l'étape de sélection, pour un autre symbole.
15. Dispositif d'insertion selon l'une quelconque des revendications 8
à 10, caractérisé en ce que les moyens de segmentation, association, détermination, modulation et addition sont incorporés dans - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à
enregistrer des variables modifiées au cours de l'exécution dudit programme.
; 2812502
16. Dispositif d'extraction selon l'une quelconque des revendications
11 à 14, caractérisé en ce que les moyens de segmentation et extraction sont incorporés dans: - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à
enregistrer des variables modifiées au cours de l'exécution dudit programme.
17. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en ceuvre le procédé selon
l'une quelconque des revendications 1 à 7.
18. Appareil de traitement (10) d'une image numérique, caractérisé
en ce qu'il comporte le dispositif selon l'une quelconque des revendications 8 à
16.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0009727A FR2812502B1 (fr) | 2000-07-25 | 2000-07-25 | Insertion et extraction de message dans des donnees numeriques |
US09/910,929 US7478241B2 (en) | 2000-07-25 | 2001-07-24 | Message insertion and extraction in digital data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0009727A FR2812502B1 (fr) | 2000-07-25 | 2000-07-25 | Insertion et extraction de message dans des donnees numeriques |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2812502A1 true FR2812502A1 (fr) | 2002-02-01 |
FR2812502B1 FR2812502B1 (fr) | 2002-12-20 |
Family
ID=8852883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0009727A Expired - Fee Related FR2812502B1 (fr) | 2000-07-25 | 2000-07-25 | Insertion et extraction de message dans des donnees numeriques |
Country Status (2)
Country | Link |
---|---|
US (1) | US7478241B2 (fr) |
FR (1) | FR2812502B1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7228502B2 (en) | 2002-01-16 | 2007-06-05 | Canon Kabushiki Kaisha | Method and device for temporal segmentation of a video sequence |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002039714A2 (fr) * | 2000-11-08 | 2002-05-16 | Digimarc Corporation | Authentification et recuperation de contenu a l'aide de filigranes numeriques |
WO2003055130A1 (fr) * | 2001-12-13 | 2003-07-03 | Digimarc Corporation | Filigrane numerique reversible |
US7515730B2 (en) | 2001-12-13 | 2009-04-07 | Digimarc Corporation | Progressive image quality control using watermarking |
US7187780B2 (en) * | 2001-12-13 | 2007-03-06 | Digimarc Corporation | Image processing methods using reversible watermarking |
FR2848703B1 (fr) * | 2002-12-17 | 2005-03-04 | Canon Kk | Insertion et extraction d'un message dans une image |
JP4197307B2 (ja) * | 2004-03-30 | 2008-12-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 電子透かし検出装置、その検出方法及びプログラム |
FR2897741B1 (fr) * | 2006-02-17 | 2008-11-07 | Canon Kk | Procede et dispositif de generation de donnees representatives d'un degre d'importance de blocs de donnees et procede et dispositif de transmission d'une sequence video encodee |
FR2908585B1 (fr) | 2006-11-15 | 2008-12-26 | Canon Kk | Procede et dispositif de transmission de donnees video. |
FR2910211A1 (fr) * | 2006-12-19 | 2008-06-20 | Canon Kk | Procedes et dispositifs pour re-synchroniser un flux video endommage. |
FR2915342A1 (fr) * | 2007-04-20 | 2008-10-24 | Canon Kk | Procede et dispositif de codage video |
WO2009027094A1 (fr) * | 2007-08-31 | 2009-03-05 | Canon Kabushiki Kaisha | Projection par compenstion de mouvement de résidus de prédiction pour dissimulation d'erreur |
FR2920632A1 (fr) * | 2007-08-31 | 2009-03-06 | Canon Kk | Procede et dispositif de decodage de sequences video avec masquage d'erreurs |
FR2929787B1 (fr) | 2008-04-04 | 2010-12-17 | Canon Kk | Procede et dispositif de traitement d'un flux de donnees |
FR2930387B1 (fr) * | 2008-04-17 | 2010-09-24 | Canon Kk | Procede de traitement d'un flux de donnees codes |
FR2988245B1 (fr) * | 2012-03-15 | 2014-04-11 | Commissariat Energie Atomique | Methode d'identification et de detection d'un signal radio pour systeme de communication opportuniste |
US10057250B2 (en) * | 2013-05-14 | 2018-08-21 | Kara Partners Llc | Technologies for enhancing computer security |
US9454653B1 (en) * | 2014-05-14 | 2016-09-27 | Brian Penny | Technologies for enhancing computer security |
US10594687B2 (en) | 2013-05-14 | 2020-03-17 | Kara Partners Llc | Technologies for enhancing computer security |
US12028333B2 (en) | 2013-05-14 | 2024-07-02 | Kara Partners Llc | Systems and methods for variable-length encoding and decoding for enhancing computer systems |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0840513A2 (fr) * | 1996-11-05 | 1998-05-06 | Nec Corporation | Formation de filigranes dans des données numériques |
EP0891071A2 (fr) * | 1997-07-09 | 1999-01-13 | Matsushita Electric Industrial Co., Ltd. | Dispositif et procédé d'insertion de données de filigrane et dispositif et procédé pour la détection de données de filigrane |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5303236A (en) * | 1988-08-26 | 1994-04-12 | Hitachi, Ltd. | Signalling apparatus for use in an ATM switching system |
US5293590A (en) * | 1992-04-06 | 1994-03-08 | International Business Machines Corp. | Personal computer with interface controller |
US5727092A (en) * | 1995-05-17 | 1998-03-10 | The Regents Of The University Of California | Compression embedding |
US5613004A (en) * | 1995-06-07 | 1997-03-18 | The Dice Company | Steganographic method and device |
US5889868A (en) * | 1996-07-02 | 1999-03-30 | The Dice Company | Optimization methods for the insertion, protection, and detection of digital watermarks in digitized data |
US6185312B1 (en) * | 1997-01-28 | 2001-02-06 | Nippon Telegraph And Telephone Corporation | Method for embedding and reading watermark-information in digital form, and apparatus thereof |
JP3686741B2 (ja) * | 1997-02-19 | 2005-08-24 | 富士通株式会社 | 画像データへの識別情報埋め込み方法,識別情報が埋め込まれた画像データからの識別情報抽出方法,画像データへの識別情報埋め込み装置,識別情報が埋め込まれた画像データからの識別情報抽出装置,及びコンピュータ可読媒体 |
EP0913965A1 (fr) * | 1997-11-03 | 1999-05-06 | Canon Kabushiki Kaisha | Réduction du trafic de messages dans un réseau distribué |
US6360000B1 (en) * | 1998-11-09 | 2002-03-19 | David C. Collier | Method and apparatus for watermark detection for specific scales and arbitrary shifts |
US6442283B1 (en) * | 1999-01-11 | 2002-08-27 | Digimarc Corporation | Multimedia data embedding |
EP1022895A3 (fr) * | 1999-01-22 | 2001-04-04 | Matsushita Electric Industrial Co., Ltd. | Appareil et procédé pour imbriquer et extraire de données digitales, et support sur lequel le programme pour exécuter le procédé est enregistré |
JP2001275115A (ja) * | 2000-03-23 | 2001-10-05 | Nec Corp | 電子すかしデータ挿入装置および検出装置 |
-
2000
- 2000-07-25 FR FR0009727A patent/FR2812502B1/fr not_active Expired - Fee Related
-
2001
- 2001-07-24 US US09/910,929 patent/US7478241B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0840513A2 (fr) * | 1996-11-05 | 1998-05-06 | Nec Corporation | Formation de filigranes dans des données numériques |
EP0891071A2 (fr) * | 1997-07-09 | 1999-01-13 | Matsushita Electric Industrial Co., Ltd. | Dispositif et procédé d'insertion de données de filigrane et dispositif et procédé pour la détection de données de filigrane |
Non-Patent Citations (3)
Title |
---|
MENG AND CHANG: "EMBEDDING VISIBLE VIDEO WATERMARKS IN THE COMPRESSED DOMAIN", INTERNATIONAL CONFERENCE ON IMAGE PROCESSING AND ITS APPLICATIONS,GB,LONDON, vol. 1, no. 1, 4 October 1998 (1998-10-04), pages 474 - 477, XP002124674 * |
PODILCHUK C I ET AL: "DIGITAL IMAGE WATERMARKING USING VISUAL MODELS", PROCEEDINGS OF THE SPIE, 10 February 1997 (1997-02-10), XP000199957 * |
SU, PO-CHYI; WANG, HOUNG-JYH M.; KUO, C.-C. J: "Digital Watermarking on EBCOT compressed images", PROC. SPIE, vol. 3808, July 1999 (1999-07-01), Denver, pages 313 - 324, XP002165697, Retrieved from the Internet <URL:http:www.spie.org> [retrieved on 20010420] * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7228502B2 (en) | 2002-01-16 | 2007-06-05 | Canon Kabushiki Kaisha | Method and device for temporal segmentation of a video sequence |
Also Published As
Publication number | Publication date |
---|---|
US7478241B2 (en) | 2009-01-13 |
FR2812502B1 (fr) | 2002-12-20 |
US20020013903A1 (en) | 2002-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2812502A1 (fr) | Insertion et extraction de message dans des donnees numeriques | |
Zamani et al. | A secure audio steganography approach | |
El-Khamy et al. | A security enhanced robust audio steganography algorithm for image hiding using sample comparison in discrete wavelet transform domain and RSA encryption | |
EP1173980B1 (fr) | Procede d'insertion d'un filigrane dans une image | |
FR2785426A1 (fr) | Procede et dispositif d'insertion et de detection d'une marque dans des donnees numeriques | |
FR2817440A1 (fr) | Insertion de messages dans des donnees numeriques | |
FR2816154A1 (fr) | Insertion d'information supplementaire dans des donnees numeriques | |
FR2842691A1 (fr) | Procede et dispositif de transformation d'un signal numerique | |
Zamani et al. | Genetic substitution-based audio steganography for high capacity applications | |
EP1296478A2 (fr) | Procédé sécurisé de transmission de données multimédia | |
FR2787604A1 (fr) | Procede d'insertion d'une marque secrete et d'authentification d'un signal numerique | |
EP1459555B1 (fr) | Realisation de filigranes numeriques par modulation d'indice de quantification (qim) de signaux multimedia | |
US20040078574A1 (en) | Method and apparatus for detecting and extracting fileprints | |
FR2832231A1 (fr) | Procede pour generer des nombres aleatoires | |
FR2816138A1 (fr) | Decodage de donnees numeriques | |
EP3857810B1 (fr) | Procédé cryptographique de comparaison sécurisée de deux données secrètes x et y | |
Octafian et al. | Audio Steganography Technique using DCT-SWT with RC4 Encryption | |
Xie et al. | Survey of public key digital watermarking systems | |
FR2820928A1 (fr) | Estimation de la capacite d'un signal numerique pour l'insertion d'un message | |
FR2848703A1 (fr) | Insertion et extraction d'un message dans une image | |
EP1962244B1 (fr) | Procédé de tatouage numérique d'un contenu photo ou vidéo permettant une traçabilité de ce contenu | |
FR2792153A1 (fr) | Procede de determination d'une partition pour inserer un signal de marquage et procede de decodage associe | |
FR2831376A1 (fr) | Insertion d'un message dans une sequence d'images numeriques | |
FR2792152A1 (fr) | Procede et dispositif d'insertion d'un signal de marquage dans une image | |
FR2846827A1 (fr) | Dispositif pour le marquage et la restitution de signaux multimedia |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140331 |