Brevet FR3071994A1 — publié le 20190405

PROCÉDÉ ET PROGRAMME DE RECONNAISSANCE ET DE SYNCHRONISATION AUDIO ARRIÈRE-PLAN DE L'INVENTION [0001] Domaine de l'invention [0002] La présente description concerne le domaine de la technologie de traitement audio et plus particulièrement la reconnaissance et la synchronisation audio. [0003] Description de l'art connexe [0004] L'utilisation « d'empreintes » audio est connue dans l'art et a été partiellement développée par des sociétés telles qu'Arbitron pour la recherche en mesure d'audience. Les signatures audio sont généralement produites en échantillonnant et en convertissant des données audio d'un domaine temporel en un domaine fréquentiel, puis en utilisant des caractéristiques prédéterminées du domaine fréquentiel pour produire la signature. [0005] Bien que les signatures audio se soient révélées efficaces pour déterminer les expositions à des médias spécifiques, elles peuvent être complexes en termes de calcul et requièrent en outre des bases de données constituées de milliers, voire de millions de signatures audio liées à des chansons spécifiques. Dans le contexte de cette invention, il faut comparer le fond sonore dans un film en « langue A » avec le fond sonore du même film en « langue B ». En utilisant des « empreintes » audio, il est possible de détecter les similitudes entre les deux pistes audio mentionnées et ainsi de les synchroniser. BREF RÉSUMÉ DE L'INVENTION [0006] Les modes de réalisation de la présente invention pallient les insuffisances du traitement audio en ce qui concerne la reconnaissance et la synchronisation audio et fournissent un procédé, un système et un algorithme nouveaux et non-évidents pour la reconnaissance et la synchronisation audio. Dans un mode de réalisation de l'invention, un algorithme de reconnaissance et de synchronisation audio comprend un procédé qui utilise des informations de données sonores, incluant la fréquence et l'intensité, pour faciliter la reconnaissance et la 1 synchronisation audio. Le procédé comprend la génération d'une empreinte qui stocke les données de temps, de fréquence et d'intensité. Le procédé comprend en outre la comparaison des données de fréquence provenant des empreintes de deux fichiers audio pour détecter si les données correspondent temporellement. [0007] Par exemple, un procédé de synchronisation audio peut comprendre le stockage d'une piste audio dans la mémoire d'un dispositif informatique, l'activation de la synchronisation audio de la piste audio stockée avec la lecture d'un signal audio acquis simultanément, le calcul d'un graphique de fréquence audio pour la piste audio stockée et également le calcul d'un graphique de fréquence audio pour le signal audio acquis simultanément, la comparaison des graphiques pour identifier des points de données similaires, la localisation d'un horodatage correspondant aux points de données similaires et la lecture de la piste audio stockée à partir d'une position correspondant à l'horodatage localisé. [0008] Dans un aspect du mode de réalisation, la comparaison des graphiques comprend la conversion de chacun des graphiques en une empreinte distincte et l'identification des points de données similaires dans les empreintes distinctes. Dans un autre aspect du mode de réalisation, les graphiques sont des spectrogrammes. Dans un autre aspect du mode de réalisation, les empreintes sont chacune des matrices bidimensionnelles générées avec des fréquences maximales à un instant donné tant pour la piste audio stockée que pour le signal audio acquis simultanément. Dans encore un autre aspect du mode de réalisation, le dispositif informatique est un téléphone portable. Enfin, dans encore un autre aspect supplémentaire du mode de réalisation, l'identification des points de données similaires s'effectue en superposant les graphiques, en détectant une ligne diagonale dans les graphiques superposés, en calculant une équation pour la ligne diagonale, en étendant la ligne diagonale sur un axe des Y des graphiques superposés, et en localisant une intersection entre la ligne diagonale et l'axe des Y, l'intersection déterminant l'horodatage. [0009] Des aspects supplémentaires de l'invention seront en partie exposés dans la description qui suit, et seront en partie évidents d'après la description, ou peuvent être appris par la pratique de l'invention. Les aspects de l'invention seront réalisés et atteints au moyen des éléments et des combinaisons particulièrement soulignés dans les revendications annexées. Il faut comprendre que la description générale qui précède et la description détaillée qui suit ont 2 une visée purement illustrative et explicative et ne limitent pas la portée de l'invention, comme revendiqué. BRÈVE DESCRIPTION DES DIFFÉRENTES VUES DES DESSINS [0010] Les dessins annexés, qui sont incorporés dans cette description et en font partie, illustrent des modes de réalisation de l'invention et, conjointement avec la description, servent à expliquer les principes de l'invention. Les modes de réalisation illustrés ici sont actuellement préférés, étant entendu, cependant, que l'invention n'est pas limitée aux agencements et au matériel précis représentés, dans lesquels : [0011] La Figure 1 est une illustration graphique d'un processus de reconnaissance et de synchronisation audio ; [0012] La Figure 2 est une illustration schématique d'un système de traitement de données configuré pour un procédé de reconnaissance et de synchronisation audio ; et, [0013] La Figure 3 est un logigramme illustrant un processus de reconnaissance et de synchronisation audio. DESCRIPTION DÉTAILLÉE DE L'INVENTION [0014] Des modes de réalisation de l'invention prévoient un procédé de reconnaissance et de synchronisation audio. Conformément à un mode de réalisation de l'invention, un système de traitement de données peut déterminer où deux fichiers audio se synchronisent en ce qui concerne le temps. [0015] Dans une autre illustration, la Figure 1 illustre graphiquement un processus de reconnaissance et de synchronisation audio, Comme représenté dans la Figure 1, une piste audio d'origine 100 et une piste audio enregistrée 101 sont soumis à un processus de génération de spectrogramme 110. Chacun des fichiers audio 100 et 101 a ses données audio divisées en trames de 100 millisecondes dans le processus 105 avant qu'un spectrogramme 115 ne soit calculé pour chaque trame dans le processus 106. Dans la génération d'empreinte 120, le spectrogramme 115 fournit des données de fréquence 125 pour produire une matrice bidimensionnelle 126 constituée des fréquences maximales par trame, selon un spectrogramme 3 115. Ensuite, la détection de l'horodatage 140 commence lorsque des fréquences similaires provenant de l'empreinte 130 des deux fichiers audio sont appariées l'une avec l'autre dans le processus 135 avant que les fréquences appariées ne soient reportées sur un graphique dans le processus 136. Le graphique de fréquences appariées 145 est constitué de deux axes : les trames depuis le début de la piste audio, et l'heure à laquelle les fréquences apparaissent dans la piste audio enregistrée. Toute ligne diagonale formée par les fréquences appariées indique une relation temporelle, de sorte qu'une formule de détection de ligne 150 est exécutée par le programme pour déterminer l'équation de la ligne diagonale. Le programme détermine ensuite où la ligne diagonale croise l'axe des Y dans le processus 155. Avec ces informations, le programme peut synchroniser les deux pistes audio. [0016] Le processus décrit en relation avec la Figure 1 peut être mis en oeuvre dans un système de traitement de données. Dans une autre illustration, la Figure 2 représente schématiquement un système de traitement de données configuré pour la reconnaissance et la synchronisation audio. Le système peut comprendre un dispositif portable 200, par exemple un smartphone, une tablette tactile ou un assistant numérique personnel. Le dispositif portable 200 peut comprendre au moins un processeur 230 et une mémoire 220. Le dispositif portable 200 peut en outre comprendre des circuits de communication mobile 210 agencés pour prendre en charge des communications mobiles dans le dispositif portable 200, ainsi que des circuits de communication de données 240 agencés pour prendre en charge des communications de données. [0017] Un système d'exploitation 250 peut être exécuté dans la mémoire 220 par le processeur 230 du dispositif portable 200 et peut prendre en charge le fonctionnement d'un certain nombre de programmes informatiques, y compris un enregistreur de son 280. En outre, un programme de gestion de l'affichage 260 peut fonctionner via le système d'exploitation 250, tout comme un programme de gestion audio 270. Il est à noter qu'un module de reconnaissance et de synchronisation audio 300 peut être pris en charge par le système d'exploitation 250. Le module de reconnaissance et de synchronisation audio 300 peut comprendre un code de programme qui, lorsqu'il est exécuté dans la mémoire 220 par le système d'exploitation 250, peut agir pour déterminer l'horodatage de l'audio externe 225 émis à partir d'une source de haut-parleur externe 215. 4 [0018] À cet égard, le code de programme du module de reconnaissance et de synchronisation audio 300 est activé pour déterminer la fréquence et l'intensité d'une piste audio 225 à un instant donné en utilisant un microphone 275. Le code de programme du module de reconnaissance et de synchronisation audio est capable d'apparier les fréquences de deux pistes audio pour déterminer où les deux fichiers s'apparient l'un à l'autre temporairement. [0019] Dans encore une autre illustration du fonctionnement du module de reconnaissance et de synchronisation audio 300, la Figure 3 est un logigramme illustrant un processus de reconnaissance et de synchronisation audio. Une piste audio d'origine 305 est d'abord soumise à un processus de génération d'empreinte 325 dans lequel les données audio de la piste 305 sont divisées en trames de 100 millisecondes dans le processus 310. Un spectrogramme est ensuite calculé pour chaque trame dans le processus 320 avant que le temps, la fréquence et l'intensité ne soient déterminés et stockés dans le processus 330. Ensuite, le programme obtient les fréquences à partir des empreintes des deux fichiers audio dans le processus 360 avant que les fréquences similaires entre les deux fichiers ne soient appariées et reportées sur un graphique bidimensionnel dans le processus 350. Dans le bloc 340, le programme détecte toute relation temporelle entre les fréquences sous la forme d'une ligne diagonale. La détection de ligne 370 est utilisée pour déterminer où la diagonale croise l'axe des Y dans le bloc 380. Une fois ce processus terminé, le programme dispose des informations nécessaires pour synchroniser les deux pistes audio. [0020] La présente invention peut être intégrée dans un système, un procédé, un produit de programme informatique ou toute combinaison de ceux-ci. Le produit de programme informatique peut comprendre un support de stockage lisible par ordinateur ou un support ayant des instructions de programme lisibles par ordinateur sur celui-ci pour faire réaliser des aspects de la présente invention par un processeur. Le support de stockage lisible par ordinateur peut être un dispositif physique qui peut conserver et stocker des instructions à utiliser par un dispositif d'exécution d'instructions. Le support de stockage lisible par ordinateur peut être, par exemple, mais de façon non exhaustive, un dispositif de stockage électronique, un dispositif de stockage magnétique, un dispositif de stockage optique, un dispositif de stockage électromagnétique, un dispositif de stockage à semi-conducteurs, ou toute combinaison appropriée de ce qui précède. [0021] Les instructions de programme lisibles par ordinateur décrites ici peuvent être téléchargées dans des dispositifs informatiques / de traitement respectifs à partir d'un support de stockage lisible par ordinateur ou vers un ordinateur externe ou un dispositif de stockage externe via un réseau. Les instructions de programme lisibles par ordinateur peuvent être exécutées entièrement sur l'ordinateur de l'utilisateur, partiellement sur l'ordinateur de l'utilisateur, en tant que progiciel autonome, partiellement sur l'ordinateur de l'utilisateur et partiellement sur un ordinateur distant ou entièrement sur l'ordinateur ou le serveur distant. Les aspects de la présente invention sont décrits ici par référence à des illustrations par logigramme et/ou des diagrammes à blocs de procédés, d'appareils (systèmes), et de produits de programmes informatiques selon des modes de réalisation de l'invention. On comprend que chaque bloc des illustrations par logigramme et/ou des diagrammes à blocs, et les combinaisons de blocs dans les illustrations par logigramme et/ou les diagrammes à blocs, peuvent être mis en oeuvre par des instructions de programme lisibles par ordinateur. [0022] Ces instructions de programme lisibles par ordinateur peuvent être fournies à un processeur d'un ordinateur à usage général, d'un ordinateur spécial ou d'un autre appareil de traitement de données programmable pour produire une machine, de sorte que les instructions, qui s'exécutent via le processeur de l'ordinateur ou d'un autre appareil de traitement de données programmable, crée des moyens pour la mise en oeuvre des fonctions/actes spécifiés dans le ou les bloc(s) du logigramme et/ou du diagramme à blocs. Ces instructions de programme lisibles par ordinateur peuvent également être stockées sur un support de stockage lisible par ordinateur qui peut piloter un ordinateur, un appareil de traitement de données programmable et/ou d'autres dispositifs pour fonctionner d'une manière particulière, de sorte que le support de stockage lisible par ordinateur ayant des instructions stockées dans celui-ci comprend un article de fabrication comprenant des instructions qui mettent en oeuvre des aspects de la fonction/Pacte spécifié(e) dans le ou les bloc(s) du logigramme et/ou du diagramme à blocs. [0023] Les instructions de programme lisibles par ordinateur peuvent également être chargées sur un ordinateur, un autre appareil de traitement de données programmable ou un autre dispositif pour faire effectuer une série d'étapes opérationnelles sur l'ordinateur, l'autre appareil programmable ou l'autre dispositif pour produire un processus mis en oeuvre par ordinateur, de sorte que les instructions qui s'exécutent sur l'ordinateur, l'autre appareil programmable ou 6 7 l'autre dispositif mettent en oeuvre les fonctions/actes spécifiés dans le ou les bloc(s) du logigramme et/ou du diagramme à blocs. [0024] Le logigramme ou les diagrammes à blocs dans les Figures illustrent l'architecture, la 5 fonctionnalité et le fonctionnement des mises en oeuvre possibles des systèmes, procédés et produits de programmes informatiques selon divers modes de réalisation de la présente invention. À cet égard, chaque bloc dans le logigramme ou les diagrammes à blocs peut représenter un module, un segment ou une partie d'instructions, qui comprend une ou plusieurs instructions exécutables pour la mise en oeuvre de la ou des fonction(s) logique(s) spécifiée(s). Dans certaines mises en oeuvre alternatives, les fonctions notées dans le bloc peuvent se produire dans un autre ordre que celui indiqué dans les figures. Par exemple, deux blocs représentés à la suite l'un de l'autre peuvent, en réalité, être exécutés de façon sensiblement simultanée, ou les blocs peuvent parfois être exécutés dans l'ordre inverse, selon la fonctionnalité. On notera également que chaque bloc des diagrammes à blocs et/ou de l'illustration par logigramme, et les combinaisons de blocs dans les diagrammes à blocs et/ou l'illustration par logigramme, peuvent être mis en oeuvre par des systèmes matériels à usage spécial qui exécutent les fonctions ou actes spécifié(e)s ou effectuent des combinaisons de matériel à usage spécial et d'instructions informatiques. [0025] Enfin, la terminologie utilisée ici vise uniquement à décrire des modes de réalisation particuliers et n'a pas pour objet de limiter la portée de l'invention. Tel qu'utilisées ici, les formes du singulier « un », « une », « le » et « la » s'entendent comme incluant également les formes multiples, à moins que le contexte n'indique clairement le contraire. On comprendra en outre que les termes « comprend » et/ou « comprenant », lorsqu'ils sont utilisés dans cette description, indiquent la présence des caractéristiques, nombres entiers, étapes, opérations, éléments et/ou composants cités, mais n'empêchent nullement la présence ou l'ajout d'un(e) ou plusieurs autres fonctionnalités, nombres entiers, étapes, opérations, éléments, composants et/ou groupes de ceux-ci. [0026] La description de la présente invention est présentée à des fins d'illustration et de description, mais ne vise pas à être exhaustive ni à limiter la portée de l'invention à la forme décrite. De nombreuses modifications et variations seront évidentes pour l'homme de l'art, sans s'écarter de la portée ni de l'esprit de l'invention. Le mode de réalisation a été choisi et décrit 8 pour mieux expliquer les principes de l'invention et son application pratique, et permettre à d'autres hommes de l'art de comprendre l'invention pour divers modes de réalisation avec diverses modifications appropriées à l'usage particulier envisagé. 5 [0027] Ayant -ainsi décrit l'invention couverte par la présente demande dans le détail et par référence à ses modes de réalisation, il sera évident que des modifications et des variations sont possibles, sans s'écarter de la portée de l'invention. REVENDICATIONS1. Procédé de synchronisation audio comprenant : le stockage d'une piste audio dans la mémoire d'un dispositif informatique ; l'activation de la synchronisation audio de la piste audio stockée avec lecture d'un signal audio acquis simultanément ; le calcul d'un graphique de fréquences audio pour la piste audio stockée et également le calcul d'un graphique de fréquences audio pour le signal audio acquis simultanément ; la comparaison des graphiques pour identifier les points de données similaires ; la localisation d'un horadatage correspondant aux points de données similaires ; et, la lecture de la piste audio stockée à partir d'une position correspondant à l'horodatage localisé. 2. Procédé selon la revendication 1, dans lequel la comparaison des graphiques comprend la conversion de chacun des graphiques en une empreinte distincte et l'identification des points de données similaires dans les empreintes distinctes. 3. Procédé selon la revendication 1, dans lequel les graphiques sont des spectrogrammes. 4. Procédé selon la revendication 1, dans lequel les empreintes sont chacune des matrices bidimensionnelles générées avec des fréquences maximales à un instant donné tant pour la piste audio stockée que pour le signal audio acquis simultanément. 5. Procédé selon la revendication 1, dans lequel le dispositif informatique est un téléphone portable. 6. Procédé selon la revendication 1, dans lequel l'identification des points de données similaires s'effectue en superposant les graphiques, en détectant une ligne diagonale dans les graphiques superposés, en calculant une équation pour la ligne diagonale, en étendant la ligne diagonale sur un axe des Y des graphiques superposés, et en localisant une intersection entre la ligne diagonale et l'axe des Y, l'intersection déterminant l'horodatage. 9 7. Produit de programme informatique pour la synchronisation audio, le produit de programme informatique comprenant un support de stockage lisible par ordinateur ayant des instructions de programme intégrées, les instructions de programme exécutables par un dispositif pour faire en sorte que le dispositif réalise un procédé comprenant : le stockage d'une piste audio dans la mémoire d'un dispositif informatique ; l'activation de la synchronisation audio de la piste audio stockée avec lecture d'un signal audio acquis simultanément ; le calcul d'un graphique de fréquences audio pour la piste audio stockée et également le calcul d'un graphique de fréquences audio pour le signal audio acquis simultanément ; la comparaison des graphiques pour identifier les points de données similaires ; la localisation d'un horodatage correspondant aux points de données similaires ; et, la lecture de la piste audio stockée à partir d'une position correspondant à l'horodatage localisé. 8. Produit de programme informatique selon la revendication 7, dans lequel la comparaison des graphiques comprend la conversion de chacun des graphiques en une empreinte distincte et l'identification des points de données similaires dans les empreintes distinctes. 9. Produit de programme informatique selon la revendication 7, dans lequel les graphiques sont des spectrogrammes. 10. Produit de programme informatique selon la revendication 7, dans lequel les empreintes sont chacune des matrices bidimensionnelles générées avec des fréquences maximales à un instant donné tant pour la piste audio stockée que pour le signal audio acquis simultanément. 11. Produit de programme informatique selon la revendication 7, dans lequel le dispositif informatique est un téléphone portable. 12. Produit de programme informatique selon la revendication 7, dans lequel l'identification des points de données similaires s'effectue en superposant les graphiques, en détectant une ligne diagonale dans les graphiques superposés, en calculant une équation pour la ligne diagonale, en étendant la ligne diagonale sur un axe des Y des graphiques superposés, et en 10 localisant une intersection entre la ligne diagonale et l'axe des Y, l'intersection déterminant l'horodatage. 11