Brevet FR3007235A1 — publié le 20141219

Dispositif de traitement de données L'invention concerne le domaine du traitement de données. Dans de nombreux environnements, les titulaires de droits de médias, qu'ils soient audio ou vidéo par exemple, souhaitent être capables de détecter la diffusion des médias sur lesquels ils détiennent des droits. Pour cela, deux grandes familles de traitements de données existent : la génération d'empreinte (« fingerprinting » en anglais), et le marquage (« watermarking » en anglais). Les exemples les plus connus d'utilisation de ces technologies concernent la recherche d'utilisation de contenus diffusés illégalement sur des réseaux ou la détection sur les plateformes de partage vidéo de contenus protégés afin de proposer à l'ayant-droit de faire retirer son contenu ou de partager avec la plateforme les revenus tirés de la monétisation publicitaire des visionnages de son contenu. Mais cela ne représente qu'une partie assez peu significative des besoins. En effet, de nombreux modèles économiques de valorisation des droits des titulaires sont basés sur une rémunération basée sur le nombre de diffusions par des réseaux licites, comme les radios ou les chaînes de télévision. Dans le cas particulier de la publicité, ces contrats prévoient la diffusion de médias selon un certain nombre et dans certaines plages horaires contre une rémunération. Cependant, pour diverses raisons, les programmes des chaînes de radio et de télévision sont bouleversés en permanence, et le programme qui est prévu par la régie de publicité n'est pour ainsi dire jamais respecté, et des arbitrages sont réalisés par les chaînes de radio et de télévision pour respecter leurs engagements. Néanmoins, sauf à engager des personnes dont le seul métier est de suivre l'ensemble des chaînes de radio et de télévision concernées par une campagne de publicité donnée pour une entreprise donnée, il n'est pas possible de vérifier si les contrats sont effectivement respectés. Au surplus, ces personnes seraient employées soit par une chaîne de radio ou de télévision, soit par une entreprise qui a acheté de l'espace publicitaire. Elles ne seraient donc pas considérées comme impartiales. Des tiers ont donc rempli le vide qui existe dans les relations annonceurs-chaînes de radio ou de télévision, et ils sont connus comme des tiers de confiance. Cependant, ici encore, il faut faire confiance à ces tiers, et leurs services sont très onéreux. Il existe donc historiquement un besoin d'avoir un outil qui permette de rendre plus objective la relation entre les annonceurs et les chaînes de radio ou de télévision. Ce besoin peut difficilement être rempli par le biais du marquage : en effet, le marquage doit être réalisé dès la production du média concerné, ce qui coûte cher et est difficilement rattrapable ensuite. De plus, les coûts de détection du marquage sont très importants, requièrent un calcul intensif très consommateur de ressources en environnement mobile, et les techniques de marquage connues peuvent être dégradées de manière irréversible lorsque la chaîne de radio ou de télévision retouche son signal pour 1 ' émission. Quant aux méthodes de génération d'empreinte, elles ont tendance à échouer à maintenir un niveau de qualité de détection satisfaisant en passant "à l'échelle" (c'est-à- dire que leur capacité à identifier un contenu baisse significativement lorsque le volume de données à identifier augmente significativement), ou à avoir des performances insuffisantes, à moins de présenter un coût de détection trop élevé pour pouvoir faire du temps réel. Au-delà du problème décrit ci-dessus, il existe un besoin de permettre aux chaînes de radio ou de télévision de connaître en temps réel leur programmation et/ou leur publicité, de manière totalement fiable, afin de pouvoir valoriser les médias dont l'utilisation est en augmentation exponentielle et qui sont connus sous le nom de « second écran » (« second screen » en anglais). En effet, de nombreuses chaînes de radio ou de télévision permettent à leurs auditeurs d'utiliser leur tablette ou leur téléphone intelligent (« smartphone » en anglais) avec une application qu'ils leur fournissent afin d'enrichir leur expérience au cours d'un programme donné. Ici encore, la connaissance exacte et instantanée de la grille de programmation réellement diffusée par la chaîne de radio ou de télévision est un atout conséquent indisponible à ce jour, mais qui permettrait par exemple de diffuser des publicités ciblées sur le second écran, publicités dont il est bien connu qu'elles ont une valeur dix à cent fois plus importante que celles des bannières classiques. Par ailleurs, il est souvent désirable pour ces applications de pouvoir authentifier la chaîne ou le contenu regardés par un téléspectateur, afin par exemple de réserver l'usage du service aux utilisateurs effectivement en train de regarder une chaîne ou un contenu donnés. Le problème devient encore plus épineux si l'on considère les éditeurs d'applications mobiles proposant des applications "transversales" sur un ensemble de chaînes, et non plus sur une seule chaîne en particulier. Pour toutes ces raisons, il existe un besoin d'offrir un dispositif de traitement de données qui soit efficace pour permettre la détection instantanée et exacte d'un programme de diffusion réelle d'une chaîne de radio ou de télévision. L'invention vient améliorer la situation. À cet effet, l'invention propose un dispositif de traitement de données de données audio-vidéo en flux, comprenant un sélecteur agencé pour déterminer des données d'entrée relatives à un flux audio ou à un flux vidéo dans les données audio-vidéo en flux, un convertisseur agencé pour produire des données d'image à une fréquence choisie à partir des données d'entrée, un encodeur agencé pour produire des données compressées à partir des données d'image, et un projecteur agencé pour produire des données d'empreinte à partir des données compressées, le convertisseur étant agencé pour produire les données d'image sous la forme d'une image de dimension fixe, l'encodeur étant agencé pour travailler successivement sur chaque image décrite par les données d'image, et le projecteur étant agencé pour produire les données d'empreinte en flux à partir du poids des données compressées produites successivement. Selon d'autres aspects, le dispositif peut également présenter les caractéristiques suivantes : le convertisseur est agencé pour segmenter des données d'entrée relatives à un flux audio en fenêtres successives d'échantillons, et pour convertir les données d'entrée de chaque fenêtre en données d'image successives en convertissant l'amplitude de chaque échantillon en une valeur de nuance de gris, le convertisseur étant en outre agencé pour produire des données d'image d'une fenêtre donnée sous la forme d'une image dans laquelle des pixels successifs d'une ligne donnée correspondent à des échantillons successifs des données d'entrée qui ont chacun une valeur de nuance de gris correspondante, et dans laquelle les lignes de l'image sont identiques les unes aux autres, les fenêtres présentent une durée de 0,25 s, et sont séparées les unes des autres par un nombre d'échantillons permettant d'obtenir des données d'image à la fréquence choisie, le convertisseur est agencé pour sélectionner des images dans des données d'entrée relatives à un flux vidéo en fonction de la fréquence choisie, et pour produire les données d'image en convertissant ces images à une dimension choisie, - la dimension choisie est 120*160, - l'encodeur comprend un compresseur d'image à perte, - l'encodeur fonctionne par traitement par blocs et quantification, - l'encodeur comprend un compresseur de la famille JPEG, ou un compresseur de type WebP, - le projecteur est agencé pour produire les données d'empreinte en projetant sur une plage donnée le poids des données compressées produites successivement selon une loi de projection choisie, - la plage comprend les entiers entre 0 et 255, et la loi de projection est linéaire. ^ ^ D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui suit, tirée d'exemples donnés à titre illustratif et non limitatif, tirés des dessins sur lesquels : - la figure 1 représente un exemple d'environnement de mise en oeuvre d'un dispositif selon l'invention, - la figure 2 représente un dispositif selon l'invention, - la figure 3 représente un exemple d'empreinte produite en utilisant un premier algorithme d'encodage, - la figure 4 représente un exemple d'empreinte produite en utilisant un second algorithme d'encodage. Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la présente invention, mais aussi contribuer à sa définition, le cas échéant. La figure 1 représente un environnement de mise en oeuvre d'un dispositif selon l'invention. Dans cet environnement, un titulaire émet des contenus non marqués à partir d'un serveur de contenu 10. Les contenus émis sont reçus par des utilisateurs par divers dispositifs de consommation de média, comme un ordinateur 12, une tablette 14 ou une radio 16. Ces dispositifs de consommation de média sont agencés pour mettre en oeuvre le dispositif selon l'invention, et pour contacter un serveur d'empreinte 18 pour identifier en temps réel le contenu reçu par un dispositif de consommation, et pour renvoyer à ce dernier un identifiant de contenu et/ou d'autres informations complémentaires, comme de la publicité ciblée. Il convient de comprendre que l'invention a une application très large, en ce sens que : - le titulaire peut émettre des contenus audio (par exemple une radio numérique, terrestre, ou par Internet, ou toute autre fourniture de contenu audio), comme des contenus vidéo (par exemple une chaîne de télévision, ou un fournisseur de VOD ou de contenu par Internet comme Youtube ou Dailymotion (marques déposées), ces contenus étant ainsi globalement qualifiés d'audio-vidéo, c'est-à-dire audio, vidéo, ou combinant les deux, - les dispositifs de consommation peuvent comprendre tout dispositif propre à mettre en oeuvre le dispositif décrit avec la figure 2, qu'il s'agisse (en plus des dispositifs déjà cités en exemple) d'un téléphone intelligent (smartphone en anglais), d'une télévision connectée, d'un boîtier de télévision connectée, d'un serveur dédié à l'analyse de contenus, ou de tout autre dispositif adapté, - le serveur de contenu peut être connecté à des serveurs tiers pour la fourniture d'informations complémentaires du contenu identifié, ou bien être une boîte noire ( black box en anglais) qui réalise à la fois l'identification de contenu et la détermination d'informations complémentaires. Comme cela a été évoqué en introduction, une solution efficace en termes de coûts et de performance pour le type d'environnement représenté sur la figure 1 est recherché depuis longtemps. L'invention vient résoudre ce problème grâce à un dispositif qui produit une empreinte robuste, légère, et à faible coût de calcul. Le Demandeur a constaté que les solutions de marquage ou de génération d'empreinte connus cherchent à qualifier les contenus individuellement, comme s'il s'agissait d'entités autonomes, sans tenir compte de leur environnement d'émission. De ce fait, les marquages et empreintes résultants sont souvent fortement corrélés au contenu lui-même, et représentent en fait une sorte de simplification du contenu original, finalement assez proche de l'original. Partant du principe que les contenus sont principalement émis et consommés en flux dans le cadre des applications qui le concernent, le Demandeur a cherché à abstraire l'empreinte générée, tout en la corrélant fortement à l'information transportée par le contenu, sans à aboutir à une version « miniature » du contenu original. Ces travaux ont abouti au dispositif représenté schématique sur la figure 2, qui sera maintenant décrite. Le dispositif selon l'invention comprend un sélecteur 20, un convertisseur 22, un encodeur 24 et un projecteur 26. Le sélecteur 20 a pour fonction de démultiplexer le flux original, c'est-à-dire de recevoir des données audio-vidéo en flux, et d'en extraire la piste audio ou vidéo afin de former un flux de données d'entrée. Le flux de données d'entrée contient exclusivement des données audio ou exclusivement des données vidéo. Ainsi, si les données audio-vidéo en flux reçues concernent un flux audio, alors le sélecteur 20 produit des données d'entrée désignant l'amplitude des échantillons successifs de ce flux audio. Si les données audio-vidéo en flux reçues concernent un flux vidéo, alors le sélecteur 20 produit d'une part des données d'entrée correspondant au flux audio de la vidéo, et d'autre part des données d'entrée correspondant au flux image de la vidéo, par démultiplexage. En variante, le sélecteur 20 peut omettre de produire les données d'entrée correspondant au flux image de la vidéo. Le sélecteur 20 appelle le convertisseur 22 avec les données d'entrée ent dat et produit en sortie des données d'image im da t. Cette étape est fondamentale, et sera expliquée plus en détail dans la suite. Le convertisseur 22 est agencé pour produire les données d'image différemment selon que les données d'entrée sont relatives à un flux audio ou à un flux vidéo. Le convertisseur 22 est agencé pour produire des images successives de dimension fixe à partir des données d'entrée. Dans le cas de donnée d'entrée relatives à un flux audio, le convertisseur 22 reçoit donc un flux de données d'entrée, et découpe ce flux d'entrée en fenêtres successives. Chaque fenêtre contient un nombre d'échantillons dépendant de la longueur de la fenêtre et de la fréquence d'échantillonnage du flux audio correspondant aux données d'entrée. À chaque fenêtre correspondra des données d'image définissant une image en sortie. Pour chaque fenêtre, le convertisseur 22 convertit l'amplitude des échantillons successifs en valeurs en niveau de gris afin de définir une ligne de pixels dont la longueur correspond au nombre d'échantillons dans la fenêtre. Ensuite, la ligne de pixels est répétée un nombre de fois choisi pour former l'image correspondant à la fenêtre. Dans l'exemple décrit ici, la ligne de pixels est copiée 8 fois, de sorte que la dimension des images produites est de L*8, où L désigne le nombre d'échantillons audio dans chaque fenêtre. En partant d'un flux audio encodé à 44,1 kHz, de fenêtre de 0,25 s, et pour une empreinte de fréquence 25 Hz, on obtient : - des fenêtres contenant chacune 11 025 échantillons, - les fenêtres successives étant décalées de 1764 échantillons l'une par rapport à l'autre, - des images de dimension 11025*8. Lorsque le flux audio des données d'entrée présente une autre fréquence d'échantillonnage, par exemple 48 kHz, les données d'entrée peuvent être transformées pour les ramener à 44,1 kHz, ou le convertisseur 22 peut agir en produisant des pixels dont la valeur en niveaux de gris tient compte de ce ré-échantillonnage, par exemple par extrapolation. Lorsque le flux audio contient plusieurs canaux, l'échantillonnage peut être basé sur l'un des canaux uniquement, ou sur une moyenne des canaux. Le calcul de la valeur en niveaux de gris pour chaque pixel dépend de la quantification du flux audio des données d'entrées. Dans l'exemple décrit ici, le convertisseur 22 produit des images codées en 256 niveaux de gris. Ainsi, si les données d'entrée représentent un flux quantifié sur 16 bits, il faudra projeter l'amplitude de chaque échantillon de [0 ; 65536] vers [0 ; 255]. Dans l'exemple décrit ici, la projection est linéaire. Cependant, la projection peut également être gaussienne, ou toute autre projection adaptée. Dans le cas où les données d'entrée sont relatives à un flux vidéo, le convertisseur 22 est agencé pour produire des images successives de dimension fixe. Pour rappel, un flux vidéo met en oeuvre deux dispositifs principaux: un conteneur (dont le rôle est de transporter des paquets élémentaires d'information) et un codec (dont le rôle est de coder et décoder les paquets élémentaires). Quelque soit le type de conteneur et de codec vidéo utilisé par un flux, la décompression élémentaire de ce flux donne naissance à une série d'images ordonnées temporellement, de taille fixe (par exemple 1920x1080 pour un signal TV au format HD). Néanmoins, un ré-encodage de ce flux pour un terminal mobile (par exemple 720x576 pixels pour un signal TV au format SD) donnera lieu à des images de définition différente. Par ailleurs, d'autres paramètres de diffusion influencent la taille finale de l'image élémentaire d'un flux, comme l'ajout de barres noires horizontales pour transformer un signal 16:9 en signal 4:3. Afin d'éliminer la dépendance des étapes ultérieures de traitement à la taille de l'image originale, celle- ci est "retaillée" à une taille fixe, indépendamment du flux d'entrée. Cette situation est assez classique, et il s'agit donc de réduire une image de dimensions données par le flux vidéo à un format choisi, 120*160 dans l'exemple ici décrit. Dans le cas où les images du flux vidéo des données d'entrée présentent un aspect différent de 120*160, le convertisseur 22 peut opérer : - en coupant des parties choisies de chaque image afin de retrouver le même ratio d'aspect que les images produites par le convertisseur 22 (c'est-à-dire 3/4), ou - en extrapolant des parties choisies de chaque image afin de retrouver le même ratio d'aspect que les images produites par le convertisseur 22 (c'est-à-dire 3/4), ou - en produisant des images dont le ratio d'aspect correspond à celui des images des données d'entrées, c'est-à-dire 120*(K*160) où K est un facteur de compensation d' aspect. Comme pour le cas où les données d'entrée concernent un flux audio, il est prévu de produire un flux d'empreinte à 25 Hz. Le convertisseur 22 est donc agencé pour sélectionner une image tous les 1/25e de secondes dans les données d'entrées. Dans le cas où le flux vidéo des données d'entrée est présente une cadence différente de 25 images par seconde, par exemple à 30 images par seconde, le convertisseur 22 peut réaliser une extrapolation d'images entourant chaque marqueur de temps à 25 Hz. En sortie, le convertisseur 22 transmet les données d'image correspondant à chaque image successive tirée des données d'entrée à l'encodeur 24. L'encodeur 24 a pour fonction de produire des données compressées comp dat qui constituent une version compressée des données d'image. Dans l'exemple décrit ici, l'encodeur 24 est l'encodeur JPEG standard, libre, développé et distribué par l'Independent JPEG Group. En variante, l'encodeur 24 pourrait également être un l'encodeur WebP open-source développé par Google. L'encodeur 24 a pour particularité de réaliser un encodage à perte fonctionnant par traitement par blocs et quantification. D'autres algorithmes d'encodage d'image présentant des caractéristiques similaires pourront être envisagés. En sortie, les données compressées sont transmises au projecteur 26. Le projecteur 26 vient générer le flux de données d'empreinte prnt dat en prenant le poids informatiques des données compressées générées successivement par l'encodeur 24, et en les projetant sur l'intervalle [0 ; 255]. Dans l'exemple décrit ici, la projection est linéaire. Cependant, la projection peut également être gaussienne, ou toute autre projection adaptée. Les figures 3 et 4 représentent des exemples d'empreintes produites à partir d'un encodeur JPEG pour la figure 3, et WebP pour la figure 4. De manière étonnante, ces empreintes sont presque superposables. L'utilisation de l'encodeur 24 rend les données d'empreinte robustes au bruit de transmission du flux définissant les données d'entrée, et produit des données compressées dont le poids est une mesure intrinsèque de la quantité information (au sens de Shannon) portée par les données d'image. Ainsi les données d'empreinte sont abstraites par rapport aux données d'entrée, tout en leur étant fortement liées. De plus, si des données d'empreintes prises isolément ne sont pas toujours discriminantes, le fait qu'elles soient générées en flux rend le procédé de génération d'empreinte particulièrement robuste, répétable et discriminant. Ainsi le flux d'empreintes présente un caractère d'invariance par rapport aux transformations ou pertes pouvant affecter un signal vidéo ou audio lors de sa transmission et de sa restitution (bruit, ré-encodage, redimensionnement, changement de couleurs, de contraste ou de brillance) et un pouvoir descriptif permettant d'identifier de manière unique n'importe quel extrait de ce flux. Enfin, le procédé de génération est très peu coûteux en temps de calcul, ce qui permet de générer une empreinte robuste en temps réel. La conversion d'un flux de données d'entrées relatives à un flux audio ou vidéo indifféremment en données d'images successives peut paraître étonnante. Il s'agit là d'une découverte majeure du Demandeur. En effet, on a vu que le Demandeur a orienté ses recherches sur la génération d'empreinte en tenant compte du fait que les contenus sont émis en flux. Ce faisant, il a découvert qu'il est avantageux de produire une empreinte également sous forme de flux. Poursuivant ses recherches, le Demandeur a identifié que les éléments élémentaires du flux (les images pour un flux vidéo, et les fenêtres d'échantillons pour un flux audio) représentent des informations de nature instantanée statique/spatiale. Cette découverte l'a en revanche amené à écarter les encodeurs vidéo ou audio générateurs d'empreinte qui corrèlent intrinsèquement les éléments du flux pour tirer partie des redondances entre les éléments élémentaires successifs d'un flux. C'est ainsi que le Demandeur s'est intéressé aux algorithmes de compression d'image comme le JPEG, qui permettent de réduire le bruit, tout en ne préservant que la quantité « utile » des informations, qui est reflétée par le poids variable de chaque image. Cela l'a mené à la structure de conversion/encodage/projection du poids qu'il a appliqué aux flux vidéo. Poursuivant ses recherches, le Demandeur a également découvert que cet avantage est obtenu aussi bien lorsque qu'il s'agit d'un flux audio que d'un flux vidéo, et que la nature audio ou vidéo du flux pour lequel est généré l'empreinte importe moins que le fait que ce flux transporte des informations de nature séquentielle et instantanée. Il en résulte un procédé de génération d'empreinte très léger tant du point de vue du poids des empreintes générées que du coût de génération des empreintes. Dans ce qui précède, il est considéré que les données audio-vidéo en flux sont de nature numérique. En variante, le dispositif selon l'invention pourra comprendre un étage d'acquisition analogique et de conversion numérique selon les formats préconisés décrits plus haut. De même les exemples décrits ici préconisent un flux audio de données d'entrée à 44,1 kHz, avec des fenêtres de 0,25 s, et pour un flux de données d'empreinte à 25 Hz, et un flux vidéo de données d'entrée à 25 images par secondes, avec un ratio d'aspect de 3/4. Ces éléments particuliers pourront varier en fonction des applications recherchées. Enfin, en plus de la fourniture de service de tiers de confiance automatisé, ainsi que d'informations complémentaires et/ou de publicité ciblée, le dispositif de l'invention peut également servir à détecter la présence de contenus illicites à l'émission sur les plateformes de partage de contenu, par détection à l'entrée avant tout partage, ce qui offre une grande sécurité aux hébergeurs de contenu. REVENDICATIONS1. Dispositif d'analyse de données audio-vidéo en flux, caractérisé en ce qu'il comprend un sélecteur (20) agencé pour déterminer des données d'entrée relatives à un flux audio ou à un flux vidéo dans les données audio-vidéo en flux, un convertisseur (22) agencé pour produire des données d'image à une fréquence choisie à partir des données d'entrée, un encodeur (24) agencé pour produire des données compressées à partir des données d'image, et un projecteur (26) agencé pour produire des données d'empreinte à partir des données compressées, le convertisseur (22) étant agencé pour produire les données d'image sous la forme d'une image de dimension fixe, l'encodeur (24) étant agencé pour travailler successivement sur chaque image décrite par les données d'image, et le projecteur (26) étant agencé pour produire les données d'empreinte en flux à partir du poids des données compressées produites successivement. 2. Dispositif selon la revendication 1, dans lequel le convertisseur (22) est agencé pour segmenter des données d'entrée relatives à un flux audio en fenêtres successives d'échantillons, et pour convertir les données d'entrée de chaque fenêtre en données d'image successives en convertissant l'amplitude de chaque échantillon en une valeur de nuance de gris, le convertisseur (22) étant en outre agencé pour produire des données d'image d'une fenêtre donnée sous la forme d'une image dans laquelle des pixels successifs d'une ligne donnée correspondent à des échantillons successifs des données d'entrée qui ont chacun une valeur de nuance de gris correspondante, et dans laquelle les lignes de l'image sont identiques les unes aux autres. 3. Dispositif selon la revendication 2, les fenêtres présentent une durée de 0,25 s, et sont séparées les unes des autres par un nombre d'échantillons permettant d'obtenir des données d'image à la fréquence choisie. 4. Dispositif selon la revendication 1, dans lequel le convertisseur (22) est agencé pour sélectionner des images dans des données d'entrée relatives à un flux vidéo en fonction de la fréquence choisie, et pour produire les données d'image en convertissant ces images à une dimension choisie. 5. Dispositif selon la revendication 4, dans lequel la dimension choisie est 120*160. 6. Dispositif selon l'une des revendications précédentes, dans lequel l'encodeur (24) comprend un compresseur d'image à perte. 7. Dispositif selon la revendication 6, dans lequel l'encodeur (24) fonctionne par traitement par blocs et quantification. 8. Dispositif selon la revendication 7, dans lequel l'encodeur (24) comprend un compresseur de la famille JPEG, ou un compresseur de type WebP. 9. Dispositif selon l'une des revendications précédentes, dans lequel le projecteur (26) est agencé pour produire les données d'empreinte en projetant sur une plage donnée le poids des données compressées produites successivement selon une loi de projection choisie. 10. Dispositif selon la revendication 9, dans lequel la plage comprend les entiers entre 0 et 255, et dans lequel la loi de projection est linéaire.