Brevet FR2817440A1 — publié le 20020531

La présente invention concerne un procédé et un dispositif d'insertion d'un message tel qu'une marque secrète dans un signal numérique. Le signal numérique considéré dans la suite sera plus particulièrement un signal d'image numérique. Le procédé d'insertion conforme à l'invention s'inscrit 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. Le marquage comporte de manière générale la modification de coefficients représentatifs de l'image numérique. Cette modification est imperceptible à l'oeil, mais peut être décodée par un décodeur approprié. On considère la capacité de l'image numérique, c'est-à-dire le nombre de bits de marquage qu'il est possible d'y insérer. La capacité est déterminée en fonction de l'invisibilité du message et de la robustesse de l'insertion. La robustesse est définie par la possibilité de retrouver le message inséré même après des traitements ultérieurs, tels que compression par exemple. Par ailleurs, sont connus des systèmes de codage orientés objet qui traitent les images par objets. Un objet est obtenu par segmentation de l'image, et est une entité de l'image, fréquemment une entité sémantique. Un objet a une taille et une forme qui sont a priori quelconques. A titre d'exemple, la norme MPEG4 (d'après l'anglais Motion Picture Expert Group) permet un tel traitement par objet d'une image. Les avantages de ces systèmes sont bien connus. Pour ce qui concerne un message ou information supplémentaire associé à une image, la norme MPEG4 prévoit par exemple un champ d'information associé à chaque objet. Il s'agit ici d'un champ supplémentaire. Aucune méthode d'insertion de message n'est spécifiquement adaptée au traitement par objets d'une image. En effet, I'insertion d'un message dans un objet d'une image pose des problèmes spécifiques. En particulier, la capacité de l'objet n'est a priori pas connue. Si l'on insère un message dans un objet sans tenir compte de cette capacité, I'invisibilité du message inséré et la robustesse de l'insertion ne seront alors plus garanties, car le compromis entre capacité, invisibilité et robustesse ne sera pas nécessairement respecté. La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un procédé et un dispositif qui permettent d'insérer un message dans un sous-ensemble de données numériques tout en assurant une robustesse et une invisibilité souhaitées. A cette fin, I'invention propose un procédé d'insertion d'un message dans un sous-ensemble de données numériques représentatives de grandeurs physiques, caractérisé en ce qu'il comporte les étapes de: - estimation d'une capacité à recevoir un message pour ledit sous- ensemble, - sélection d'un message de taille inférieure ou égale à la capacité estimée, dans un ensemble de messages, - insertion du message sélectionné dans ledit sous-ensemble de données numériques. Corrélativement, l'invention propose un dispositif d'insertion d'un message dans un sous-ensemble de données numériques représentatives de grandeurs physiques, caractérisé en ce qu'il comporte: - des moyens d'estimation d'une capacité à recevoir un message pour ledit sousensemble, - des moyens de sélection d'un message de taille inférieure ou égale à la capacité estimée, dans un ensemble de messages, - des moyens d'insertion du message sélectionné dans ledit sous- ensemble de données numériques. La présente invention permet d'assurer l'invisibilité et la robustesse du message inséré dans le sous-ensemble. En effet, par la sélection d'un message de taille adaptée, I'invention permet de respecter le compromis entre capacité du sous-ensemble, invisibilité du message inséré et robustesse de l'insertion. Selon une caractéristique préférée, le procédé comporte une étape préalable d'élaboration de l'ensemble de messages, lesdits messages ayant des tailles différentes. Ainsi, des messages sont disponibles préalablement à l'insertion et il est possible d'en choisir un en fonction de sa taille. Selon une caractéristique préférée, chaque message ayant une taille qui n'est pas la plus grande dans l'ensemble des messages est déductible d'un autre message ayant une taille supérieure et compris dans l'ensemble des messages. Les messages ont ainsi une même signification, mais des tailles différentes. Selon une caractéristique préférée, le message est sélectionné pour que sa taille soit immédiatement inférieure ou égale à la capacité estimée pour ledit sous-ensemble de données numériques. Le message sélectionné est par conséquent le plus grand possible en fonction de la capacité du sous-ensemble. Selon une caractéristique préférée, ledit sous-ensemble de données numériques est de forme arbitraire. Selon une caractéristique préférée, ledit sous-ensemble de données numériques correspond à un objet caractérisant une entité sémantique de l'ensemble des données numériques. Le sous-ensemble est plus par exemple un objet, notamment d'une image numérique. Cependant l'invention s'applique à tout type de données numériques. Selon une caractéristique préférée, le procédé d'insertion comporte en outre les étapes préalables de: - segmentation des données numériques en des régions, - sélection d'au moins une région pour constituer ledit sous- ensemble. La formation d'objet peut être intégrée au procédé selon l'invention. Selon une caractéristique préférée, l'insertion du message comporte, pour chaque élément du message, le choix de coefficients dans ledit sous- ensemble et la modulation de l'élément sur les valeurs des coefficients choisis. Selon une caractéristique préférée, I'estimation de la capacité comporte le calcul du nombre minimum de coefficients nécessaires pour insérer un élément de message de manière à pouvoir détecter cet élément avec une probabilité de détection correcte prédéterminée. Selon un mode de réalisation particulier, le procédé d'insertion comporte des étapes de: - segmentation en blocs du sous-ensemble, - transformation des blocs par une transformation réversible, préalablement à l'étape d'insertion, et en ce que l'étape d'insertion proprement dite comporte les étapes de: - sélection d'un groupe de coefficients dans un bloc transformé, pour un élément du message à insérer, - codage de l'élément à insérer en fonction des valeurs relatives des coefficients du groupe sélectionné. Dans ce mode de réalisation particulier, l'estimation de la capacité comporte la recherche du nombre de groupes utilisables en fonction d'une règle prédéterminée. Le dispositif d'insertion comporte des moyens de mise en oeuvre des caractéristiques précédemment présentées, et offre des avantages analogues. L'invention concerne aussi un procédé d'extraction d'un message inséré par le procédé précédemment présenté, dans un sous-ensemble de données numériques représentatives de grandeurs physiques, caractérisé en ce qu'il comporte des étapes de: - extraction du message, - comparaison du message extrait avec des messages mémorisés en mémoire, - identification de l'appartenance du message extrait à un ensemble de messages mémorisés. L'invention concerne un dispositif d'extraction comportant des moyens de mise en oeuvre des caractéristiques précédentes. Le procédé et le dispositif d'extraction présentent des avantages analogues à ceux qui ont été précédemment décrits. L'invention concerne aussi un appareil numérique incluant le dispositif selon l'invention, ou des moyens de mise en oeuvre du procédé selon l'invention. Cet appareil numérique est par exemple un appareil photographique numérique, un caméscope numérique ou un scanner. Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés. L'invention peut être mise en oeuvre par un programme d'ordinateur. Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise le programme mettant en oeuvre le procédé selon l'invention. 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 mode de réalisation de dispositif d'insertion de message dans des données selon l'invention, - la figure 2 représente un mode de réalisation de dispositif d'extraction de message dans des données selon l'invention, - la figure 3 représente un mode de réalisation de dispositif selon l'invention, - la figure 4 représente un mode de réalisation de procédé d'insertion de message dans des données selon l'invention, - la figure 5 est un mode de réalisation de segmentation inclus dans le procédé de la figure 4, - la figure 6 est un mode de réalisation de construction d'un ensemble de messages inclus dans le procédé de la figure 4, - la figure 7 est un mode de réalisation de sélection d'un objet vidéo inclus dans le procédé de la figure 4, - la figure 8 est un premier mode de réalisation de calcul de capacité d'un objet vidéo inclus dans le procédé de la figure 4, - la figure 9 est un mode de réalisation de sélection de message inclus dans le procédé de la figure 4, - la figure 10 est un premier mode de réalisation d'insertion de message inclus dans le procédé de la figure 4, - la figure 11 est un premier mode de réalisation d'extraction de message correspondant à l'insertion de la figure précédente, - la figure 12 est un second mode de réalisation de calcul de capacité d'un objet vidéo inclus dans le procédé de la figure 4, - la figure 13 représente la formation de blocs dans l'objet vidéo, - la figure 14 représente un bloc transformé, la figure 15 illustre un mode de codage d'un bit à insérer en fonction de coefficients choisis dans un bloc transformé, - la figure 16 est un second mode de réalisation d'insertion de message inclus dans le procédé de la figure 4, - la figure 17 est un second mode de réalisation d'extraction de message correspondant à l'insertion de la figure précédente. En référence à la figure 1, un dispositif d'insertion de message dans des données numériques comporte un circuit 1 de segmentation de données numériques. Les données numériques sont plus particulièrement une image. Le circuit 1 est relié à un circuit 2 de construction d'un objet vidéo VO à partir des données segmentées. Le circuit 2 est relié à un circuit 3 d'estimation de la capacité de l'objet vidéo. Le circuit 3 est relié à un circuit 4 de sélection d'un message en fonction de la capacité précédemment déterminée. Les messages sont mémorisés et sont par exemple formés par un circuit de formation de messages. Comme on le verra dans la suite, les messages ont des tailles différentes les unes des autres, par exemple de 16 à 256 bits comme illustré à la figure 1. Le circuit 4 est relié à un circuit 5 d'insertion du message dans l'objet vidéo. Le circuit 2 est également relié au circuit 5 d'insertion. Les données ainsi traitées sont ensuite fournies à un codeur 6 qui est capable de traiter un objet numérique de taille et de forma arbitraire. Par exemple, le codeur 6 est un codeur de type MPEG4. Le fonctionnement du dispositif d'insertion selon l'invention sera détaillé dans la suite. La figure 2 représente un mode de réalisation de dispositif d'extraction de message inséré dans des données par le dispositif précédemment exposé. Ce dispositif comporte un circuit 7 de décodage, correspondant au circuit de codage 6. Selon l'exemple choisi, le circuit 7 est un circuit de décodage MPEG4. Le circuit 7 fournit un objet vidéo. Le circuit 7 est relié à un circuit 8 d'extraction de message qui traite l'objet vidéo pour en extraire un message préalablement inséré par le dispositif de la figure 1. Le fonctionnement du dispositif d'extraction sera détaillé dans la suite. Il est à noter que le but de l'extraction peut être de retrouver le message inséré, ou d'authentifier les données numériques, pour vérifier si elles n'ont pas subi d'altération entre l'insertion du message et son extraction. Comme représenté à la figure 3, un dispositif mettant en oeuvre I'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 10 comporte également un moyen de stockage 108 tel que par exemple un 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 I'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é selon l'invention. 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 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 d'extraction 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 à E7. 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). Le procédé comporte globalement la construction d'un objet vidéo, le calcul de la capacité de cet objet vidéo, la sélection d'un message de taille inférieure à la capacité et l'insertion du message dans l'objet vidéo. L'étape E1 est une segmentation de l'image. Cette étape sera détaillée dans la suite et a pour résultat une carte de segmentation associée à l'image. L'étape suivante E2 est la construction de l'ensemble des messages de tailles différentes. Cette étape sera détaillée dans la suite. Les étapes E1 et E2 peuvent être interverties. En outre, l'étape E2 peut être remplacée par une étape de lecture de messages prédéfinis et préalablement mémorisés. L'étape suivante E3 est la construction d'un objet vidéo VO, qui est un sous-ensemble de l'image d'origine sur un support de taille et de forme arbitraires. Cette étape sera détaillée dans la suite. L'étape suivante E4 est le calcul de la capacité de l'objet vidéo précédemment déterminé. Cette étape sera détaillée dans la suite. Elle a pour résultat une capacité C exprimée en nombre de bits, qui représente la taille maximale du message qui peut être inséré dans l'objet vidéo. Par exemple, si la capacité est égale à 40 bits, et si un caractère alphanumérique peut être représenté sur huit bits, alors le message aura une longueur maximale de cinq caractères. L'étape suivante E5 est la sélection d'un message dont la taille est inférieure à la capacité C de l'objet vidéo. Le message sélectionné est celui qui a la plus grande taille parmi les messages ayant une taille inférieure à la capacité C. Dans le cas o il n'y aurait pas de message ayant une taille inférieure à la capacité C, le traitement est terminé. Par exemple, un message prévient l'utilisateur de l'interruption du traitement. L'étape suivante E6 est l'insertion du message dans l'objet vidéo. Cette étape sera détaillée dans la suite. Les étapes E3 à E6 sont parcourues autant de fois qu'il y a d'objets vidéo à traiter. L'étape E6 est suivie de l'étape E7 à laquelle est traitée l'image comportant au moins un objet vidéo dans lequel le message a été inséré. Ce traitement doit être capable de traiter des données d'entrée de taille et de forme arbitraires. Par exemple, il s'agit d'un codage de type MPEG4 qui reçoit en entrée un masque binaire du support représentatif de l'objet ainsi que la texture de l'objet. On va maintenant décrire, en référence à la figure 5, un mode de réalisation de segmentation d'un signal numérique tel qu'une image, à l'aide d'un organigramme comportant les étapes E90 à E92. L'étape E90 est une simplification du signal. Une version simplifiée du signal, plus généralement d'une image, sera par exemple obtenue en appliquant à cette dernière un opérateur morphologique d'ouverture/fermeture, suivi d'une reconstruction morphologique. Une description complète de ce procédé peut être trouvée dans l'article de Philippe Salembier intitulé "Morphological multiscale segmentation for image coding " paru dans le magazine " Signal Processing " numéro 38 de 1994. Ce type de traitement élimine les objets plus petits qu'une certaine taille, et restaure les contours des objets qui n'ont pas été supprimés. A l'issue de cette étape on dispose donc d'une version simplifiée du signal, qui va être plus facile à traiter par les étapes suivantes. L'étape suivante E91 est le marquage, ou extraction des marqueurs, du signal simplifié. Cette étape identifie la présence des régions homogènes du signal simplifié, en utilisant un critère qui peut être par exemple un critère d'homogénéité de l'intensité de la région (régions plates). Concrètement, on utilise ici par exemple un algorithme de croissance de régions: le signal est balayé dans sa totalité (par exemple de haut en bas et de droite a gauche). On recherche un " germe " c'est-à-dire un point, ici un coefficient, représentatif d'une nouvelle région (le premier coefficient du signal en sera automatiquement un). La caractéristique de cette région (valeur moyenne) est calculée sur la base de ce point. Puis tous les voisins de ce point sont alors examinés, et pour chacun des voisins s'offrent deux possibilités: - si le point rencontré possède une intensité proche de la valeur moyenne de la région considérée, il est affecté à la région courante, et les statistiques de cette région sont remises à jour en fonction de ce nouvel élément, - si le point rencontré possède une intensité différente (au sens d'un critère de proximité) de la valeur moyenne de la région, il n'est pas affecté à la région (il pourra par la suite être considéré comme un nouveau " germe " représentatif d'une nouvelle région). Tous les voisins affectés à la région courante sont alors eux-mêmes soumis à examen, c'est à dire que tous leurs voisins sont examinés (phase de croissance). Le traitement de la région continue ainsi jusqu'à ce que tous les points voisins des points appartenant à la région aient été examinés. A l'issue de ce traitement, la région est considérée bonne ou mauvaise. Si elle est mauvaise (typiquement, trop petite), c'est l'étape de décision qui traitera les points de la région en question. Si elle est bonne, le traitement est terminé pour elle. Un label ou identifiant unique est alors affecté à tous les points de la région. Le traitement global se poursuit alors par la recherche d'un nouveau germe. Pour qu'une région soit considérée bonne ou mauvaise, on utilise un paramètre de taille minimale de région. L'étape suivante E92 est la décision. Elle consiste à rattacher à une région tous les points qui n'ont pas de label à l'issue de l'étape de marquage E91 (typiquement, les points qui ont été rattachés à des régions trop petites). Cette étape peut être effectuée simplement en considérant chacun des points qui ne possède pas de label, et en l'affectant à la région voisine dont il est le plus proche (au sens d'un critère de proximité). L'étape E2 de construction de l'ensemble de messages est détaillée en référence à la figure 6, sous la forme d'un algorithme comportant les étapes E20 à E23. L'étape E20 est une initialisation à laquelle un paramètre N est initialisé à une valeur maximale NMAX, par exemple égale à 256. Le paramètre NMAX est un entier qui représente la taille maximale de message. Cette taille est ici égale à 256 bits. Le paramètre N est un entier qui représente une taille courante de message. Comme on le verra, un message construit peut avoir une taille inférieure à la valeur de N. L'étape suivante E21 est la saisie du message courant par l'utilisateur, par exemple au moyen du clavier 114. L'utilisateur entre des caractères alphanumériques. Le nombre de caractères qu'il est possible d'entrer est limité par la valeur courante du paramètre N. Le message est mémorisé dans la mémoire 103. A l'étape suivante E22, le paramètre N est modifié. Le paramètre N est par exemple divisé par deux. L'étape suivante E23 est un test pour déterminer si l'utilisateur souhaite entrer un nouveau message. Il est également testé si la taille courante est supérieure à une valeur NMIN qui est une taille minimale de message. Par exemple, la valeur NMIN est égale à huit bits, ce qui permet le codage d'un caractère alphanumérique. Si la réponse est positive à ces deux tests, alors cette étape est suivie de l'étape E21 précédemment décrite. Si la réponse est négative à l'étape E23, alors la construction des messages est terminée et cette étape est suivie de l'étape E3. Le résultat de l'étape E2 est ainsi un ensemble de messages rangés par taille décroissante. L'étape E3 de construction d'un objet vidéo est détaillée en référence à la figure 7 sous la forme d'un algorithme comportant des étapes E30 à E33. Le principe est ici de construire un objet par fusion de plusieurs régions sélectionnées par un utilisateur. L'étape E30 est un affichage sur l'écran 104 de la segmentation qui résulte de l'étape El. L'étape suivante E31 est la sélection d'une région de la segmentation. Cette sélection est effectuée par l'utilisateur, par exemple en cliquant sur la région au moyen de la souris. La région sélectionnée est mémorisée. L'étape suivante E32 est un test pour déterminer si la région courante est la dernière de l'objet en cours de construction ou si l'utilisateur souhaite ajouter au moins une autre région. Si la région courante n'est pas la dernière de l'objet en cours de construction, alors l'étape E32 est suivie de l'étape E31 précédemment décrite. Sinon, lorsque toutes les régions ont été sélectionnées, l'étape E32 est suivie de l'étape E33 à laquelle l'objet vidéo est construit par concaténation de toutes les régions sélectionnées. Le résultat de l'étape E33 est ainsi un objet vidéo constitué de une ou plusieurs régions. On considère un premier mode de réalisation de l'invention. Dans ce premier mode de réalisation, l'étape E4 de calcul de la capacité d'un objet vidéo est détaillée en référence à la figure 8, sous la forme d'un algorithme qui comporte des étapes E40 à E43. L'étape E40 est l'estimation du cardinal CARD de l'objet vidéo considéré VO, c'est-à-dire le nombre de coefficients de cet objet. L'étape suivante E41 est le calcul de l'écart type des coefficients de l'objet vidéo considéré. L'étape suivante E42 est le calcul du nombre minimum P de coefficients nécessaires pour insérer un bit de manière à pouvoir détecter un bit avec une probabilité de détection correcte prédéterminée. Dans ce mode de réalisation, I'insertion d'un bit d'information est réalisée par modulation d'un signal pseudo-aléatoire de faible amplitude sur certains coefficients. La détection du signal de marquage est une détection statistique, en particulier un test d'hypothèse. Dans ce contexte, il est connu, par exemple d'après le document EP- 1 043 687, que l'écart-type de l'ensemble des coefficients modulés, le nombre de coefficients modulés et la probabilité de détection du signal inséré sont liés. Le nombre P est associé à l'objet, et il est par exemple écrit dans un champ d'information du fichier codé selon le format MPEG4. L'étape suivante E43 est le calcul de la capacité C de l'objet vidéo, par la formule: C = ENT(CARD/P), o ENT(...) dénote la partie entière. L'étape E5 de sélection du message à insérer dans l'objet vidéo est détaillée en référence à la figure 9 sous la forme d'un algorithme comportant des étapes E50 à E54. L'étape E50 est une initialisation à laquelle on considère le message le plus long. Pour cela, le paramètre L est initialisé à la valeur LMAX. La valeur LMAX est un entier qui représente la taille du message le plus long. La valeur LMAX est inférieure ou égale à la valeur NMAX. Le paramètre L est un entier qui représente la taille courante de message. L'étape suivante E51 est un test pour vérifier si la capacité C est supérieure à la plus petite taille de message LMIN. Si la réponse est négative, alors l'insertion est impossible et le traitement est interrompu. Si la réponse est positive à l'étape E51, alors cette étape est suivie de l'étape E52 qui est un test pour déterminer si la valeur courante du paramètre L est supérieure à la capacité C de l'objet vidéo en cours de traitement. Si la réponse est positive, alors cela signifie que le message courant ne peut pas être inséré dans l'objet vidéo considéré. L'étape E52 est alors suivie de l'étape E53 à laquelle on considère un message de taille inférieure. Les messages sont considérés par ordre de taille décroissante. L'étape E53 est suivie de l'étape E52 précédemment décrite. Si la réponse est négative à l'étape E52, alors cette étape est suivie de l'étape E54 qui est la sélection du message dont la taille est immédiatement inférieure à la capacité C. L'étape E54 est suivie de l'étape E6 d'insertion du message de longueur L, dont un premier mode de réalisation est maintenant détaillé en référence à la figure 10, sous la forme d'un algorithme comportant des étapes E60 à E66. L'étape E60 est une initialisation à laquelle un paramètre entier k est mis à un pour considérer un premier bit à insérer bk. L'étape suivante E61 est la sélection de P coefficients Cj dans l'objet vidéo, avec j un entier variant entre 1 et P. On rappelle que le nombre P a été déterminé à l'étape E42. Cette sélection est faite par tirage pseudo-aléatoire ou de manière déterministe. Pour un tirage pseudoaléatoire, on procède par exemple de la manière suivante. Les points de l'objet vidéo sont parcourus dans l'ordre de balayage vidéo. Pour chaque point, un tirage pseudo-aléatoire binaire est réalisé. Le point est retenu pour la modulation si la valeur binaire est égale à un. Ce tirage pseudo-aléatoire est répété sur autant de point de l'objet que nécessaire pour obtenir le nombre P souhaité de points retenus pour la modulation. L'étape E62 est un tirage pseudo-aléatoire réalisé à partir d'une clé secrète K. Le tirage pseudo-aléatoire a pour résultat un signal pseudoaléatoire W comportant un nombre P de coefficients wi égal au nombre P de coefficients précédemment sélectionnés. Par exemple, les coefficients wi sont égaux à +1 ou -1. L'étape E63 est une modulation du bit de marquage bk sur les valeurs des P coefficients pour fournir des coefficients marqués C'j. Cette modulation est effectuée selon la formule: C'i = Ci + Sk. (Xj. Wi. Dans cette formule, le paramètre aoi est un entier qui dénote une amplitude de modulation qui peut être choisie de différentes manières. Par exemple, un ensemble d'amplitudes maximales correspondant à chaque coefficient de l'objet vidéo traité est calculé à l'étape E64. Pour cela, on utilise des règles de masquage psychovisuel qui permettent de prédire la visibilité de la modification d'un coefficient en fonction du contenu spectral de son voisinage. Le paramètre xi peut aussi être une valeur prédéterminée et constante pour chaque coefficient. Dans ce cas, elle est choisie relativement faible. Dans la formule précédente, le paramètre Sk vaut +1 si le bit inséré bk est égal à un et vaut -1 si le bit inséré bk est égal à zéro. L'étape suivante E65 est un test pour déterminer s'il reste au moins un bit à insérer. Si la réponse est positive, alors cette étape est suivie de l'étape E66 à laquelle le paramètre k est incrémenté de une unité pour considérer le bit à insérer suivant. L'étape E66 est suivie de l'étape E61 précédemment décrite. Si la réponse est négative à l'étape E65, alors l'insertion est terminée et cette étape est suivie de l'étape E7. Un premier mode de réalisation d'extraction du message est décrite en référence à la figure 11 sous la forme d'un algorithme comportant des étapes E100 à E110. On travaille ici sur l'objet VO dans lequel a été inséré le message. On rappelle que cet objet est défini par sa texture et un masque. L'étape E100 est une initialisation à laquelle le paramètre k est mis à un pour considérer un premier bit à extraire de l'objet vidéo. L'étape suivante E101 est la sélection de P coefficients dans l'objet vidéo. Cette étape est analogue à l'étape E61 précédemment décrite. L'étape E102 est un tirage pseudo-aléatoire, analogue à l'étape E62 précédemment décrite. L'étape suivante E103 est un calcul d'une mesure de corrélation T entre les valeurs des P coefficients sélectionnés et le signal pseudo-aléatoire déterminé à l'étape E102. L'étape suivante E104 est un test pour déterminer si la mesure de corrélation T précédemment calculée est strictement positive. Si la réponse est positive, alors l'étape E104 est suivie de l'étape E105 à laquelle la valeur " un " est attribuée au bit extrait courant bk. Si la réponse est négative à l'étape E104, alors cette étape est suivie de l'étape E106 à laquelle la valeur " zéro " est attribuée au bit extrait courant bk. Les étapes E105 et E106 sont suivies de l'étape E107 à laquelle la valeur du bit extrait bk est mémorisée. L'étape suivante E1 08 est un test pour déterminer s'il reste au moins un bit à extraire. Le test est réalisé en comparant le nombre K de bit extraits avec la capacité C. La capacité C est connue à partir du nombre P, de manière analogue à l'étape E43. Dans le cas o le message a une longueur qui est inférieure à la capacité C, des bits sans signification seront extraits. On ne gardera alors que la partie cohérente du message après son décodage (étape El10). Si la réponse est positive, alors cette étape est suivie de l'étape E109 à laquelle le paramètre k est incrémenté de une unité pour considérer un bit à extraire suivant. L'étape E109 est suivie de l'étape E101 précédemment décrite. Lorsque la réponse est positive à l'étape E108, alors cette étape est suivie de l'étape El110 qui est le décodage du message. Les C bits précédemment décodés sont transformés en un ensemble de caractères. Par exemple, dans le cas de caractères ASCII, si chaque caractère est codé sur huit bits, alors le décodage du message consiste à remplacer chaque groupe de huit bits par le caractère correspondant. En variante, les messages peuvent être connus lors de l'extraction d'un message depuis un objet vidéo. Dans ce cas, le décodage comporte l'identification de l'un des messages connus. Plus particulièrement, plusieurs ensembles de messages sont mémorisés, chacun étant associé à une signification spécifique. L'appartenance du message extrait à l'un des ensembles de messages mémorisés est identifiée. Dans un second mode de réalisation, on considère un traitement des données par blocs, sur lesquels est appliquée une transformation spectrale. La figure 12 représente l'estimation de capacité selon ce mode de réalisation de l'invention. L'estimation de la capacité comporte des étapes E400 à E410. L'étape E400 est la superposition d'une grille régulière à l'objet vidéo traité de manière à définir des blocs dans cet objet. Comme représenté à la figure 13, la grille est par exemple formée de blocs carrés de taille prédéterminée. Certains blocs, comme le bloc B1, sont entièrement à l'intérieur de l'objet, tandis que d'autres, comme le bloc B2, recouvrent les bords de l'objet. L'étape suivante E401 est une initialisation pour considérer un premier bloc à traiter. Un paramètre i est mis à un. Le paramètre i représente un bloc courant. L'étape suivante E402 est un test pour déterminer si le bloc courant est complet, c'est-à-dire entièrement à l'intérieur de l'objet ou non. Si la réponse est positive, alors cette étape est suivie de l'étape E403 à laquelle le bloc considéré est transformé par une transformation de type DCT (d'après l'anglais Discrete Cosine Transform). Si la réponse est négative à l'étape E402, alors cette étape est suivie de l'étape E404 à laquelle le bloc considéré est transformé par une transformation de type SADCT (d'après l'anglais Shape Adaptative Discrete Cosine Transform). Ce type de transformation est une adaptation de la transformation DCT aux supports de formes arbitraire. Elle est décrite dans l'article " Low complexity shape-adaptative DCT for coding of arbitrarily shaped image segments " de Signal Processing: Image Communication, vol. 7, 1995. L'étape E405 est un tirage pseudo aléatoire effectué à partir d'une clé secrète K1 pour déterminer un ou plusieurs triplets de coefficients dans le bloc transformé courant. Dans la suite, pour simplifier la description, on considère qu'un seul triplet est choisi dans chaque bloc transformé. La figure 14 représente un bloc transformé par une transformation DCT. Le bloc comporte 8x8 coefficients. Le coefficient de plus basse fréquence est situé en haut à gauche, et les autres coefficients sont rangés par fréquence croissante en allant vers le coin opposé en bas à droite. Les coefficients sont sélectionnés dans les moyennes fréquences car il a été montré expérimentalement que cela offre une meilleure efficacité en regard du rapport robustesse/visibilité. * Un triplet de coefficients modifiables est sélectionné et représenté par les indices C1, C2 et C3. Ces indices sont choisis parmi les indices numérotés de 1 à 8 à la figure 14. L'étape suivante E406 est un test pour déterminer si le triplet de coefficients est modifiable. Un triplet de coefficients est modifiable si une modification de celui-ci n'entraîne pas une distorsion trop importante, par exemple mesurée par un seuil. La modification qui est envisagée ici modifie la valeur relative d'un ou plusieurs coefficients dans le triplet, de manière à coder un bit d'information. La figure 15 représente le codage d'un bit d'information en fonction de la valeur relative des coefficients dans le triplet considéré. Les coefficients du triplet sont ordonnés et on considère les valeurs absolues des coefficients du triplet. Le symbole H représente la plus grande valeur absolue, le symbole M la valeur absolue intermédiaire et le symbole L la valeur absolue la plus petite. Par exemple, si l'on note X la valeur d'un coefficient, la première ligne du tableau correspond au cas o: IXc1 1 > I Xc21 > I Xc31 Ce cas correspond au codage d'un " un ". L'ensemble des états possibles est divisé en trois catégories: codage d'un " un ", codage d'un " zéro ", ou neutre. Un cas neutre correspond à un cas o la modification de l'amplitude des coefficients pour coder un bit d'information introduirait une distorsion visible. Si la réponse est positive à l'étape E406, alors cette étape est suivie de l'étape E407 à laquelle la capacité de l'objet vidéo est augmentée de un. Dans le cas o plusieurs triplets sont choisis dans un même bloc, alors la capacité est augmentée du nombre de triplets modifiables. L'étape suivante E408 est la mémorisation de l'indice du bloc courant dans une liste d'indices de blocs modifiables. Si la réponse est négative à l'étape E406, alors cette étape est suivie de l'étape E409. De même, l'étape E408 est suivie de l'étape E409. L'étape E409 est un test pour déterminer si tous les blocs ont été traités. Si la réponse est négative, cette étape est suivie de l'étape E410 à laquelle un bloc suivant est considéré. Cette étape est suivie de l'étape E402 précédemment décrite. Lorsque tous les blocs ont été traités, alors la capacité de l'objet vidéo est déterminée. La figure 16 représente l'insertion du message dans l'objet vidéo, selon le second mode de réalisation, sous la forme d'un algorithme comportant des étapes E600 à E608. L'étape E600 est une initialisation à laquelle un paramètre entier k est mis à un pour considérer un premier bit à insérer bk. Un paramètre i est également mis à un pour considérer un premier bloc transformé dans l'objet vidéo. L'étape suivante E601 est un tirage pseudo-aléatoire réalisé à partir de la clé secrète K1 pour sélectionner un ou des triplets possibles pour le bloc courant. Cette étape est similaire à l'étape E405 précédemment décrite. Pour simplifier la description, on considère là aussi un seul triplet par bloc. L'étape suivante E602 est un test pour déterminer si l'insertion est possible. Le test repose sur un seuil de distorsion acceptable. Alternativement, on peut utiliser la liste de blocs modifiables qui a été précédemment déterminée (étape E408). Si la réponse est positive à l'étape E602, alors cette étape est suivie de l'étape E603 qui est l'insertion du bit bk. Pour cela, si la valeur de codage du triplet (figure 15) est égale à la valeur du bit bk, le triplet n'est pas modifié. Dans le cas contraire, les valeurs des coefficients du triplet sont modifiées de manière à ce que ce triplet représente le bit bk. L'étape E603 est suivie de l'étape E604 à laquelle le paramètre k est incrémenté de une unité pour considérer un bit à insérer suivant. Si la réponse est négative à l'étape E602, alors cette étape est suivie de l'étape E605 à laquelle le triplet est mis dans un état neutre (figure 15). Les étapes E604 et E605 sont suivies de l'étape E606 à laquelle est effectuée une transformation inverse DCT ou SADCT du bloc courant. L'étape suivante E607 est un test pour déterminer si tous les bits du message ont été insérés ou si tous les blocs ont été traités. Si la réponse est positive à l'un de ces deux tests, alors le traitement est terminé. Sinon, l'étape E607 est suivie de l'étape E608, à laquelle le paramètre i est incrémenté de une unité, pour considérer un bloc suivant. L'étape E608 est suivie de l'étape E601 précédemment décrite. La figure 17 représente l'extraction du message selon le second mode de réalisation, sous la forme d'un algorithme comportant des étapes E700 à E710. L'étape E700 est la superposition d'une grille régulière à l'objet vidéo traité de manière à définir des blocs dans cet objet. Cette étape est analogue à l'étape E400. L'étape suivante E701 est une initialisation à laquelle le paramètre i est mis à un pour considérer un premier bloc à traiter, et le paramètre k est mis à un pour considérer un premier bit à extraire. L'étape suivante E702 est une transformation du bloc courant. Cette étape est analogue à l'étape E403 ou E404, selon que le bloc est complet ou non. L'étape E703 est un tirage pseudo-aléatoire effectué à partir de la clé secrète K1. Cette étape est analogue à l'étape E405 précédemment décrite. Elle a pour résultat un triplet de coefficients. L'étape E704 est un décodage qui consiste à déduire une valeur binaire ou neutre à partir des valeurs relatives des coefficients du triplet (figure ). L'étape E704 est suivie de l'étape E705 qui est un test pour déterminer si la valeur précédemment déterminée est neutre. Si la réponse est négative, alors cette étape est suivie de l'étape E706 à laquelle la valeur du bit extrait bk est mémorisée. A l'étape suivante E707, le paramètre k est incrémenté de une unité pour considérer un bit à extraire suivant. L'étape suivante E708 est un test pour déterminer si le bloc courant est le dernier bloc à traiter. Si la réponse est négative, alors cette étape est suivie de l'étape E709 à laquelle le paramètre i est incrémenté de une unité pour considérer un bloc suivant. Si la réponse est positive à l'étape E705, alors cette étape est suivie de l'étape E709. L'étape E709 est suivie de l'étape E702 précédemment décrite. Lorsque la réponse est positive à l'étape E708, alors cette étape est suivie de l'étape E710 qui est le décodage du message. Cette étape est analogue à l'étape E110 précédemment décrite. 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. REVENDICATIONS 1. Procédé d'insertion d'un message dans un sous-ensemble (VO) de données numériques représentatives de grandeurs physiques, caractérisé en ce qu'il comporte les étapes de: - estimation (E4) d'une capacité à recevoir un message pour ledit sous-ensemble, - sélection (E5) d'un message de taille inférieure ou égale à la capacité estimée, dans un ensemble de messages, insertion (E6) du message sélectionné dans ledit sous- ensemble de données numériques. 2. Procédé d'insertion selon la revendication 1, caractérisé en ce qu'il comporte une étape préalable d'élaboration (E2) de l'ensemble de messages, lesdits messages ayant des tailles différentes. 3. Procédé d'insertion selon la revendication 2, caractérisé en ce que chaque message ayant une taille qui n'est pas la plus grande dans l'ensemble des messages est déductible d'un autre message ayant une taille supérieure et compris dans l'ensemble des messages. 4. Procédé d'insertion selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le message est sélectionné (E5) pour que sa taille soit immédiatement inférieure ou égale à la capacité estimée pour ledit sous- ensemble de données numériques. 5. Procédé d'insertion selon l'une quelconque des revendications 1 à 4, caractérisé en ce que ledit sous-ensemble (VO) de données numériques est de forme arbitraire. 6. Procédé d'insertion selon l'une quelconque des revendications 1 à , caractérisé en ce que ledit sous-ensemble (VO) de données numériques correspond à un objet caractérisant une entité sémantique de l'ensemble des données numériques. 7. Procédé d'insertion selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comporte en outre les étapes préalables de: segmentation (El) des données numériques en des régions, - sélection (E3) d'au moins une région pour constituer ledit sous- ensemble. 8. Procédé d'insertion selon l'une quelconque des revendications 1 à 7, caractérisé en ce que l'insertion (E6) du message comporte, pour chaque élément du message, le choix de coefficients dans ledit sous- ensemble et la modulation de l'élément sur les valeurs des coefficients choisis. 9. Procédé d'insertion selon l'une quelconque des revendications 1 à 8, caractérisé en ce que l'estimation (E4) de la capacité comporte le calcul du nombre minimum de coefficients nécessaires pour insérer un élément de message de manière à pouvoir détecter cet élément avec une probabilité de détection correcte prédéterminée. 10. Procédé d'insertion selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte des étapes de: - segmentation (E400) en blocs du sous-ensemble, - transformation (E403, E404) des blocs par une transformation réversible, préalablement à l'étape d'insertion, et en ce que l'étape d'insertion proprement dite comporte les étapes de: sélection (E601) d'un groupe de coefficients dans un bloc transformé, pour un élément du message à insérer, - codage (E603) de l'élément à insérer en fonction des valeurs relatives des coefficients du groupe sélectionné. 11. Procédé d'insertion selon la revendication 10, caractérisé en ce que l'estimation (E407) de la capacité comporte la recherche du nombre de groupes utilisables en fonction d'une règle prédéterminée. 12. Procédé d'extraction d'un message inséré par le procédé selon l'une quelconque des revendications 1 à 11, dans un sous-ensemble de données numériques représentatives de grandeurs physiques, caractérisé en ce qu'il comporte des étapes de: - extraction (E105, E106) du message, comparaison du message extrait avec des messages mémorisés en mémoire, identification de l'appartenance du message extrait à un ensemble de messages mémorisés. 13. Dispositif d'insertion d'un message dans un sous-ensemble (VO) de données numériques représentatives de grandeurs physiques, caractérisé en ce qu'il comporte: - des moyens (3) d'estimation d'une capacité à recevoir un message pour ledit sous-ensemble, - des moyens (4) de sélection d'un message de taille inférieure ou égale à la capacité estimée, dans un ensemble de messages, - des moyens (5) d'insertion du message sélectionné dans ledit sous- ensemble de données numériques. 14. Dispositif d'insertion selon la revendication 13, caractérisé en ce qu'il comporte en outre des moyens d'élaboration de l'ensemble de messages, lesdits messages ayant des tailles différentes. 15. Dispositif d'insertion selon la revendication 14, caractérisé en ce que les moyens d'élaboration sont adaptés à former chaque message ayant une taille qui n'est pas la plus grande dans l'ensemble des messages de manière à être déductible d'un autre message ayant une taille supérieure et compris dans l'ensemble des messages. 16. Dispositif d'insertion selon l'une quelconque des revendications 13 à 15, caractérisé en ce que les moyens (4) de sélection sont adaptés à sélectionner le message pour que sa taille soit immédiatement inférieure ou égale à la capacité estimée pour ledit sous-ensemble de données numériques. 17. Dispositif d'insertion selon l'une quelconque des revendications 13 à 16, caractérisé en ce qu'il est adapté à considérer un sous-ensemble (VO) de données numériques qui est de forme arbitraire. 18. Dispositif d'insertion selon l'une quelconque des revendications 13 à 17, caractérisé en ce qu'il est adapté à considérer un sous-ensemble (VO) de données numériques qui correspond à un objet caractérisant une entité sémantique de l'ensemble des données numériques. 19. Dispositif d'insertion selon l'une quelconque des revendications 13 à 18, caractérisé en ce qu'il comporte en outre: - des moyens (1) de segmentation des données numériques en des régions, - des moyens (2) de sélection d'au moins une région pour constituer ledit sous-ensemble. 20. Dispositif d'insertion selon l'une quelconque des revendications 13 à 19, caractérisé en ce que les moyens (5) d'insertion du message sont adaptés à effectuer, pour chaque élément du message, le choix de coefficients dans ledit sous-ensemble et la modulation de l'élément sur les valeurs des coefficients choisis. 21. Dispositif d'insertion selon l'une quelconque des revendications 13 à 20, caractérisé en ce que les moyens (3) d'estimation de la capacité sont adaptés à effectuer le calcul du nombre minimum de coefficients nécessaires pour insérer un élément de message de manière à pouvoir détecter cet élément avec une probabilité de détection correcte prédéterminée. 22. Dispositif d'insertion selon l'une quelconque des revendications 13 à 19, caractérisé en ce qu'il comporte: - des moyens de segmentation en blocs du sous-ensemble, - des moyens de transformation des blocs par une transformation réversible, préalablement à l'étape d'insertion, et en ce que les moyens (5) d'insertion comportent: - des moyens de sélection d'un groupe de coefficients dans un bloc transformé, pour un élément du message à insérer, - des moyens de codage de l'élément à insérer en fonction des valeurs relatives des coefficients du groupe sélectionné. 23. Dispositif d'insertion selon la revendication 22, caractérisé en ce que les moyens d'estimation de la capacité sont adaptés à rechercher le nombre de groupes utilisables en fonction d'une règle prédéterminée. 24. Dispositif d'extraction d'un message inséré par le dispositif selon l'une quelconque des revendications 13 à 23, dans un sous-ensemble de données numériques représentatives de grandeurs physiques, caractérisé en ce qu'il comporte: - des moyens d'extraction du message, - des moyens de comparaison du message extrait avec des messages mémorisés en mémoire, des moyens d'identification de l'appartenance du message extrait à un ensemble de messages mémorisés. 25. Dispositif d'insertion (10) selon l'une quelconque des revendications 13 à 23, caractérisé en ce que les moyens d'estimation, sélection et insertion 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. 26. Dispositif d'extraction (10) selon la revendication 24, caractérisé en ce que les moyens d'extraction, comparaison et identification 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. 27. Appareil de traitement de signal numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 12. 28. Appareil de traitement de signal numérique, caractérisé en ce qu'il comporte le dispositif selon l'une quelconque des revendications 13 à 26.