Brevet FR2909506A1 — publié le 20080606

Structuration d'un flux de données numériques La présente invention concerne la structuration d'un flux de données numériques. Plus précisément, l'invention se rapporte à l'extraction de séquences répétitives à partir d'un flux de données numériques, en particulier mais non exclusivement d'un flux audiovisuel. La technique de l'invention trouve notamment, mais pas seulement, des applications dans le domaine de la mise à disposition du public de contenus tels que des programmes radiophoniques ou télévisuels par exemple pour offrir des services de télévision à la demande, l'archivage et la consultation de données documentaires, le contrôle de la diffusion de programmes. En raison des applications possibles, l'extraction de séquences répétitives à partir d'un flux de données numériques fait l'objet de nombreuses recherches et publications. Les approches les plus simples et les plus directes pour l'extraction de séquences à partir d'un flux audiovisuel reposent sur l'utilisation des informations de programmation véhiculées dans le flux lui-même via des EIT (Event Information Tables) ou mises à disposition de façon indépendante par l'émetteur du flux (ex : guide de programmes). Les approches reposant sur l'utilisation des informations de programmation présentent l'inconvénient d'être imprécises et incomplètes car les informations sur lesquelles elles se basent sont souvent elles-mêmes imprécises (par ex, les horaires sont donnés à titre indicatif) et incomplètes (beaucoup de programmes, notamment les petits programmes n'y sont pas mentionnés). Un autre inconvénient est que tout changement de programmation génère une erreur. 2909506 2 La technique décrite dans l'article de Jean-Philippe Poli intitulé "Predicting program guides for video structuring" (In Proc. of the 17th IEEE International Conference on Tools with Artificial Intelligence, pages 407 - 411, Hong-Kong, China, Novembre 2005) propose une approche prédictive qui se 5 base sur l'étude des informations de programmation corrigées de toute une année pour apprendre des règles de programmation. Ces règles sont représentées par un modèle de Markov caché qui permet ainsi de corriger le guide de programmes d'une journée hors période d'apprentissage. Comme pour les approches précédentes, la technique de Jean-Philippe 10 Poli présente l'inconvénient d'être imprécise et incomplète car elle repose sur la stabilité de la grille des programmes et sur la disponibilité d'informations de programmation corrigées sur une longue durée pour l'apprentissage. En outre, cette technique est très lourde à mettre en oeuvre compte tenu du volume de données à collecter pendant la période d'apprentissage pour constituer le 15 modèle et du fait qu'il est nécessaire de constituer un modèle pour chaque flux. L'approche de Xavier Naturel, Guillaume Gravier, Patrick Gros décrite dans l'article intitulé "Fast structuring of large television streams using program guides" (4th International Workshop on Adaptive Multimedia Retrieval 20 (AMR), Geneva, Switzerland, Juillet 2006) combine plusieurs techniques. Initialement, un ensemble de références comportant des descripteurs caractérisant des programmes et inter-programmes (publicités, jingles, bandes annonces...) est constitué. Les descripteurs sont obtenus à partir du découpage en plans des programmes et inter-programmes qui constituent 25 l'ensemble de références. L'indexation du flux s'effectue en plusieurs étapes. Tout d'abord, le flux est segmenté en plans et ces plans sont caractérisés par des descripteurs. Ensuite, chaque descripteur ainsi obtenu est comparé à ceux stockés dans l'ensemble de références. Lorsqu'une correspondance est établie, le segment est étiqueté. Une fois tous les plans traités, les segments 30 qui n'ont pas pu être indexés sont classés en programmes ou inter-programmes en fonction de leur durée. Dans leur approche, Xavier Naturel et 2909506 3 al. utilisent également une technique de détection des séparations de publicités qui permet de détecter une partie des spots publicitaires diffusés et d'en déduire ainsi des segments interprogrammes qui n'auraient pas été stockés dans l'ensemble de références. Enfin, Xavier Naturel et al. combinent 5 aux deux techniques précédemment décrites l'utilisation du guide de programmes pour notamment ajouter des informations telles que le titre ou le résumé aux segments indexés. La technique de Xavier Naturel et al. présente l'avantage de ne pas reposer uniquement sur l'utilisation des informations de programmation. Mais 10 elle s'appuie principalement sur la constitution d'un ensemble de références et ses performances sont limitées par le contenu de cet ensemble de références qui est initialement créé manuellement. En particulier, ses performances se dégradent dès que de nouveaux programmes ou inter-programmes sont insérés dans le flux. Par ailleurs, l'indexation de différents flux nécessite la 15 création d'autant d'ensembles de références qu'il y a de flux, ce qui multiplie le coût de mise en oeuvre de l'approche et en limite son utilisation. D'autres approches d'extractions de séquences à partir d'un flux de données numériques reposent sur le caractère répétitif de ces séquences dans le flux. 20 La technique décrite par Liuhong Liang, Hong Lu, Xiangyang Xue, Yap-Peng Tan dans le document intitulé "Program segmentation for TV vidéos" (IEEE Int. Symposium on Circuits and Systems, vol. 2, pages 1549 - 1552, 2005) suppose que tous les programmes possèdent un jingle de début et un jingle de fin. Une période d'apprentissage hors ligne sur un flux enregistré 25 permet de détecter ces jingles en les considérant comme des plans qui se répètent. La détection des jingles repose sur la recherche exhaustive de plans similaires. Pour cela, l'approche proposée nécessite tout d'abord la segmentation du flux en plans et l'extraction à partir de chaque plan d'une image clé (image du milieu du plan). La similarité entre deux plans prend en 30 compte la durée de chaque plan, la mesure de mouvement intra-plan et le descripteur (histogramme de couleur) de l'image clé de chaque plan. Enfin, 2909506 4 l'exhaustivité de la recherche de plans similaires est réalisée en comparant chaque plan avec tous les autres. Les jingles identifiés pendant la période d'apprentissage seront recherchés en phase d'exploitation pour identifier les programmes longs qu'ils entourent. 5 L'approche de Liuhong Liang et al. requiert que chaque programme possède un jingle de début et un jingle de fin. Elle est rendue très coûteuse par la mise en oeuvre d'une recherche exhaustive pour l'identification de plans similaires qui est à la base de la détection des jingles. Dans le document intitulé "ARGOS: Automatically Extracting Repeating 10 Objects From Multimedia Streams" (IEEE trans. on Multimedia. Vol. 8, n 1. February 2006. pp. 115 ù 129), Cormac Herley base son approche sur la détection de séquences répétitives non connues en étudiant les corrélations temporelles du flux sur une durée déterminée, dépendante d'une taille de mémoire. Tout d'abord, il segmente le flux en N blocs de taille L et définit 15 ensuite une fonction permettant de comparer deux blocs b; et bi par corrélation. Pour que les séquences à cheval sur une frontière entre deux blocs puissent être détectées, le nombre de blocs est dédoublé de sorte qu'une seconde série de N blocs chevauche la première série avec un décalage de U2. Cela implique également que U2 est la longueur maximale 20 des séquences répétitives à découvrir dans la mémoire. Pour que la décision de détection soit fiable, la longueur de la séquence à découvrir doit être supérieure à U4,5. Cela permet d'avoir un score de corrélation suffisant pour le discerner du score obtenu entre deux séquences différentes. La longueur L est déterminée a priori lors du paramétrage initial du système. 25 La détection de séquences répétitives repose sur l'évaluation de la corrélation entre chaque séquence et toutes les autres mémorisées au sein de la mémoire. La taille de cette dernière est limitée à quelques jours ou semaines et la taille des séquences à détecter est également limitée à une durée allant de 20 / 30 secondes jusqu'à quelques minutes. 30 Pour optimiser l'approche, une bibliothèque dans laquelle sont stockées les séquences répétitives est constituée. Lors de la recherche de répétitions, 2909506 5 les séquences de la bibliothèque sont considérées préalablement à toute recherche des corrélations avec le flux stocké dans la mémoire. Par construction, la technique de Cormac Herley repose sur l'utilisation d'une mémoire et limite par conséquent la détection des séquences répétitives 5 à la partie du flux contenue dans cette mémoire. Une même séquence répétée dans deux segments d'un même flux mais mémorisés séparément ne pourra pas être détectée. De même la longueur de la séquence répétitive à détecter est limitée à la valeur fournie à l'initialisation du système. 10 L'invention a notamment pour objectif de pallier ces inconvénients de l'art antérieur. Plus précisément, un objectif de l'invention est que la solution proposée soit indépendante du flux considéré et ne nécessite pas de connaissance préalable de celui-ci. 15 Un autre objectif de l'invention est de pouvoir être applicable directement sans période d'apprentissage. L'invention a encore pour objectif de permettre la détection de tous types de segments (nature, durée...). Un autre objectif de l'invention est de permettre le rapprochement de 20 segments de tailles différentes, comme par exemple le rapprochement des bandes annonces avec les programmes longs correspondants. L'invention a aussi pour objectif de permettre la création automatique d'un catalogue, de façon itérative, sans intervention manuelle préalable. 25 A cette fin l'invention propose un procédé de structuration d'un flux de données numériques comportant l'étape de : - segmentation du flux en segments, caractérisé en ce qu'il comporte des étapes de : -description des segments au moyen de descripteurs détaillés et de 30 descripteurs sommaires, - accumulation de descripteurs détaillés et de descripteurs sommaires, 2909506 6 - regroupement de segments, en fonction de descripteurs détaillés accumulés, - formation de séquences répétitives en fonction de segments regroupés, 5 - extension de séquences répétitives, en fonction de descripteurs sommaires accumulés pendant la période donnée, pour former des séquences étendues, - suppression des descripteurs détaillés ayant permis la formation des séquences étendues. 10 Ainsi l'invention permet de traiter un flux dans sa totalité, quelle que soit sa nature, ses caractéristiques (longueur, volume des données...) et sans connaissance préalable de ce flux. Selon une caractéristique préférée, les étapes de segmentation, description et accumulation sont effectuées de façon continue lors de la lecture 15 du flux. Ainsi, l'invention permet de traiter un flux à la volée sans période d'apprentissage. Selon une caractéristique préférée, les étapes de regroupement, formation, extension et suppression sont effectuées périodiquement. 20 Les traitements étant effectués périodiquement, l'invention présente l'avantage de limiter le volume de données traitées sur une période et de minimiser le temps et le coût des différents traitements. Selon une caractéristique préférée, pour une période donnée, l'étape de regroupement des segments est réalisée sur la base des descripteurs détaillés 25 accumulés pendant la période et sur la base des descripteurs détaillés restants après accomplissement des traitements pour les périodes précédentes. Selon une caractéristique préférée, pour une période donnée, les segments regroupés n'ayant pas permis la formation des séquences étendues 30 sont réutilisés au cours d'une période suivante. 2909506 7 Les descripteurs détaillés et les segments regroupés, n'ayant pas été utilisés au cours d'une période de traitement sont conservés pour les périodes ultérieures garantissant ainsi un traitement de toutes les données disponibles. Selon une caractéristique préférée, le flux de données numériques est 5 un flux audiovisuel. Selon une caractéristique préférée, les descripteurs sommaires sont déterminés sur toutes les images du flux et les descripteurs détaillés sur des images clés. Un avantage de l'invention repose sur la création de descripteurs 10 sommaires et de descripteurs détaillés dont les caractéristiques sont différentes. Leur utilisation à des traitements différents au cours de l'invention permet d'obtenir un résultat plus complet (traitement de toutes les données disponibles) tout en ayant un coût limité. Selon une caractéristique préférée, les séquences étendues sont 15 stockées dans un catalogue de référence initialement vide. Par conséquent, il n'est pas nécessaire de créer manuellement un catalogue préalablement au traitement du flux, celui-ci étant créé automatiquement par la mise en oeuvre de l'invention. L'invention concerne aussi un dispositif de structuration d'un flux de 20 données numériques caractérisé en ce qu'il comporte des moyens de mise en oeuvre du procédé précédemment exposé. L'invention concerne encore, un programme comportant des instructions pour mettre en oeuvre le procédé exposé ci-dessus. 25 D'autres caractéristiques et avantages de la présente invention apparaîtront dans la description ci-après de modes de réalisation préférés décrits en référence aux figures dans lesquelles : - la figure 1 représente un mode de réalisation d'un procédé de structuration d'un flux de données numériques 2909506 8 - la figure 2 représente un mode de réalisation d'un procédé de recherche de séquences répétitives mis en oeuvre dans le procédé de la figure 1. 5 L'exposé de l'invention détaillé ci-dessous traite d'un mode de réalisation préféré de l'invention dans le cas particulier d'un flux audiovisuel. L'invention peut être mise en oeuvre sur un ordinateur. Un flux de données numériques se compose d'un ensemble de segments. Dans le cas particulier d'un flux audiovisuel, les segments sont des 10 plans. Chaque plan est formé d'une succession d'images avec une forte corrélation temporelle : deux images successives sont souvent presque identiques. Deux plans successifs sont séparés par une transition. De manière générale, l'invention s'applique également au cas où les segments ne sont pas séparés par des transitions, par exemple s'ils sont de longueur fixe. 15 En référence à la figure 1, l'objectif de l'étape 11 de segmentation et de description d'un flux audiovisuel est de segmenter le flux et de produire une information de description des segments. Ces opérations sont effectuées en ligne pour les flux traités à la volée, par exemple pour les flux reçus via un réseau, mais peuvent également être 20 appliquées à des flux archivés. Dans tous les cas, on considère que le flux est lu par le dispositif selon l'invention. La segmentation du flux en plans est réalisée en étudiant l'évolution de la similarité colorimétrique entre deux images lq et lv consécutives. La mesure de similarité S retenue est la mesure de x2, donnée par l'équation suivante : N-1 25 S= qz ùvzz Z=o qt + vl Où q et v sont des histogrammes tri-dimensionnels issus respectivement des images lq et lv et obtenus par quantification de chacune des composantes R (rouge), V (vert) et B (bleu) originales sur 16 niveaux. N est la dimension de ces histogrammes : N = 16x16x16 = 4096. 2909506 9 Cette mesure de similarité S, réalisée sur chaque couple d'images consécutives, est à la base de la méthode de segmentation qui comporte la détection des transitions franches et la détection des transitions progressives. Une première méthode de détection des transitions franches (en anglais 5 : hard-cuts) consiste à appliquer un seuil à la mesure S de similarité. Cette technique nécessite de choisir ce seuil : il doit être élevé pour éviter que des scènes dynamiques soient sur-segmentées, et suffisamment faible pour éviter les non-détections. Une seconde méthode consiste à évaluer dynamiquement ce seuil en 10 fonction de la variabilité locale des mesures de S. Pour cela, on introduit la fenêtre de recherche Wt centrée sur l'image If et de longueur L. = Où St est défini comme étant la mesure S de similarité issue des images It_1 et It. 15 La variabilité Qt locale de la similarité S sur la fenêtre Wt est calculée selon l'équation : 2 6t = "t L-1 où tSt = l r 2 2 \i-L/2 L/2-1 1j St+i jûStj LL/2 20 Cette valeur Qt peut donc être interprétée comme l'écart type des valeurs S de similarité sur la fenêtre Wt, à l'exclusion de la valeur St (position attendue du pic de transition). L'amplitude du pic de transition est évaluée selon l'équation : P = S û st-1 + st+1 2 1 2909506 10 La décision finale est prise selon le principe suivant : Si P max(P;n,a.6t) alors l'instant t constitue une frontière de plan vidéo (transition franche), sinon la fenêtre Wt est décalée itérativement pour détecter les transitions éventuelles ultérieures. Pb*, constitue un seuil minimal 5 permettant d'éviter la sur-segmentation de scènes statiques (Valeur 5000) et a est le coefficient multiplicateur de détection (choisi égal à 10). Conjointement aux transitions franches, les transitions progressives (fondus, volets...) sont évaluées sur la même fenêtre d'analyse Wt. Cependant, la transition ne s'opère plus instantanément mais sur plusieurs 10 images consécutives, se traduisant par une augmentation locale des valeurs de similarité St. Il n'est pas envisageable de modéliser finement cette variation locale car elle dépend directement du type de transition observé. On modélise l'intégralité de la fenêtre des mesures cumulées Wt=Wo+W1+W2+ +Wt 15 selon trois segments de droites : - un segment de pente Pb faible t te : après la transition. 20 Cette modélisation nécessite une fenêtre plus large que la durée maximale de transition. La majorité des transitions observées ayant une durée de 8 à 15 images, une fenêtre de 50 images (2 secondes) est donc tout à fait adaptée. L'algorithme mis en oeuvre pour détecter les frontières tb et te des 3 25 segments de droite est le suivant: comme pour la détection des transitions franches, la fenêtre Wz est supposée centrée sur la transition. Quatre points peuvent donc être définis sur cette courbe tb = to, tb+ = te = tu2, te+ = tL-1. - les positions tb- et te- sont incrémentées, et tb+ et te+ sont 30 décrémentées selon un processus itératif, de telle sorte que les pentes 2909506 11 des segments extérieurs soient minimisées alors que celle du segment intérieur soit maximisée. - le processus itératif est arrêté lorsque tb- et tb+, et te- et te+ sont égaux. Les pentes de chacun des segments de droite pb, pt et pe 5 sont alors comparées pour établir la décision selon l'équation cidessous. Pz fi Pb Si et Pt J3Pe si T min te ù tb 2 où 2 est un seuil prédéfini. Le fait d'avoir normalisé le signal permet de fixer des valeurs de v et de 2 indépendantes du plan étudié. 10 Toutefois, pour qu'un plan long ne soit pas affecté par cette normalisation, on réduit l'amplitude minimale du saut que l'on souhaite détecter. En fait, le paramètre v est divisé par la longueur du plan. Afin de représenter au mieux le contenu visuel du plan, on choisit ensuite les images clés selon le principe suivant : 15 - une image clé correspond à l'image présente au milieu de deux sauts détectés par le test de Page-Hinkley ; - la première (respectivement la dernière) image clé est choisie comme étant l'image située entre la première (respectivement la dernière) image du plan et le premier (respectivement le dernier) saut du plan ; 20 - si aucun saut n'a été détecté, une image clé est choisie au milieu du plan. Les images et images clés obtenues lors de la phase précédente de segmentation du flux sont ensuite décrites. La description des images revient à extraire des vecteurs numériques 25 (appelés descripteurs) de ces images et à leur associer une mesure de similarité, l'objectif étant de traduire la notion de similarité visuelle entre images en une simple notion de proximité entre vecteurs. Cette similarité peut 2909506 14 être calculée en étudiant notamment les couleurs, la texture ou les contours de l'image. Dans le mode de réalisation exposé ci-après, le flux est décrit selon deux niveaux : 5 - le premier niveau est une description sommaire et exhaustive où chaque image de la vidéo est décrite par un descripteur sommaire DS qui permet la mise en correspondance des images presque identiques. Il s'agit d'extraire à partir de chaque image du flux un descripteur assez simple et de lui associer une mesure de similarité qui est souvent une distance. Ces 10 descripteurs ne sont robustes qu'aux faibles variations dues à des traitements sur le flux comme les artéfacts de la compression ou le bruit de transmission. - le second niveau de description est celui des images clés. Les descripteurs mis en oeuvre sont des descripteurs détaillés DD, plus 15 complexes et plus robustes aux incrustations d'objets et aux retaillages des images que les descripteurs sommaires DS. Le descripteur sommaire DS permet de calculer une signature compacte sur chaque image du flux. Pour définir le descripteur sommaire DS, l'image est divisée en 4 blocs 20 sur chacun desquels est réalisé un sous-échantillonnage vers un bloc 8x8 puis un calcul de DCT (Transformée en Cosinus Discrète). De chaque DCT (Transformée en Cosinus Discrète) sont extraits 16 coefficients : 1 DC (valeur moyenne) et 15 coefficients AC (composante fréquentielle). Chacun de ces coefficients va être quantifié très grossièrement sur une longueur de 1 bit, 25 menant à une signature globale de longueur 64 bits par concaténation des 4 blocs. Etant donnée la nature différente du coefficient DC (moyenne du bloc) et des coefficients AC, ces deux ensembles sont quantifiés de la manière suivante : 30 - les 4 coefficients DC notés DC` (i=0...3) associés au bloc i sont quantifiés selon : 2909506 15 i D` 0 si DC DC 1 avec DC = V DC` 1siDC`DC 4i= - chacun des 15 coefficients AC notés ACJ (j=0...15) de chaque bloc i sont quantifiés selon : 0 si AC, > ACmed = avec ACmed = median (Ac, ) 1 si AC, Ç Acmed i, j= ..15 5 La signature globale du descripteur sommaire DS s'écrit alors sous la forme : DS = [D A0 1 A 5 DlA0 11...A15 D2A2 • 1 A2s D3A3 • 1 A3 s Le descripteur détaillé DD permet de calculer une signature fine sur les 10 images clés du flux. Le descripteur détaillé DD est rendu tolérant aux incrustations (insertion d'un sous-titre, logo de chaîne...) par un découpage spatial de l'image réalisé pour éviter l'impact d'une incrustation locale à l'ensemble des dimensions du vecteur résultant. Les trois étapes suivantes permettent d'élaborer le descripteur détaillé 15 DD : - une première étape est un découpage spatial en 3*2 blocs. Il s'agit d'un bon compromis entre la robustesse aux incrustations et celle de retaillage de la vidéo (occasionnant un décalage des limites de blocs, d'autant plus préjudiciable que ceux-ci sont de taille réduite). 20 - une deuxième étape comporte une transformation fréquentielle. Cette transformation fréquentielle peut être réalisée soit indépendamment sur chacun des 6 blocs extraits de l'image, soit sur un sous-échantillonnage de chacun de ces blocs. Dans un mode préféré, on effectue un sous-échantillonnage des blocs en des blocs de 64 valeurs (8x8) sur lesquels est 25 effectuée une DCT (Transformée en Cosinus Discrète). - une troisième étape de sélection des fréquences pendant laquelle chacune des DCT (Transformée en Cosinus Discrète) réalisées sur les 6 blocs sous-échantillonnés 8x8 génère un descripteur global potentiel de 64*6 = 384 2909506 16 dimensions. Ce nombre est trop élevé pour les capacités de classification ultérieures et ne se justifie pas pour les besoins de discrimination. On retient donc les 5 premiers coefficients DCT (Transformée en Cosinus Discrète) de chacune des décompositions (coefficients basse-fréquence donc les plus 5 robustes), menant à un descripteur détaillé global de dimension 30. L'étape 12 d'extraction des séquences répétitives comporte des étapes 21 à 25 représentées sur la figure 2. En référence à la figure 2, les descripteurs détaillés DD et les 10 descripteurs sommaires DS obtenus par traitement du flux selon l'étape11 sont reçus et stockés en permanence à l'étape 21. Les descripteurs détaillés DD et les descripteurs sommaires DS sont stockés dans des bases de descripteurs. L'étape 22 de la figure 2 de regroupement des descripteurs détaillés 15 des images clés repose sur l'utilisation d'un algorithme de regroupement (en anglais : clustering) qui permet de retrouver les images clés qui se ressemblent. Le regroupement est exécuté périodiquement. Ce regroupement s'effectue à partir des descripteurs détaillés stockés pendant la période 20 écoulée et à partir des descripteurs détaillés stockés pendant les périodes précédentes qui n'ont pas pu être traités selon la procédure décrite dans la suite de la description. La période de regroupement des descripteurs détaillés des images clés peut être de 12 heures, 24 heures ou même d'une semaine, ces durées étant données à titre d'exemples et n'étant pas limitatives. 25 Le regroupement permet de partitionner un ensemble de vecteurs (constitutifs des descripteurs détaillés) en utilisant uniquement leur proximité dans l'espace. Les vecteurs proches dans l'espace se retrouvent dans le même groupe (en anglais : cluster). Les vecteurs isolés (en anglais : outliers) qui ne peuvent être associés à aucun groupe sont considérés comme du bruit. 30 Le regroupement est effectué de manière à : - générer un très grand nombre de groupes ; 2909506 17 - générer des groupes de petite taille car les séquences peuvent se répéter seulement 2 ou 3 fois ; -isoler les descripteurs détaillés correspondant à des images clés appartenant à des séquences qui ne se répètent pas, la proportion de ces 5 descripteurs détaillés risquant d'être très élevée ; - traiter les descripteurs détaillés à la volée et de façon incrémentale. Il est possible d'utiliser l'algorithme dit "BAG". Il s'agit d'un algorithme dit de "micro-clustering" qui permet de générer un très grand nombre de groupes mais dont la taille peut être maitrisée. Il se base sur la notion de vecteur CF 10 qui résume les informations essentielles d'un ensemble de vecteurs. Pour un ensemble de vecteurs {)CI, ... , XN}, le vecteur CF est donné par N (N, LS, r) où LS = EXZ et r est le rayon de l'hypersphère englobante des i=1 vecteurs X; et ayant pour centre leur centroïde. L'algorithme BAG est itératif et considère initialement que chacun des 15 vecteurs à traiter forme un groupe de rayon 0. A chaque itération, il réduit le nombre des groupes en procédant à des fusions successives des groupes qui sont proches et dont le rayon résultant de leur fusion ne dépasse pas un paramètre Ft. Celui-ci est augmenté d'une itération à l'autre afin de permettre des fusions de groupes et réduire ainsi leur nombre. A l'issue de chaque 20 itération, les groupes très peu peuplés par rapport à la moyenne sont considérés bruités et les vecteurs qu'ils contiennent sont isolés. A l'itération suivante, ces groupes bruités sont réintroduits car le paramètre Ft étant augmenté, ils peuvent fusionner avec d'autres groupes. L'algorithme s'arrête quand le nombre de groupes descend en dessous 25 d'un nombre fixé par l'utilisateur. Dans un mode particulier de réalisation de l'invention : - pour fixer la valeur initiale du paramètre Ft, un échantillon de descripteurs détaillés est considéré, puis, pour chacun, la distance à son plus proche voisin est calculée ; la valeur initiale du paramètre Ft est fixée à la 30 moyenne de ces distances ; 2909506 18 - l'incrémentation du paramètre Ft est effectuée selon un pas régulier. Le pas choisi représente 5 % du paramètre Ft initial ; - un groupe est considéré bruité s'il contient un seul descripteur détaillé ; 5 - le nombre de groupes est choisi entre 15 et 20% du nombre total de descripteurs détaillés à regrouper. L'algorithme BAG peut aussi être utilisé en mode incrémentai : si l'on dispose d'un ensemble de groupes déjà formés avec un rayon maximum Ftn, et d'un ensemble de vecteurs bruités, et que de nouveaux vecteurs doivent 10 être groupés avec l'ensemble initial, il est possible de continuer le regroupement en gardant les groupes déjà formés. On rajoute les nouveaux vecteurs à l'ensemble des vecteurs bruités. L'algorithme continue ainsi de façon incrémentale et absorbe les nouveaux vecteurs. Les descripteurs détaillés des images clés ayant été regroupés au cours 15 de l'étape 22, l'étape 23 comporte la détection des séquences répétitives associées à ces images clés. Dans une première phase de l'étape 23, les groupes exploitables sont sélectionnés. En effet, les groupes résultant du regroupement effectué à l'étape 22 précédente ne sont pas tous exploitables. Par exemple, il arrive 20 fréquemment qu'un groupe contienne des images successives du flux audiovisuel ne correspondant pas à différentes occurrences d'une même séquence mais plutôt à des images clés de la même séquence quasiment au même instant (lié par exemple à un changement de mouvement brusque dans la vidéo). C'est le cas notamment dans les journaux télévisés ou bien dans les 25 dialogues des téléfilms. Il semble donc utile dans un premier temps de ne pas considérer ces données qui n'entrent pas dans le cadre propre de la recherche de séquences répétitives. Pour cela, on classe les groupes selon un critère de diversité temporelle DT qui correspond à l'espacement moyen entre les r images clés d'un même groupe. La diversité temporelle d'un groupe est ainsi 30 donnée par l'équation suivante : 2909506 r 1f(k) DT(Ci) = k=2 rû1 où f (k) est l'espacement entre les ke et (k-1)e images du groupe C. Si la valeur de diversité temporelle DT d'un groupe est trop faible, celui- 5 ci n'est pas pris en compte dans la suite des traitements. La seconde phase de l'étape 23 consiste à sélectionner les groupes contribuant aux séquences les plus répétitives. Si Nc est le nombre de groupes sélectionnés à l'issue de la phase précédente de sélection des groupes exploitables, une matrice B de taille Nc x 10 Nc est construite. Cette matrice a pour fonction d'attribuer un score d'autant plus élevé à chaque couple de groupes que ses chances de permettre la détection d'une séquence répétitive sont importantes. Pour cela, on définit la notion d'intervalle temporel. Il s'agit d'un intervalle de temps A5eg de taille fixe qui définit l'éloignement maximal entre 15 deux images clés pour les assimiler à une unique occurrence. Ainsi si deux images clés d'un même groupe appartiennent au même intervalle temporel, l'une d'elle est supprimée et n'est plus prise en compte. Cela se produit généralement suite à des erreurs dans la phase de segmentation du flux en plans ou de calcul des images clés. 20 Notons R = Lrl r2 Nc j le vecteur qui comptabilise le nombre d'images clés pour chaque groupe. Pour le calcul des scores entre groupes (b;;), plusieurs critères peuvent être pris en compte : 25 -l'entrelacement : deux groupes C; et Ci sont entrelacés s'ils contiennent le même nombre d'images clés (r;= r), et les images clés de C; sont toujours postérieures (ou antérieures) aux images clés de Ci dans chacune des séquences potentiellement répétitives. 19 2909506 20 - l'espacement entre les positions temporelles inter-groupes : l'étude de ces espacements renseigne sur la cohérence temporelle des séquences qui sont le résultat de l'association des images clés des deux groupes ; - la cardinalité des groupes (donnée par la matrice R) : cette information 5 renseigne sur la longueur des séquences qui sont déduites : plus le nombre d'images clés est élevé, plus la séquence répétitive qui est identifiée est longue. L'entrelacement tel que défini ci-dessus ne spécifie pas de contrainte temporelle autre que l'ordre dans lequel les images constitutives des groupes 10 sont apparues. Cependant, le score entre deux groupes doit mettre en évidence la proximité temporelle des images au sein de chaque occurrence de la séquence. On définit un espacement inter-groupe maximal Ainter (de l'ordre de quelques secondes, correspondant à la durée moyenne de quelques plans vidéo, par exemple 10 secondes). Si ce critère n'est pas vérifié, le score b1 est 15 nul. Pour chaque couple de groupes C; et C; qui ont pour images clés les ensembles {II, ..., In} et {Ji, ..., Jä}, le remplissage de la matrice B s'effectue selon l'algorithme suivant : - Si C; et Ci ne sont pas entrelacés, alors le score bu = 0 ; 20 - Si au moins une des distances inter-groupes dtk est supérieure à Ainter, alors le score bu = 0 ; - Sinon, pour le calcul du score de correspondance de C; et Ci, la distance inter-groupes est utilisée. Plus particulièrement, il est important de mettre en évidence la régularité des occurrences de cette distance (signe qu'il 25 s'agit bien d'une même séquence). Le score est donc d'autant plus élevé que l'écart-type associé à cette distance est faible. Différentes formules peuvent donc être utilisées pour refléter cette notion parmi lesquelles : bzii = exp(ûo-), où 6 est l'écart-type des valeurs dt1, dt2, ..., dtn. 2909506 21 n j dtk ù dtk ) b.. = exp nû1 J Après le calcul des scores, il faut sélectionner les couples de groupes concordants qui sont susceptibles de former une séquence qui se répète. Pour cela, un seuil borax est appliqué sur les scores b j : les scores b1 inférieurs au 5 seuil borax sont mis à 0 et ne sont pas retenus pour la recherche des séquences qui se répètent. Ce seuil borax est déterminé empiriquement en étudiant la variation des scores pour un ensemble de séquences qui se répètent. La procédure de recherche des séquences répétitives dans la matrice 10 de scores B est un procédé itératif au cours duquel chaque itération révèle une séquence puis met à jour la matrice B de telle sorte que l'itération suivante révèle la séquence répétitive d'importance immédiatement inférieure. L'algorithme de recherche de séquences dans la matrice de scores est le suivant : 15 - la première étape est la sélection des groupes dont les lignes contiennent au moins une valeur supérieure à 0. Si cet ensemble est vide, la procédure est finie. - la deuxième étape est la sélection des groupes ayant le nombre d'images clés le plus élevé. 20 - la troisième étape est la partition de l'ensemble des groupes ainsi sélectionnés en sous-ensembles qui vérifient chacun la propriété suivante : o chaque couple de groupes (C;, Cj) d'un sous- ensemble ^ soit possède un score bj> 0 25 • soit est lié par une chaine de groupes Ck, Ck+1, • • •, Ch tels que b;k >0 et bk k+1>0 et ... et b hj>0. - la quatrième étape est la sélection du sous-ensemble dont la cardinalité est la plus grande (celui qui génère la séquence contenant le plus k=2 2909506 22 d'images clés). Si deux ou plusieurs sous-ensembles sont sélectionnés, on choisit celui dont la somme des scores bit entre ses membres est la plus élevée. - la cinquième étape permet de déduire les séquences qui se répètent à 5 partir des groupes de ce sous-ensemble et pour chacun de ces groupes, mettre la ligne et la colonne correspondantes dans la matrice B à zéro ; - la sixième étape permet de retrouver les groupes ayant des images clés qui se situent au milieu des séquences formées, et pour chacun d'eux, mettre la ligne et la colonne correspondantes dans la matrice B à zéro ; Cela 10 permet de ne pas prendre en compte ces groupes pour l'identification d'autres séquences. - enfin, on reprend la procédure à la première étape de sélection des groupes dont les lignes contiennent au moins une valeur supérieure à 0. La matrice de score est une matrice symétrique et le calcul du score 15 entre groupes développé ci-dessus est aussi symétrique. Seule la partie supérieure de la matrice est calculée. Les valeurs obtenues sont ensuite reportées dans la partie inférieure par symétrie et chaque intersection ligne/colonne de la diagonale est mise à 0. Le calcul des scores (matrice B) présenté précédemment repose sur 20 l'espacement inter-groupes qui impose un espacement maximal. Cette contrainte permet de retrouver les séquences de la même durée ou presque comme les jingles, les publicités, les séquences créant l'identité de la chaîne ou les programmes rediffusés. Elles ne permettent pas de mettre en correspondance des séquences de durées différentes telles que les bandes-25 annonces et le programme long annoncé. Pour les bandes-annonces contenant des extraits du programme long, les images clés des groupes sont entrelacées mais les distances inter-groupes sont différentes. Pour prendre en compte explicitement le cas des bandes annonces, il suffit de ne pas appliquer la contrainte Ainter sur la distance inter-groupes de la 30 dernière occurrence de la séquence (dtä) et de ne pas prendre en compte la distance inter-groupes de la dernière occurrence de la séquence dtä dans le 2909506 23 calcul des scores de la matrice B si la distance inter-groupes de la dernière occurrence de la séquence dtä est supérieur à l'espacement inter-groupe maximal Ainter. Toutefois, la durée des programmes longs étant également bornée, un autre seuil b' (par exemple 3 heures) est donc appliqué à dtn. Ainsi 5 si dtä>S alors bit =0. A la fin de la procédure de détection des séquences à partir de la matrice B, les bandes-annonces et les programmes longs sont différenciés en étudiant les valeurs des distances inter-goupes dtä des groupes qui ont permis de déduire la séquence. Si au moins une de ces distances inter-groupes est 10 supérieure à l'espacement inter-groupe maximal Ainter, alors il s'agit d'une association bande-annonce/programme long. Sinon, il s'agit d'une séquence ordinaire qui se répète. Pour prendre en compte le cas où le programme long est diffusé plusieurs fois, il suffit de ne pas appliquer la contrainte de l'espacement inter- 15 groupe maximal Ainter sur les dernières distances inter-groupes (dtä_m ... dtä) et de vérifier seulement qu'elles sont inférieures au seuil g, et de ne pas prendre en compte ces valeurs dans le calcul des scores de la matrice B. Pour différentes raisons, comme par exemple un regroupement n'ayant pas permis de construire une chaine de groupes complète, il peut arriver que 20 certaines séquences répétitives obtenues à l'issue de l'étape 23 précédente ne soient retrouvées que partiellement. Par ailleurs, il est préférable de parfaitement délimiter dans le temps les frontières des séquences car celles-ci ont vocation à être ajoutées dans le catalogue de référence CR pour les reconnaître ultérieurement. Si la séquence 25 extraite empiète sur des séquences précédentes et suivantes, l'identification à partir du catalogue de référence CR en sera altérée. L'étape 24 de la figure 2 permet d'étendre les séquences répétitives retrouvées au cours de l'étape précédente. Le résultat est des séquences étendues. 2909506 24 Cette procédure d'extension ne concerne pas les programmes longs associés à des séquences de bandes annonces : si deux ou plusieurs occurrences d'une bande-annonce sont retrouvées, seules ces occurrences sont étendues. Le programme long associé n'est pas concerné par cette 5 procédure. L'extension utilise le descripteur sommaire DS défini ci-dessus dans l'étape 11 de segmentation et description du flux telle que représentée sur la figure 1. Le descripteur sommaire DS offre une signature plus compacte que le descripteur détaillé DD qui permet de calculer cette signature sur chaque 10 image du flux. Toutes les images du flux ayant été décrites par un descripteur sommaire, l'extension des séquences répétitives permet de délimiter (image de début et de fin) une séquence à l'image près. Il s'agit de regrouper les séquences répétitives et les images identifiées comme étant dans le 15 prolongement de ces séquences répétitives pour obtenir des séquences étendues. La méthode utilisée est celle de Hamming et repose sur la distance utilisée pour comparer deux signatures. L'extension d'une séquence répétitive est réalisée par seuillage sur 20 cette distance : pour évaluer une valeur pertinente de ce seuil, une étude de la distribution entre couples d'images choisies aléatoirement a été réalisée. Cette étude a porté sur 2000 images choisies aléatoirement, générant 1000 couples de signatures sur lesquels la distance de Hamming a été calculée. Cette distribution a été modélisée par une gaussienne de moyenne p = 25 24,351 et d'écart-type o- = 5,117988. Une estimation de la probabilité que deux images Ik et 1, soient différentes compte tenu de leur distance de Hamming notée hk, est donc constituée par la fonction de répartition suivante: P(Ik ~ h,hki) _ N(h,,c,a)dh La probabilité que deux images soient identiques est donc : 2909506 25 h, P(Ik = h, hk~) =1ù f N(h, /J a)dh ùGO La valeur hSeUä correspondant à la probabilité P(Ik = Ii,hseuii) =0.987a été choisie pour la procédure d'extension. 5 Pour étendre les séquences [tbl, tel] et [tb2, tee] aux séquences [tbl*, tel ] et [tb2*, te2], deux méthodes peuvent être utilisées : - une première méthode consistant à comparer DS(tbl) et DS(tb2) Tant que h(DS(tbl),DS(tb2)) REVENDICATIONS 1. Procédé de structuration d'un flux de données numériques comportant l'étape de : - segmentation du flux en segments, caractérisé en ce qu'il comporte des étapes de : - description des segments au moyen de descripteurs détaillés et de descripteurs sommaires, - accumulation de descripteurs détaillés et de descripteurs sommaires, - regroupement de segments, en fonction de descripteurs détaillés accumulés, - formation de séquences répétitives en fonction de segments regroupés, - extension de séquences répétitives, en fonction de descripteurs sommaires accumulés pendant la période donnée, pour former des séquences étendues, -suppression des descripteurs détaillés ayant permis la formation des séquences étendues. 2. Procédé de structuration d'un flux de données numériques selon la revendication 1, caractérisé en ce que les étapes de segmentation, description et accumulation sont effectuées de façon continue lors de la lecture du flux. 3. Procédé de structuration d'un flux de données numériques selon la revendication 1 ou 2, caractérisé en ce que les étapes de regroupement, formation, extension et suppression sont effectuées périodiquement. 4. Procédé de structuration d'un flux de données numériques selon la revendication 3, caractérisé en ce que, pour une période donnée, l'étape de regroupement des segments est réalisée sur la base des descripteurs détaillés 2909506 31 accumulés pendant la période et sur la base des descripteurs détaillés restants après accomplissement des traitements pour les périodes précédentes. 5 5. Procédé de structuration d'un flux de données numériques selon la revendication 3 ou 4, caractérisé en ce que, pour une période donnée, les segments regroupés n'ayant pas permis la formation des séquences étendues sont réutilisés au cours d'une période suivante. 10 6. Procédé de structuration d'un flux de données numériques selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le flux de données numériques est un flux audiovisuel. 7. Procédé de structuration d'un flux de données numériques selon la 15 revendication 6, caractérisé en ce que les descripteurs sommaires sont déterminés sur toutes les images du flux et les descripteurs détaillés sur des images clés. 8. Procédé de structuration d'un flux de données numériques selon 20 l'une quelconque des revendications 1 à 7, caractérisé en ce que les séquences étendues sont stockées dans un catalogue de référence initialement vide. 9. Dispositif de structuration d'un flux de données numériques 25 caractérisé en ce qu'il comporte des moyens de mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 8. 10. Programme comportant des instructions pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 8.