Brevet FR2908952A1 — publié le 20080523

PROCEDE DE TATOUAGE D'UN ENSEMBLE DE DONNEES NUMERIQUES ET DISPOSITIF IMPLEMENTANT LEDIT PROCEDE 1. Domaine de l'invention L'invention concerne un procédé de tatouage d'un ensemble de données numériques. L'invention concerne également un dispositif de tatouage implémentant ledit procédé. L'invention concerne en outre un procédé d'estimation de la qualité de l'ensemble de données numériques tatoué par le procédé de tatouage défini précédemment après son traitement et/ou sa transmission. 2. Etat de l'art Dans de nombreux domaines techniques, il est nécessaire de mesurer la qualité d'une image, d'une séquence d'images ou vidéo, ou plus exactement la dégradation de qualité résultant de traitements appliqués à la vidéo. Par exemple, lors d'une transmission numériques, les vidéo vont être compressées (p.ex. au format MPEG2), insérées dans des trains de transports et diffusées par satellite ou par le câble etc. La compression va provoquer une dégradation de la qualité perceptuelle de la vidéo (effets de blocs, bruit...) d'autant plus importante que le débit sera faible. En outre, lors de la transmission satellite du train binaire celui-ci peut être bruité et le flux MPEG correspondant ne plus être conforme. Il en résultera des erreurs de décodage côté récepteur qui peuvent avoir des conséquences plus ou moins gênantes : gel d'images ( freeze en anglais), images noires, blocs d'images erronés etc. Il est donc souvent nécessaire de contrôler la qualité de la vidéo le long de la chaîne de transmission. Cette opération lorsqu'elle est faite par un opérateur humain est coûteuse, et ce d'autant plus que le nombre de canaux à mesurer est grand. C'est pourquoi, il est souvent préférable d'utiliser un dispositif automatique permettant d'estimer une qualité objective. Parmi les nombreuses métriques de qualité qui existent, une des plus simples est le PSNR ( Peak Signal Noise Ratio en anglais), définie à partir de l'erreur quadratique moyenne, notée EQM, entre la vidéo originelle et la vidéo altérée. Cependant, il est connu que cette mesure est faiblement corrélée avec la qualité visuelle perçue par l'homme. Ainsi, deux vidéos de 2908952 2 même PSNR peuvent correspondre à des qualités subjectives très différentes. C'est pourquoi, de nombreux modèles plus ou moins complexes du système visuel humain ont été développés (p. ex. modèle de Watson, JND, modèle de Scott Daly etc.), à partir desquels des métriques de qualité 5 plus élaborées que le PSNR ont été dérivées. Ces métriques sont en général plus proches de la qualité subjective perçue par un humain. Elles permettent donc d'obtenir une estimation relativement fiable de la qualité subjective d'une vidéo. Cependant, la plupart de ces métriques opèrent soit en référence complète, c'est-à-dire à partir de la vidéo originelle entière et de la vidéo 10 altérée, soit en référence réduite, c'est-à-dire uniquement à partir de la vidéo altérée et d'un condensé de la vidéo originelle. Par exemple, lors d'une application de surveillance de la qualité vidéo sur un réseau de diffusion ( monitoring broadcast en anglais), les mesures de qualité ont lieu au niveau du récepteur avec une métrique à référence complète. Il est donc 15 nécessaire de véhiculer et traiter une quantité très importante de données, i.e. la vidéo de référence, en général non compressée, ce qui implique de disposer de liens à très haut débit. Le problème est moins important avec les métriques à référence réduite mais nécessite quand même des débits relativement important pour transmettre le condensé de la vidéo. 20 Une autre technique connue est de transmettre une vidéo connue ou mire sur le canal de transmission par exemple à intervalle de temps régulier pour contrôler la qualité en continu. Le récepteur, connaissant la mire originelle, peut la reconstruire avant d'estimer la qualité objective en comparant la mire reconstruite et la mire transmise. Cette solution permet d'éviter de mettre en 25 place un canal auxiliaire à haut débit. La mire peut être choisie de façon à mesurer précisément certains artefacts (p. ex. sensibilité fréquentielle / colorimétrique / spatiale). Cependant une telle technique n'est pas utilisable en pratique car elle implique de supprimer le signal vidéo utile et est très intrusive, voyante, i.e. qu'elle perturbe beaucoup le signal vidéo utile. 30 3. Résumé de l'invention L'invention a pour but de pallier au moins un des inconvénients de l'art antérieur. 2908952 3 L'invention concerne un procédé de tatouage d'un ensemble de données numériques comprenant les étapes suivantes : a. générer, à partir d'au moins une partie de l'ensemble de données numériques, un premier ensemble de M n-uplets représentatifs de 5 l'ensemble de données numériques avec n et M entiers , M1 et n1; b. déterminer, dans un lot prédéfini de K n-uplets, un ensemble de M nuplets, dit deuxième ensemble, le plus proche au sens d'une métrique prédéfinie du premier ensemble avec K entier et K>_M; et c. modifier au moins une donnée de l'ensemble de données numériques de 10 telle sorte que le premier ensemble généré selon l'étape a) à partir de l'ensemble de données modifié soit égal au deuxième ensemble. Selon un mode particulier de réalisation, l'étape de détermination du deuxième ensemble est précédée d'une étape de quantification avec N quantificateurs de chacun des n-uplets du premier ensemble en N n-uplets 15 quantifiés, avec N entier et N 2 et dans lequel le lot prédéfini est un sous- ensemble des n-uplets quantifiés ou l'ensemble des n-uplets quantifiés. Selon un mode préféré de réalisation, l'étape b) consiste en un décodage de Viterbi qui permet avantageusement de pouvoir réaliser un décodage exhaustif pour une complexité relativement faible. 20 Selon un mode particulier de réalisation, l'ensemble de données numérique est une image. Préférentiellement, l'image est divisé en blocs de pixels ne se recouvrant pas, n est égal à 1 et chaque 1 -uplet du premier ensemble est égal à la différence entre la luminance moyenne d'un premier bloc de l'image et la 25 luminance moyenne d'un deuxième bloc de l'image, le deuxième bloc étant adjacent au premier bloc et localisé en dessous du premier bloc. Selon une caractéristique particulière, N=2. L'invention concerne en outre un procédé d'estimation de la qualité après 30 transmission et/ou traitement d'un ensemble de données numériques tatoué par le procédé de tatouage décrit ci-dessus. Il comprend les étapes suivantes : 2908952 4 a. générer, à partir d'au moins une partie de l'ensemble de données numériques, un premier ensemble de M n-uplets représentatifs de l'ensemble de données numériques avec n et M entiers , M1 et n1; b. déterminer, dans un lot prédéfini de K n-uplets, un ensemble de M n- 5 uplets, dit deuxième ensemble, le plus proche au sens d'une métrique prédéfinie du premier ensemble avec K entier et K>_M; et c. estimer la qualité de l'ensemble de données numériques transmis et/ou traité en calculant la distance entre le premier ensemble et le second ensemble. 10 Préférentiellement, l'étape de détermination du deuxième ensemble est précédée d'une étape de quantification avec N quantificateurs de chacun des n-uplets du premier ensemble en N n-uplets quantifiés, avec N entier et N 2 et dans lequel le lot prédéfini est un sous-ensemble des n-uplets quantifiés ou l'ensemble des n-uplets quantifiés. 15 L'invention concerne également un dispositif de tatouage d'un ensemble de données numériques comprenant: - des premiers moyens pour générer, à partir d'au moins une partie de l'ensemble de données numériques, un premier ensemble de M n-uplets 20 représentatifs de l'ensemble de données numériques avec n et M entiers, M>_1 et n1; - des seconds moyens pour quantifier avec N quantificateurs chacun des nuplets du premier ensemble en N n-uplets quantifiés, avec N entier et N 2 ; - des troisièmes moyens pour déterminer, dans un sous-ensemble des n- 25 uplets quantifiés ou dans l'ensemble des n-uplets quantifiés, un ensemble de M n-uplets, dit deuxième ensemble, le plus proche au sens d'une métrique prédéfinie du premier ensemble; - des quatrièmes moyens pour modifier au moins une donnée de l'ensemble de données numériques de telle sorte que le premier ensemble généré par 30 les premiers moyens à partir de l'ensemble de données modifié soit égal au deuxième ensemble. Préférentiellement, les troisièmes moyens comprennent un décodeur de Viterbi. 2908952 5 4. Listes des figures L'invention sera mieux comprise et illustrée au moyen d'exemples de modes de réalisation et de mise en oeuvre avantageux, nullement limitatifs, 5 en référence aux figures annexées sur lesquelles : û la figure 1 illustre un procédé de tatouage selon l'invention; - le figure 2 représente une image d'une séquence vidéo divisée en blocs de pixels; - la figure 3 illustre une partie du procédé de tatouage selon l'invention; 10 û la figure 4 illustre un procédé d'estimation de la qualité d'un ensemble de données numériques tatoué par le procédé de tatouage de la figure 1 ; et - la figure 5 illustre un dispositif de tatouage selon l'invention. 5. Description détaillée de l'invention 15 En référence à la figure 1, l'invention concerne un procédé de tatouage d'un ensemble de données numériques telles que des données vidéo, des données audio ou plus généralement des données multimédia. Ce procédé de tatouage est avantageusement utilisé par un procédé d'estimation de la qualité dudit ensemble de données numériques après sa transmission et/ou 20 son traitement, p.ex. compression. Sur cette figure, les modules représentés sont des unités fonctionnelles, qui peuvent ou non correspondre à des unités physiquement distinguables. Par exemple, ces modules ou certains d'entre eux peuvent être regroupés dans un unique composant, ou constituer des fonctionnalités d'un même logiciel. A contrario, certains modules peuvent 25 éventuellement être composés d'entités physiques séparées. L'invention décrite dans le cadre de données numériques vidéo peut s'appliquer à d'autres données telles que des données audio ou des données multimédia. L'étape 10 consiste à générer à partir de l'ensemble de données numériques initiales DS un premier ensemble {L1 } E[o,M-1] de M p-uplets 30 représentatif de l'ensemble de données DS, où M et n sont des entiers positifs et supérieurs ou égaux à 1. Un mode de réalisation est illustré par la figure 2 dans le cas particulier de données numériques de type vidéo. Sur cette figure, une image est divisée en blocs BT de taille H par W pixels, lesdits blocs BT ne 2908952 6 se recouvrant pas. Dans cet exemple, p=1, i.e. chaque 1-uplet L; comprend une seule valeur numérique notée également L. Chaque valeur L; est égale à la différence est égale à la différence entre la luminance moyenne M2i,i d'un premier bloc BT et la luminance moyenne M2;+1,j d'un deuxième bloc BT situé 5 juste en dessous dudit premier bloc, i.e. Lo=M1,o-Mo,o, ..., LM-1= M2n+1,m-M2n,m, où M;,i est la moyenne de luminance du bloc BT de coordonnés (i, j). Pour une image de taille 720 par 576 pixels, il est avantageux d'utiliser des blocs BT de taille 32 par 32 pixels. Le deuxième bloc est adjacent au premier bloc et est localisé en dessous de ce premier bloc. Selon une variante, chaque valeur L; 10 est calculée à partir des moyennes de luminance calculée pour P blocs colocalisés dans P images consécutives de la vidéo, i.e. Lo=M1,o-Mo,o, ..., Lm_ 1= M2n+1,m-M2n,m, où M;,j est la moyenne de luminance de N blocs BT de coordonnés (i, j) appartenant à P images consécutives. Plus généralement, le premier ensemble de M p-uplets peut être généré à partir de données 15 numériques préalablement transformées, p.ex. à partir de coefficients d'ondelette ou de coefficients DCT ( Discrete Cosine Transform en anglais). Selon une autre variante, un p-uplet L; comprend au moins deux valeurs numériques. Par exemple, un p-uplet L; généré à partir d'un bloc BT de l'image comprend les valeurs de luminance associées à chaque pixel du 20 bloc BT. Dans ce cas, p=H*W. L'étape 20 consiste à quantifier chacun des M p-uplets L; avec N quantificateurs en N p-uplets quantifiés, i.e. N p-uplets quantifiés Lk,k E [0,N -1] sont générés à partir de chaque p-uplet L. Dans le cas particulier où N=2 et où chaque p-uplet comprend une unique valeur 25 numérique L;, les deux fonctions de quantifications sont définies comme suit : Li ùQpq(Li +tl)+Qp /2ùtl Lil ùQpq(Li +t2)+Qp /2ùt2 où : - q(x) = E(x) six o , q (x)E( x+l) -1 si x 1 alors si B>0, TB(x) = (s +1) - s* x, sinon TB(x)=(-s+1)-s*x. 25 L'étape 40 du procédé de tatouage consiste alors à modifier au moins une donnée de l'ensemble de données numériques initial DS de telle sorte qu'un premier ensemble de données généré, selon l'étape 10, à partir de l'ensemble de données ainsi modifiées, soit égal au second ensemble de M puplets. Plus précisément, cette étape 40 consiste à modifier en fonction du 30 second ensemble de M p-uplets déterminé à l'étape 30 au moins une donnée de l'ensemble de données numériques de telle sorte que 2908952 10 d i E [0,M -1] L1 = L1. Dans le cas particulier où L; est égale à la différence entre la luminance moyenne M2k,; d'un premier bloc BT et la luminance moyenne M2k+1,j d'un deuxième bloc BT situé juste en dessous dudit premier bloc, on peut, par exemple, modifier M2k,; Si L; ùL1 est positif et M2k+1,; Si L; ùL1 est L. ùL. 5 négatif. Si L. ùL1 est positif, on va, par exemple, ajouter HW ' à la valeur de luminance de chaque pixel du bloc M2k,;. Cette quantité étant généralement non entière, on peut ajouter une quantité différente à la valeur de luminance de chaque pixel afin que la relation L; = L1 soit strictement vérifiée. Cette méthode de tatouage permet d'imposer une modification la plus petite 10 possible de l'ensemble de données numériques initiales DS en accord avec le treillis. Avantageusement, elle permet de maximiser l'invisibilité du tatouage tout en imposant une modification robuste aux modifications subies lors du traitement et/ou transmission. Cette robustesse dépend des paramètres du treillis. 15 L'invention concerne également un procédé d'estimation de la qualité après transmission et/ou traitement d'un ensemble de données numériques tatoué par le procédé de tatouage défini précédemment. A cet effet, en référence à la figure 4, le procédé comprend une étape 110 qui consiste à 20 générer, à partir de l'ensemble DR de données numériques tatoué selon le procédé décrit ci-dessus et transmis et/ou traité, un premier ensemble de M puplets {L; } E[o,M-1] représentatif de l'ensemble de données DR, où M est un entier positif et M >_1. Chaque p-uplet ainsi généré comprend au moins une valeur numérique. L'étape 110 est la même étape que l'étape 10 du procédé 25 de tatouage appliquée sur l'ensemble de données numériques initiales DS avant transmission et/ou traitement. L'étape 120 consiste à quantifier chacun des M p-uplets L; avec N quantificateurs en N p-uplets quantifiés, i.e. N p-uplets quantifiés Lk,k E [0,N -1] sont générés à partir de chaque p-uplet L. L'étape 120 est la 30 même étape que l'étape 20 du procédé de tatouage appliquée avant transmission et/ou traitement. 2908952 11 L'étape 130 consiste à déterminer dans un lot prédéfini d'ensembles de M p-uplets, l'ensemble {L, }E[o,M1] le plus proche au sens d'une métrique prédéfinie du premier ensemble de M p-uplets. L'étape 120 est, de préférence, la même étape que l'étape 30 du procédé de tatouage appliquée 5 avant transmission et/ou traitement. L'étape 140 consiste à calculer un score représentatif de la qualité de l'ensemble de données DR traité et/ou transmis. Dans le cas où chaque valeur L; est égale à la différence entre la luminance moyenne M2i,i d'un premier bloc BT et la luminance moyenne M2;+1,j d'un deuxième bloc BT situé 10 juste en dessous dudit premier bloc, l'algorithme de Viterbi permet d'estimer la déformation des différences des valeurs moyennes de blocs verticaux consécutifs. Un score est calculé en moyennant ces estimations sur toute l'image. Selon une variante le score est calculé comme étant la valeur minimal de ces estimations. Le score calculé est quasi-constant sur des 15 images d'un même plan dans le cas où il n'y a pas d'évènement, i.e. pas de dégradation de la qualité. Une chute de score correspond donc soit à un changement de plan, soit à un évènement. Ce score sera le score retenu pour la détection d'évènements. Pour compléter ce détecteur, on peut y associer un détecteur de changement de plan afin de pouvoir discriminer entre les cas 20 de changements de plan et les cas d'évènements. Un évènement correspond au cas où le score chute alors qu'il n'y a pas de changement de plan. Un dispositif de tatouage 5 adapté pour mettre en oeuvre le procédé de tatouage décrit précédemment est illustré par la figure 5. Il comprend 25 notamment un module 50 adapté pour générer à partir de l'ensemble de données numériques initiales DS un premier ensemble {L1 } e[o,M1] de M p- uplets représentatif de l'ensemble de données DS, où M et n sont des entiers positifs et supérieurs ou égaux à 1. Il comprend également un module 51 adapté pour quantifier chacun des M p-uplets L; avec N quantificateurs en N 30 p-uplets quantifiés, notés Lk,k E [0,N-1]. En outre, le dispositif 5 comprend un module 52 adapté pour déterminer dans un lot prédéfini d'ensembles de M p-uplets, également appelé dictionnaire, l'ensemble {L,}E[o,M1] le plus proche 2908952 12 au sens d'une métrique prédéfinie du premier ensemble {L, },E[o,Mi] de M p- uplets. Il comprend par ailleurs un module 53 adapté pour modifier au moins une donnée de l'ensemble de données numériques initial DS en des données modifiées DS out de telle sorte qu'un premier ensemble de données généré 5 par le module 50 à partir de l'ensemble de données ainsi modifiées soit égal au second ensemble de M p-uplets. Selon un mode particulier de réalisation le module 52 comprend un décodeur de Viterbi. Bien entendu, l'invention n'est pas limitée aux exemples de réalisation 10 mentionnés ci-dessus. En particulier, l'homme du métier peut apporter toute variante dans les modes de réalisation exposés et les combiner pour bénéficier de leurs différents avantages. L'invention peut notamment être généralisée à un quantificateur non uniforme, c'est-à-dire dont les pas de quantification varient. Par exemple, on peut quantifier plus finement des 15 valeurs faibles pour tenir compte de critères de robustesse et/ou de visibilité. Si on travaille sur des p-uplets de coefficients DCT, on peut faire varier Qp en fonction de la fréquence desdits coefficients afin de tenir compte du fait que les coefficients haute fréquence sont moins visibles/robustes. De manière générale le procédé peut être utilisé pour déterminer la 20 qualité d'un signal autre qu'un signal vidéo par exemple un signal audio. L'invention est avantageusement utilisée pour des applications temps réel de surveillance d'un canal de transmission. 25 Revendications 1. Procédé de tatouage d'un ensemble de données numériques caractérisé en ce qu'il comprenant les étapes suivantes : a. générer (10), à partir d'au moins une partie dudit ensemble de données numériques, un premier ensemble de M n-uplets représentatifs dudit ensemble de données numériques avec n et M entiers , M>_1 et n>_1; b. déterminer (30), dans un lot prédéfini de K n-uplets, un ensemble de M n- uplets, dit deuxième ensemble, le plus proche au sens d'une métrique prédéfinie dudit premier ensemble avec K entier et K>_M; et c. modifier (40) au moins une donnée dudit ensemble de données numériques de telle sorte que ledit premier ensemble généré selon l'étape a) à partir dudit ensemble de données modifié soit égal audit deuxième ensemble. 2. Procédé selon la revendication 1, dans lequel l'étape (30) de détermination dudit deuxième ensemble est précédée d'une étape (20) de quantification avec N quantificateurs de chacun desdits n-uplets dudit premier ensemble en N n-uplets quantifiés, avec N entier et N 2 et dans lequel ledit lot prédéfini est un sous-ensemble desdits n-uplets quantifiés ou l'ensemble desdits nuplets quantifiés. 3. Procédé selon la revendication 1 ou 2, dans lequel l'étape b) consiste en un décodage de Viterbi. 4. Procédé selon l'une des revendications 1 à 3 , dans lequel ledit ensemble de données numérique est une image. 5. Procédé selon la revendication 4, dans lequel ladite image est divisé en 30 blocs de pixels ne se recouvrant pas, n est égal à 1 et dans lequel chaque 1-uplet dudit premier ensemble est égal à la différence entre la luminance moyenne d'un premier bloc de ladite image et la luminance moyenne d'un 2908952 14 deuxième bloc de ladite image, ledit deuxième bloc étant adjacent audit premier bloc et localisé en dessous dudit premier bloc. 6. Procédé selon l'une des revendications 1 à 5, dans lequel N=2. 5 7. Procédé d'estimation de la qualité après transmission et/ou traitement d'un ensemble de données numériques tatoué par le procédé de tatouage selon la revendication 1, caractérisé en ce qu'il comprend les étapes suivantes : a. générer (110), à partir d'au moins une partie dudit ensemble de données 10 numériques, un premier ensemble de M n-uplets représentatifs dudit ensemble de données numériques avec n et M entiers , M>_1 et n>_1; b. déterminer (130), dans un lot prédéfini de K n-uplets, un ensemble de M nuplets, dit deuxième ensemble, le plus proche au sens d'une métrique prédéfinie dudit premier ensemble avec K entier et K>_M; et 15 c. estimer (140) la qualité dudit ensemble de données numériques transmis et/ou traité en calculant la distance entre ledit premier ensemble et ledit second ensemble. 8. Procédé selon revendication 7, dans lequel l'étape (130) de détermination 20 dudit deuxième ensemble est précédée d'une étape (120) de quantification avec N quantificateurs de chacun desdits n-uplets dudit premier ensemble en N n-uplets quantifiés, avec N entier et N 2 et dans lequel ledit lot prédéfini est un sous-ensemble desdits n-uplets quantifiés ou l'ensemble desdits nuplets quantifiés. 25 9. Dispositif de tatouage (5) d'un ensemble de données numériques caractérisé en ce qu'il comprend: - des premiers moyens (50) pour générer, à partir d'au moins une partie dudit ensemble de données numériques, un premier ensemble de M n-uplets représentatifs dudit ensemble de données numériques avec n et M entiers, M>_1 et n1; 2908952 15 - des seconds moyens (51) pour quantifier avec N quantificateurs chacun desdits nuplets dudit premier ensemble en N n-uplets quantifiés, avec N entier et N 2 ; -des troisièmes moyens (52) pour déterminer, dans un sous-ensemble 5 desdits n-uplets quantifiés ou dans l'ensemble desdits n-uplets quantifiés, un ensemble de M n-uplets, dit deuxième ensemble, le plus proche au sens d'une métrique prédéfinie dudit premier ensemble; - des quatrièmes moyens (53) pour modifier au moins une donnée dudit ensemble de données numériques de telle sorte que ledit premier ensemble 10 généré par lesdits premiers moyens à partir dudit ensemble de données modifié soit égal audit deuxième ensemble. 10. Dispositif selon la revendication 9, dans lequel lesdits troisièmes moyens (52) comprennent un décodeur de Viterbi.