Brevet FR2834363A1 — publié le 20030704

PROCEDE DE CARACTERISATION D'UN SIGNAL SONORE L' invention concerne un procédé de caractérisation selon des paramètres spécifiques, d'un signal sonore évoluant selon le temps dans différentes bandes de fréquences. Le domaine de l' invention est celui de la reconnaissance de signaux sonores appliquée en particulier à l' identification d'_uvres musicales utilisées sans autorisation. En effet, le développement des techniques de numérisation et du multimédia a provoqué une augmentation considérable de telles utilisations frauduleuses. I1 en résulte une nouvelle difficulté pour les organismes chargés de collecter les droits d'auteur, puisquil faut être en mesure didentifier ces utilisations en particulier sur les réseaux numériques interactifs tel Internet, afin d'effectuer de facon satisfaisante la perception et la répartition des rémunérations dues aux auteurs de ces _uvres musicales. Dans la suite, pour ne pas se limiter aux _uvres musicales, on considérera plus généralement un signal sonore. Le but de la présente invention est donc de constituer une base de données de signaux sonores, chaque signal sonore étant caractérisé par une empreinte de sorte que, étant donné un signal sonore inconnu que l'on caractérise de la même facon, on puisse effectuer une recherche et une comparaison rapides de l'empreinte de ce signal inconnu avec l'ensemble des empreintes de la base de données. L'empreinte est constituée de paramètres spécifiques déterminés de la façon suivante. On décompose dans un premier temps le signal sonore dont l'amplitude x(t) varie avec le temps t, selon différentes bandes de fréquences k: x(k,t) est l 'amplitude du signal sonore filtré.dans la bande de fréquence k et représenté figure la). On calcule, comme représenté figure lc) l'énergie à court terme E(k,t) de ce signal sonore filtré à l' aide d'une fenêtre h(t) représentée figure 1b), ayant un support de 2N secondes. On réitère ce calcul en faisant glisser cette fenêtre toutes les S secondes. Ces valeurs E(k,t) constituent des paramètres spécifiques d'un extrait de 2N secondes du signal sonore x(k,t) dans la bande de fréquences k. On peut obtenir d'autres paramètres en calculant pour différentes bandes de fréquences j, l'énergie de E(k,t) à laide dune fenêtre h'(t) représentée figure 2b), ayant un support de 2N' secondes; on réitère ce calcul en faisant glisser cette fenêtre toutes les S' secondes: on obtient F(j,k,t) représenté figure 2c). On normalise les valeurs F(j,k,t) par rapport à leur maximum de façon à les rendre indépendantes de l'amplitude du signal sonore. Ainsi normalisées, ces valeurs constituent des paramètres spécifiques d'un extrait de 2N' secondes du signal sonore x(k,t) dans la bande de fréquences k. On peut également calculer la phase de E(k,t) pour différentes bandes de fréquences j: on obtient =.. P(j,k,t). On normalise les valeurs P(j,k,t) par rapport à une valeur de référence P(l,j,t) et on obtient alors d'autres paramètres spécifiques d'un extrait de 2N' secondes du signal sonore. D'autres paramètres peuvent être ajoutés tels que la valeur moyenne de l'énergie E(k,t). L' invention a pour objet un procédé de caractérisation selon des paramètres spécifiques, d'un signal sonore x(t) évoluant selon le temps t pendant une durée D dans différentes bandes de fréquences k et alors noté x(k,t), principalement caractérisé en ce qu'il consiste à mémoriser le signal x(t), à calculer l'énergie E(k,t) dudit signal x(k,t) pour chacune desdites bandes de fréquences k, k variant de 1 à K et selon une fenêtre temporelle h(t) d'une durée 2N, mémoriser les valeurs de l'énergie E(k,t) obtenues, ces valeurs constituant les paramètres spécifiques d'un extrait d'une durée 2N du signal sonore x(t) et à réitérer ce calcul à intervalles réquliers pour obtenir l'ensemble des paramètres spécifiques pour la durée D du signal sonore x(t). I1 consiste en outre à calculer et mémoriser l'énergie F(k,j,t) de E(k,t) pour des bandes de fréquences j, j variant de 1 à J. selon une fenêtre temporelle h'(t) d'une durée 2N', les JxK valeurs de l'énergie F(j,k,t) obtenues constituant les paramètres spécifiques dun extrait dune durée 2N' du signal sonore x(t) et à réitérer ce calcul à intervalles réquliers pour obtenir l'ensemble des paramètres spécifiques pour la durée D du signal sonore x(t). Il consiste éventuellement à calculer la phase P(j,k,t) de l'énergie E(k, t) pour des bandes de fréquences j, j variant de l à J. j différent de k, et à inclure les valeurs de la phase P(j,k,t) obtenues parmi les paramètres spécifiques du signal sonore x(t). Il peut aussi consister à calculer pour chaque bande de fréquence j, la valeur moyenne de l'énergie lo E(k,t) sur 2N' secondes, à réitérer ce calcul à intervalles réquliers pour obtenir l' ensemble des paramètres spécifiques pour la durée D du signal sonore x(t) et à inclure les valeurs moyennes obtenues parmi les paramètres spécifiques du signal sonore x(t). Selon une caractéristique, il consiste à considérer les paramètres spécifiques d'un signal sonore x(t) comme les composantes d'un vecteur représentatif de x(t), à positionner les vecteurs dans un espace à autant de dimensions que de paramètres, à définir des classes regroupant les vecteurs les plus proches et à enregistrer lesdites classes. Les classes présentant des distances inter-classes et des distances intraclasses, le procédé consiste avantageusement à sélectionner parmi les paramètres 2s spécifiques, les paramètres permettant d'obtenir des distances inter-classes relativement grandes devant les distances intraclasses et à enregistrer les paramètres sélectionnés. L' invention concerne également un dispositif d' identification d'un signal sonore, caractérisé en ce qu'il comprend un serveur de base de données comprenant s des moyens pour la mise en _uvre du procédé de caractérisation d'un signal sonore selon des paramètres spécifiques, tel que décrit précédemment et des moyens de recherche dudit signal sonore dans la base de données. De préférence, les moyens de recherche comprennent des moyens de reconnaissance directe de la classe à laquelle ledit signal sonore appartient et des moyens de recherche de la classe par comparaison des paramètres spécifiques du signal sonore inconnu avec ceux de la base de donnée, la classe étant choisie, par exemple, par la méthode des plus proches voisins. D'autres particularités et avantages de l' invention apparaîtront clairement à la lecture de la description faite à titre d'exemple non limitatif et en regard des dessins annexés sur lesquels: les figures la), lb) et lc) représentent respectivement des courbes schématiques de variation d'un signal sonore x(ki,t) filtré dans une bande de fréquences ki, d'une fenêtre de Hamming h(t) et de lénergie E(ki,t) à court terme du signal x(ki,t), les figures 2a), 2b) et 2c) représentent respectivement des courbes schématiques de variation de l'énergie E(ki,t) pour la bande de fréquence ki, dune fenêtre de Hamming h'(t) et de l'énergie F(jm,ki,t) de E(ki,t) pour la bande de fréquences im, la figure 3 illustre schématiquement un ensemble de vecteurs V[x(t)] constituant l'empreinte dun signal x(k,t), la figure 4 illustre schématiquement le stockage d'empreintes, la figure 5 représente une classification des signaux sonores selon deux paramètres, S la figure 6 illustre une méthode de recherche d'un signal sonore par la méthode du plus proche voisin. la figure 7 représente schématiquement un serveur de base de données de stockage des empreintes de signaux sonores. Les signaux sonores que l'on traite selon ce procédé de caractérisation sont des signaux sonores enregistrés, notamment sur des disques compacts (Compact Disk en anglais). 1S On va considérer par la suite que le signal sonore x(t) est un signal numérique échantillonné à une fréquence d'échantillonnage fe, par exemple 11025 Hz correspondant au quart de la fréquence d'échantillonnage courante des disques compacts qui est de 44100 Hz. On peut cependant caractériser un signal sonore analogique: il faut au préalable le convertir en un signal numérique au moyen d'un convertisseur ,. analoglque-numerlque. Le signal sonore x(k,t) représenté figure la) pour k=ki est donc un signal numérique échantillonné à la fréquence fe et obtenu après un filtrage dans une bande de fréquences ki. Chaque valeur de ce signal numérique échantillonné est codée par exemple sur 16 bits. Les bandes de fréquences sont des bandes du spectre audible variant d' environ 20 Hz à 20kHz et découpé en K (k varie de 1 à K) bandes de fréquences, K=127 par exemple. L'énergie à court terme E(k,t) représentée figure lc) pour k=ki, est calculée sur une fenêtre h(t) de 2N S secondes, par exemple une fenêtre de Hamming ayant un support d' environ 23 ms représentée figure lb). E(k,t) est le carré du module d'une transformée du signal sonore échantillonné x(t) dans le plan temps- fréquence ou dans le plan temps-échelle. Parmi les transformées utilisables, figurent la transformoe de Fourrier, la transformée en cosinus, la transformée de Hartley et la transformée en ondelettes. Un banc de filtres passe-bandes réalise également une telle transformoe. La transformée de Fourier à court terme permet une représentation tempsfréquence adaptée à l'analyse des signaux musicaux. Ainsi l'énergie E(k,t) s'écrit: n=N 2 E(k,t) = x(t+ fe).h(fe).e 4iN n=-N avec i tel que i2 = -1 On fait glisser la fenêtre sur le signal sonore toutes les S secondes, par exemple toutes les 10 ms. E(k,t) sera ainsi échantillonné toutes les 10 ms: on aura E(k,to) puis E(k,t1) avec t1=to+lo ms etc. On code ainsi toutes les S secondes le signal sonore x(t) par un vecteur à K composantes E(k,t), chacune de ces composantes codant l'énergie de 23 ms du signal sonore x(t) dans K bandes de fréquences. On obtient d'autres paramètres en reproduisant en quelque sorte les calculs précédents et en les appliquant cette fois à E(k,t) comme représenté figure 2a) à figure 2c). S On filtre l'énergie E(k,t) dans J différentes bandes de fréquence: E(j, k,t) est l'énergie E(k,t) filtrée dans la bande de fréquences j, j variant de 1 à J avec par exemple J=51.. On calcule alors F(j,k,t) représentée figure 2c) pour k=ki et i=im, sur une fenêtre h'(t) de 2N' secondes, par exemple une fenêtre de Hamming ayant un support de 10 s. Ainsi, on peut écrire, avec i tel que i2 = -1 F(j,k,t) = E,t+fe).h'(fe).e4in n=-N' Dans notre exemple, toutes les secondes (S'=1), le signal sonore x(t) est codé par 127x51 paramètres F(j, k,t), chaque réel F(-j,k,t) représentant l'énergie de dix secondes (2N'=10) du signal di'énergie E(k,t) dans la bande de fréquence j. De manière à rendre F(j,k,t) indépendant de l'amplitude du signal qui peut être plus ou moins fort, on rapporte ces valeurs à une valeur de référence, en l' occurrence la valeur maximale de FM(j,k,t) pour tous les k et j considérés. On obtient ainsi KxJ paramètres F(j,k,t)/FM(j,k,t). On calcule en outre toutes les 2N' secondes, la phase de l'énergie E(k,t) dans chacune des bandes de fréquences j: P(j,k,t). Pour cela, on calcule l' argument de la transformée de Fourrier de E(k,t) dans chacune des bandes de . frequence]: n=N' P(j,k,t) = Arg E(k,t+fc). h'(fe).e4i n=-N' Comme précédemment, on rapporte ces valeurs à une valeur de référence, en l' occurrence la valeur de P(j,k,t) pour la seconde bande de fréquences (j=l) considérée car la référence temporelle de l'échantillon est inconnue: on ne connaît pas l'origine des temps. Pour cela, on calcule les phases rapportées (j,k,t) par les formules suivantes: (l,k,t) = P(l,k,t) (j,k,t) = P(j,k,t) - P(l,k,t). f(k), pour k>l. f() o les f(k) sont les fréquences centrales des canaux k. On obtient ainsi KxJ paramètres correspondant aux valeurs de la phase rapportée (j,k,t). On peut également considérer d'autres paramètres notamment, les valeurs moyennes de l'énergie E(k,t) sur 2N' secondes et ce pour chaque bande de fréquences j: E(j,k,t). L'ensemble de ces paramètres normalisés définissent à intervalles réquliers, une empreinte que l'on peut considérer comme un vecteur V(x(t)). L' ensemble des paramètres normalisés par exemple F(j,k,t)/FM et P(j,k,t)P(j,l,t) définissent toutes les S' secondes, une empreinte que l'on peut considérer comme un vecteur V(x(t)) à 2xKxJ dimensions (2x127x51 soit environ 13000 dans notre exemple), une dimension par paramètre, chaque vecteur caractérisant un extrait de 2N' secondes du signal sonore x(t), 10 secondes dans notre exemple. On réitère cette caractérisation toutes les S' secondes, toutes les secondes par exemple (S'=1). Comme représenté figure 3, un signal x(t) durant T secondes est finalement caractérisé par L vecteurs V, L étant environ égal à T/S'. Pour un signal sonore durant 10 mn soit 600s, on obtient 600 vecteurs c'est-à-dire 600x2xJxK paramètres. Ces vecteurs sont mémorisés dans la zone de stockage 10 dune base de données hébergée sur un serveur ou sur un disque compact. On a représenté figure 4 l'ensemble des vecteurs V d'un signal ou d'une _uvre A par VA, de même vs pour une _uvre s, etc. Il est souhaitable de réduire le nombre de composantes de ces vecteurs c'est-à-dire le nombre de paramètres de façon à obtenir un vecteur ou une empreinte de taille plus réduite en w è de son stockage dans la base de données. De plus, lorsqu'il s'agira de comparer l'empreinte dun signal sonore inconnu avec celles de la base de données, il sera souhaitable que le nombre de paramètres à comparer soit réduit pour que cette recherche soit effectuée rapidement. Or ces paramètres n'apportent pas tous la même quantité d'information, certaines pouvant étre redondantes voire inutiles. C'est pourquoi on sélectionne les paramètres les plus pertinents parmi tous les paramètres, par un calcul d'information mutuelle présenté notamment dans la.publication PROC. ICASSP'99, Phoenix, Arizona, USA, Mars 1999 H.YANG, S.VAN W UREN, H.HERMANSKY, " Relevancy of Time- Frequency Features for Phonetic Classification Measured by Mutual Information ". On limite ainsi K à K1 et J à J1. On va présenter une méthode de sélection de ces paramètres. Chacune des empreintes de ces signaux sonores c'est-à-dire chacun de ces vecteurs est classé dans un espace R à N dimensions, N étant le nombre de composantes des vecteurs. Pour des raisons de simplification, un exemple de classification pour des vecteurs à 2 dimensions P1 et P2 est représenté figure 5. On définit des classes C(m) regroupant les vecteurs par proximité, m variant de 1 à M. On peut par exemple décider qu'une classe correspond à une _uvre musicale: dans ce cas M est le nombre d'_uvres musicales mémorisées dans la base de données. I1 résulte du calcul de l' information mutuelle entre ces classes C(m) et les paramètres, que la pertinence des paramètres est lice aux distances inter et intra classes: des paramètres pertinents garantissent des distances inter-classes d relativement grandes comparées aux distances intra-classes D. En ne retenant que les paramètres pertinents, on définit ainsi Kl et J1 S On peut par exemple considérer cinq (K1=5) bandes de fréquences respectivement centrces sur 344 Hz, 430 Hz, 516 Hz, 608 Hz et 689 Hz. Des essais ont été effectués en prenant Jl= 3. Les classes C(m) sont alors constituées à partir des vecteurs Vq(x) ne comportant plus que 2xKlxJ composantes. On va donner un exemple pour Kl=5 et Jl=3, de la taille mémoire d'une base de donnces contenant 1000 heures de musique et en considérant comme paramètres 1S E(k,t) et F(j,k,t), chacun de ces paramètres étant codé sur 4 octets. Les paramètres E(k,t) calculés toutes les 10 ms occupent 1000x3600x100x5x4 octets soit environ 7 Giga octets. Les paramètres F(j,k, t) calculés toutes les secondes occupent 1000x3600x3x5x4 octets soit environ Méga octets. Ces paramètres sont associés aux références des signaux sonores; si l'on considère que les références contiennent 100 caractères codés chacun sur un octet, ces références occupent 1000x10x100 octets soit environ 1 Méga octet. Une telle base de données occupera finalement environ 7 Giga octets. ... ....... Lorsqu'on souhaite identifier un signal sonore inconnu, on en établit d'abord l'empreinte, référencée V(xinc) à la figure 6, comme décrit précédemment, sachant que le signal sonore inconnu peut être une _uvre musicale complète ou un extrait de cette _uvre. La recherche de la classe de cette empreinte dans la base de données consiste alors selon une méthode classique illustrée figure 6, à compa.rer les paramètres de cette empreinte V(xinc) à ceux des empreintes de la base de donnée. Les empreintes les plus proches, dites les plus proches voisins, définissent la classe de la façon suivante: la classe est celle de la majorité des plus proches voisins. Un serveur de base de données 1 est schématiquement représenté figure 7. I1 comprend une zone de stockage 10 des données de la base dans laquelle sont mémorisées les empreintes des signaux sonores assorties de leurs références. I1 comprend en outre une mémoire 11 dans laquelle sont stockés les programmes de caractérisation et de recherche précédemment décrits, un processeur 12 assorti de mémoires de travail pour mettre en _uvre ces programmes. I1 comprend bien sûr une interface d'entrée-sortie 13 et un bus 14 reliant ces divers éléments entre eux. Lorsqu'il s'agit de rentrer dans la base de donnces 1, de nouveaux signaux sonores, l' interface 13 reçoit le signal x(t) assorti de ses références; s'il s'agit seulement d'un signal inconnu à identifier, l' interface 13 repoit seulement le signal x(t) inconnu. En sortie, l' interface 13 fournit une réponse à la recherche d'un signal inconnu. Cette réponse est négative si le signal inconnu n'existe pas dans la zone de stockage 10; si le signal a été identifié, la s réponse comporte les références du signal identifié. REVENDICATIONS 1. Procédé de caractérisation selon des paramètres spécifiques, d'un signal sonore x(t) évoluant selon le temps t pendant une durée D dans différentes bandes de fréquences k et alors noté x(k,t), caractérisé en ce qu'il consiste à mémoriser le signal x(t), à calculer l'énergie E(k,t) dudit signal x(k,t) pour chacune desdites bandes de fréquences k, k variant de 1 à K et selon une fenêtre temporelle h(t) d'une durce 2N, mémoriser les valeurs de l'énergie E(k,t) obtenues, ces valeurs constituant les paramètres spécifiques dun extrait d'une durée 2N du signal sonore x(t) et à réitérer ce calcul à intervalles réquliers pour obtenir l'ensemble des paramètres spécifiques pour.la durée D du signal sonore x(t). 2. Procédé selon la revendicatiQn précédente, caractérisé en ce qu'il consiste à calculer et mémoriser l'énergie F(k,j,t) de E(k,t) pour des bandes de fréquences j, j variant de 1 à J. selon une fenêtre temporelle h'(t) d'une durée 2N', les JxK valeurs de l'énergie F(j,k,t) obtenues constituant les paramètres spécifiques d'un extrait d'une durée 2N' du signal sonore x(t) et à réitérer ce calcul à intervalles réquliers pour obtenir l'ensemble des paramètres spécifiques pour la durée D du signal sonore x(t). . , - - -..,...... 3. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il consiste à calculer la phase rapportée (j,k,t) de l'énergie E(k,t) pour des bandes de fréquences j, j variant de 1 à J. et à inclure les valeurs de la phase rapportée (j,k,t) obtenues parmi les paramètres spécifiques du signal sonore x(t). 4. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il consiste à calculer pour chaque bande de fréquence j, la valeur moyenne de l'énergie E(k,t) sur 2N' secondes, à réitérer ce calcul à intervalles réquliers pour obtenir l' ensemble des paramètres spécifiques pour la durée D du signal sonore x(t) et à inclure les valeurs moyennes obtenues parmi les paramètres spécifiques du signal sonore x(t). 5. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il consiste à considérer les paramètres spécifiques dun signal sonore x(t) comme les composantes d'un vecteur représentatif de x(t), à positionner les vecteurs dans un espace à autant de dimensions que de paramètres, à définir des classes regroupant les vecteurs les plus proches et à enregistrer lesdites classes. 6. Procédé selon la revendication précédente, caractérisé en ce que les classes présentent des distances inter-classes et des distances intraclasses et en ce qu'il consiste à sélectionner parmi les paramètres spécifiques, les paramètres permettant d'obtenir des distances interclasses relativement grandes devant les distances intra-classes et à enregistrer les paramètres sélectionnés. 7. Dispositif didentification d'un signal sonore, caractérisé en ce qu'il comprend un serveur de base de données comprenant des moyens pour la mise en muvre du procédé de caractérisation d'un signal sonore selon des paramètres spécifiques, selon l'une quelconque des revendi cat ions précédentes et des moyens de recherche dudit signal sonore dans la base de donnéés. 8. Dispositif selon la revendication précédente prise en combinaison avec la revendication 5 ou 6, caractérisé en ce que les moyens de recherche comprennent des moyens de reconnaissance de la classe à laquelle ledit signal sonore appartient et des moyens de comparaison, par la méthode du plus proche voisin, des paramètres spécifiques du signal sonore inconnu avec les paramètres spécifiques de la base de données.