Brevet FR2862799A1 — publié le 20050527

de signaux audio en fonction des données de position spatiale et des paramètres de niveaux de puissance instantanés de chaque source correspondante. Le dispositif informatique selon l'invention peut comprendre de nombreuses caractéristiques supplémentaires qui pourront être prises séparément et/ou en combinaison: - le module de sélection apte, préalablement à la construction de groupes de signaux audio, à sélectionner les signaux audio inaudibles en fonction des paramètres de niveaux de puissance instantanés comprenant un niveau de puissance et un seuil de masquage pour chaque source et à conserver les seuls signaux audio audibles; - les paramètres de niveau de puissance sont calculées pour chaque source à partir de la densité spectrale de puissance instantanée pré-calculé à partir des signaux audio en partie pré-enregistrés; - le module de traitement est apte à traiter chaque groupe de signaux audio en un signal audio de pré-mixage et pour rassembler les signaux audio de pré-mixage afin d'obtenir un signal 15 de mixage audible par l'auditeur; - le module de traitement comprend un processeur vidéo apte à transformer le groupe de signaux audio en un groupe de signaux vidéo texturés, à traiter chaque signal vidéo texturé du groupe selon des paramètres de modification du son, et à rassembler et transformer les signaux en un signal audio de pré-mixage; - les paramètres de modification du son comprennent un paramètre d'atténuation du son et/ou un paramètre de délai de propagation du son; - le module de sélection est apte à construire, à partir d'un premier groupe de signaux audio et de données calculées de position spatiale du groupe, deux groupe de signaux audio et à calculer les données de position spatiale d'un représentant de chacun de ces deux groupes, 2 5 - le module de sélection est apte à déterminer, à partir du premier groupe de signaux audio, de leurs sources correspondantes et de données calculées de position spatiale du représentant du premier groupe, une source pour laquelle la somme des distances d'erreur calculées entre la position spatiale de cette source et celles des autres sources du groupe est minimale et pour attribuer les signaux audio du premier groupe et leurs sources correspondantes à l'une des positions spatiales, parmi les données calculées de position spatiale du représentant du premier groupe et les données de position spatiale de la source déterminée, en fonction d'évaluations de distance d'erreur, de façon à former deux groupe; - le module de sélection est apte à effectuer une évaluation de distance d'erreur pour un signal audio du premier groupe et sa source correspondante consistant à évaluer d'une part la distance d'erreur entre les données de position spatiale de cette source et les données calculées de position spatiale du représentant du premier groupe et d'autre part la distance d'erreur entre les données de position spatiale de cette source et les données de position spatiale de la source déterminée puis à évaluer la distance d'erreur minimale entre les deux et le module de sélection étant apte à attribuer le signal audio et sa source correspondante aux données de position spatiale de la source déterminée ou du représentant du premier groupe correspondant à la distance d'erreur minimale, - les données de position spatiale de la source déterminée correspondent aux données de position spatiale du représentant d'un deuxième groupe; - le module de sélection est apte à calculer les données de position spatiale de chaque 15 représentant de groupe en fonction de paramètres de niveau de puissance de chaque source attribuée au groupe - le module de sélection est apte à recalculer les données de position spatiale du représentant de chacun des deux groupes en déterminant une source pour laquelle la somme des distances d'erreur entre la position spatiale de cette source et celles des autres sources du groupe est 2 0 minimale et le module de sélection est en outre apte à ré-attribuer les sources à l'un ou l'autre des représentants d'un des deux groupes en fonction de ladite évaluation de distance d'erreur minimale; - le module de sélection est apte à recalculer les données de position spatiale du représentant de chacun des deux groupes et à ré-attribuer les sources à l'un ou l'autre des représentants 2 5 d'un des deux groupes jusqu'à ce que la somme des distances d'erreur entre les représentants des deux groupes et leurs sources atteigne un minimum; - le module de sélection est apte à diviser un groupe jusqu'à ce qu'un nombre déterminé de groupes soit obtenu ou jusqu'à ce que la somme des distances d'erreur entre les représentants des groupes et leurs sources atteigne un seuil déterminé. L'invention concerne également un procédé de traitement de signaux audio en partie pré-enregistrés correspondant chacun à une source, comprenant les étapes consistant à a. calculer des paramètres de niveau de puissance instantané à partir des signaux audio, les source correspondantes étant définies par ces paramètres et par des données de position spatiale, b. regrouper certains des signaux audio en un nombre variable de groupes de signaux audio et calculer des données de position spatiale représentatives de chaque groupe de signaux audio en fonction des données de position spatiale et des paramètres de niveau de puissance instantané de chaque source correspondante, c. traiter ces signaux audio par groupe en temps réel en fonction de données de position spatiale représentatives du groupe. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, ainsi que des dessins annexés sur lesquels: - la figure 1 représente un dispositif informatique dans lequel est réalisé l'invention, - la figure 2 illustre des éléments matériels dans leur utilisation pour le traitement de signaux audio de l'art antérieur, - la figure 3 illustre des éléments matériels dans leur utilisation pour le traitement de signaux audio de l'invention, - la figure 4 est un ordinogramme illustrant le procédé de traitement de signaux audio de 2 5 l'invention, - la figure 4A est un ordinogramme détaillant une étape de division par groupe du procédé de la figure 4, la figure 4B est un ordinogramme détaillant une étape de traitement des signaux par groupe du procédé de la figure 4, - la figure 5 représente schématiquement la comparaison entre l'utilisation de coordonnées 5 cartésiennes et polaires pour la détermination du positionnement d'une source sonore fictive remplaçant deux sources sonores réelles, - la figure 6 illustre le traitement d'un signal audio sous forme d'un signal vidéo par un processeur graphique 3D, - la figure 7 illustre le traitement d'un signal en un signal comprimé temporellement et atténué, - la figure 8 illustre, pour une configuration de quatre groupes de sources, deux échogram-15 mes des signaux de pré-mixage de chaque groupe obtenus différemment. L'annexe 1 présente les formules mathématiques utilisées pour la réalisation de l'invention. L'annexe 2 présente les différentes variables utilisées et leur signification. 2 0 Les dessins et les annexes contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre la description, mais aussi contribuer à la définition de l'invention, le cas échéant. La figure 1 représente un dispositif informatique comprenant une unité centrale 4 reliée à des 2 5 périphériques tels qu'un écran 2, un clavier 5, une souris, un dispositif de hauts-parleurs 6 et autres. Ce dispositif informatique est utilisé pour la présentation visuelle dynamique sur écran d'un environnement (appelé aussi "scène") définissant différentes sources sonores et pour la restitution par haut-parleurs des sons provoqués par ces dernières. L'unité centrale comprend ainsi différents composants matériels aptes à traiter les signaux audio comme 3 0 décrits en référence à la figure 2. Ainsi, il est connu d'utiliser un processeur audio (ou module de traitement) relié à une mémoire 8 et à un dispositif de haut-parleurs 28. Le processeur audio 10 peut faire partie d'une carte son et est alors appelé DSP ("Digital Signal Processor" pour Processeur de Signal Numérique). Le processeur audio reçoit les signaux numériques provenant du processeur de la carte mère et les convertit en signaux analogiques transformés par haut-parleurs en sons. Les processeurs DSP plus performants permettent de traiter les signaux numériques en ajoutant des distorsions de signal, des échos (appelés réverbérations) par exemple. Certaines cartes mères intègrent elles-mêmes une carte son munie du processeur DSP. Ainsi, dans le cas de la figure 2, le processeur audio travaille avec des données de signaux audio 14 et avec des données de positions spatiales d'un utilisateur (appelé aussi "auditeur", ou "spectateur") par rapport à la scène et de sources sonores 16 enregistrés en mémoire 8. Les signaux audio sont chacun émis par une source sonore ayant une position spatiale définie dans une scène ou environnement présenté à l'écran. De façon connue, une position spatiale peut être représentée en mémoire par un triplet de coordonnées cartésiennes, polaires ou autres. La définition de la position spatiale d'un auditeur donné permet également d'obtenir un rendu audio pour ce dernier. Comme indiqué sur la figure 2 et de façon connue, le processeur audio reçoit les données de la mémoire 8, c'est-à-dire chaque donnée de signal audio représenté par une flêche 14-i (i étant un entier positif représentant l'un des signaux audio) et les données de position des sources correspondantes et de l'auditeur. Les signaux audio sont traités par le processeur audio. Ce traitement se traduit par l'ajout d'effets 18 comprenant des opérations qui doivent être réalisées pour chaque signal audio d'entrée comme par exemple l'ajout de l'effet Doppler, l'ajout d'un délai, l'atténuation par la distance, l'ajout des effets 2 5 d'occlusion/d'obstruction, de directivité. D' autres effets comme les effets de positionnement 22 de chaque signal de source dans la scène peuvent être ajoutés (sons provenant d'une source lointaine ou d'une source proche de l'auditeur, rendu de la direction de provenance des sons aux oreilles de l'auditeur). Les signaux audio sont ensuite soumis à un mixage 24 correspondant à la sommation des signaux ainsi traités. Après l'ajout des effets 18, les 3 0 signaux peuvent être sommés en un signal soumis à certains effets, par exemple un effet de réverbération. Le signal résultant est ajouté à la sommation des signaux spatialisés grâce au module de mixage 24 afin d'obtenir un signal sonore final. Le processeur audio traite les signaux audio en temps réel en fonction d'une donnée de position spatiale d'un auditeur. Ainsi, le processeur audio 10 délivre un signal analogique transformé en son et diffusé par le dispositif haut-parleur 28. Ce dispositif informatique permet d'obtenir un rendu sonore spatialisé améliorant le sens de réalisme et d'immersion dans la scène ou l'environnement présenté à l'écran. Des exemples de cartes sonores connues sont détaillés sur les pages internet suivantes: [1] Creative Labs Soudblaster.http://www.soundblaster.com [2] Direct X homepage, microsoft [3] Environmental audio extensions: EAX 2.0 Creative Toutefois, la technique décrite ci-dessus parvient à ses limites lorsqu'un grand nombre de 15 sources sonores est défini dans la scène. Le traitement de ce grand nombre de sources sonores devient impossible en raison du coût du traitement des nombreux signaux. Il est intéressant de noter que le dispositif informatique décrit précédemment est en général limité à des sources sonores ponctuelles. Hors pour obtenir un rendu sonore réaliste de 2 0 sources sonores étendues ( c'est-à-dire non ponctuelles, un train par exemple) il est possible d'échantilloner la surface ou le volume définissant la source en une collection de source ponctuelles. Un désavantage d'une telle approche est qu'elle multiplie rapidement le nombre de sources à traiter. On rencontre un problème similaire lorsque les réflections ou diffractions du son sur les parois de l'environnement virtuel doivent être modélisées sous forme de "source-images". Ceci est présenté dans les articles: [4] J.B. Allen et D.A Berkley, Image method for efficiently simulating small room acoustics, Journal of the Acoustical Society ofAmerica, n 4, Vol. 65, 1979. [5] J.Borish, Extension of the image model to arbitrary polyhedra, Journal of the Acoustical Society ofAmerica, n 6, vol.75, 1984. [6]N.Tsingos et T.Funkhouser et A.Ngan et I. Carlbom, Modeling Acoustics in Virtual Environments using the Uniform Theory of Diffraction, ACM Computer Graphics, SIGGRAPH'01 Proceedings, p.545-552, août 2001. Une solution technique a été présentée par Herder se basant sur le regroupement de sources sonores et sur la sélection d'un nombre fixe de sources sonores représentatives de l'ensemble des sources sonores. Toutefois, la technique de Herder reste coûteuse et peu adaptable à un budget donné. Cette technique est décrite dans l'ouvrage suivant: [7] Jens Herder. Optimization of sound spatialization resource management through 10 clustering. The Journal of Three Dimensional Images, 3D-Forum Society, 13(3):59-70, Septembre 1999. Ainsi, l'invention présente une solution technique permettant le rendu audio-visuel d'environnements contenant des centaines de sources sonores à un coût moindre que les solutions antérieures. Avantageusement, l'invention permet un rendu audio-visuel avec réverbération et effets dépendant de la fréquence, sur des systèmes grand-public. Un exemple de réalisation du dispositif de l'invention est détaillé sur la figure 3. Le dispositif comprend une mémoire 108 permettant de stocker des données de signaux audio 2 0 114 et de positions des sources sonores correspondantes ainsi que de position de l'auditeur 116. Cette mémoire travaille en relation avec un module de traitement 110 comprenant un module de sélection 120, un processeur vidéo 130 et un processeur audio 140. A titre d'exemple, le dispositif mettant en oeuvre le procédé de l'invention peut être un ordinateur PCXeon 1.8 Ghz comprenant une carte son qui peut être une carte Soundblaster Audigy ou 2 5 une carte SoundMax et une carte vidéo qui peut être une carte GeForce 4600Ti ou une carte ATI Radeon Mobility 5700. Le traitement des signaux audio en fonction des positions des sources sonores et de la position de l'auditeur est décrit sur l'ordinogramme de la figure 4 en correspondance avec 3 0 la figure 3. Préalablement au traitement des signaux par le module de traitement, des informations de type densité spectrale de puissance instantanée PSD et seuil de puissance de masquage M 128 sont calculées par le module de traitement pour chaque position de source sonore stockée en mémoire. Plusieurs expressions pour le calcul du seuil de puissance de masquage sont connues des applications de codage audio perceptuel (PAC), par exemple dans le standard de la couche III (mp3) de MPEG-1. Ces expressions peuvent être trouvées dans les ouvrages suivants [8] K. Brandenburg. mp3 and aac explained. AES 17th International Conference on Hih-Quality Audio Coding, Septembre 1999, [9] R.Rangachar. Analysis and improvement of the MPEG-1 audio layer III algorithm at low bit-rates. Master thesis, Arizona State University, Decembre 2001. Ce seuil de puissance de masquage calculé correspond à la puissance maximale d'un bruit pouvant être masqué par le signal. Dans le cas de l'invention, les seuils de puissance de masquage peuvent être dynamiquement calculés pour un grand nombre de sources. Toutefois, comme les données de signaux audio sont pré-enregistrés et non pas dynamique-ment évalués, les seuils de puissance de masquage M sont dynamiquement calculés à partir d'information de tonalité T (ou index de tonalité) pouvant être pré-calculés et pré-enregistrés en 114, puis dynamiquement accessibles. Il peut en aller de même des densités spectrales de puissance instantanée PSD qui permettent de pré-calculer les informations de tonalité T. Il est également envisageable d'évaluer les densités spectrales de puissance instantanée PSD à la volée si l'intégralité du signal n'est pas disponible à l'avance (par exemple quand les données audio sont synthétisées ou transmises sous forme de flux dit "streaming") de façon à calculer les informations de tonalité T. On parle alors de signaux en partie pré-enregistrés. Néanmoins cette évaluation à la volée nécessite une plus forte puissance de calcul. A titre d'exemple uniquement, ces informations sont calculées pour chaque signal audio et plus précisément pour trois composantes pré-calculées de chaque signal audio correspondant à trois bandes de fréquence du spectre audio audible. Le nombre de trois bandes de 3 0 fréquence n'est en aucun cas limitatif et pourrait par exemple être de vingt-cinq bandes. Ces bandes de fréquence audibles sont, dans cet exemple, f1 = [0-500 Hz] basses fréquences, f2=[500-2000Hz] moyennes fréquences et f3=[+ de 2000Hz] hautes fréquences. Les seuils de puissance de masquage M et les densités spectrales de puissance instantanée PSD sont calculés à partir des techniques décrites dans les ouvrages suivants [10] K.Brandenburg. mp3 and aac explained,. AES 17th International Conference on High-Quality Audio Coding,Septembre 1999. [11] E.M.Painter and A.S.Spanias. A review of algorithms for perceptual coding of digital audio signals. DSP-97, 1997 [12] R.Rangachar.Analysis and improvement of the MPEG-1 audio layer III algorithm at low bit-rates. Master thesis, Arizona State University, December 2001. [13] Ken Steiglitz. A DSP Primer with applications to digital audio and computer music. Addison Wesley, 1996. Pour chaque bande de fréquence, une transformée de Fourier est calculée à partir des techniques des ouvrages [8], [9] et [14] E.M. Painter and A.S.Spanias. A review of algorithms for perceptual coding of digital audio signals. DSP-97, 1997. Pour chaque bande de fréquence f, la distribution du spectre de puissance instantanée 2 0 PSDt(f) est calculée pour chaque image t. Pour le calcul du seuil de masquage M, on se reportera aux équations Al à m de l'annexe A. A un instant donné, le module de sélection reçoit les signaux audio 114, les informations 128 de type seuil de masquage ainsi que le spectre de puissance instantanée PSD. Avec ces 2 5 données, le module de sélection effectue un tri entre les signaux et isole les sources inaudibles à l'étape 200 de 1 figure 4. Pour ce faire, le module de sélection estime à l'instant T le volume perceptif LkT du signal audio, comme indiqué par l'équation A4, de chaque source sonore k et pour l'ensemble des bandes de fréquences f. Comme indiqué à l'équation A5, ce volume perceptif est fonction du niveau de puissance de chaque bande de fréquence f à un instant T-b, instant tenant compte du délai de propagation du signal entre la position de la source et la position de l'auditeur, et de la contribution a(f) différente au volume perceptif de chaque niveau de puissance P(f). Le niveau de puissance de chaque bande de fréquence f est calculé à partir de la distribution spectrale de puissance instantanée PSD de la source à l'instant T-ô, de l'atténuation A dépendant de la distance, de l'occlusion, du modèle de directivité de la source par exemple. Ce volume perceptif instantané peut être moyenné sur les instants précédents (par exemple les dix instants T précédents). On parle de "paramètres de niveau de puissance" pour englober le seuil de puissance de masquage et les paramètres dépendants des niveaux de puissance, c'est-à-dire les niveaux de puissance eux-mêmes et les volumes perceptifs par exemple. Une source est définie par sa position spatiale et ses paramètres de niveau de puissance calculés par le module de traitement 110 de la figure 3. A chaque instant T, le module de sélection 120 trie les sources sonores dans l'ordre décroissant des résultats obtenus par le calcul du critère de l'équation A6 combinant le volume perceptif et le seuil de masquage. Le critère A6 peut donc être considéré comme une quantification de l'importance perceptive de chaque source dans la scène sonore globale. Après avoir calculé le niveau de puissance global de la scène Po pour l'ensemble des sources en A7 à un instant donné, l'algorithme A8 est effectué à cet instant donné et pour chaque source Sk de manière à sélectionner et éliminer les sources inaudibles. L'algorithme A8 insère progressivement les sources Sk par ordre décroissant d'importance dans le mixage courant Pmix. Le niveau de puissance Pk de la source est retiré de la puissance globale de la scène Po et est ajouté à la puissance courante du mixage Pmix, le seuil de puissance de masquage Mk de la source est ajouté au seuil de puissance de masquage courant Tmix du 2 5 mixage. L'algorithme A8 est itéré pour chaque source Sk tant que les deux conditions suivantes sont vérifiées: 1. la puissance globale courante de la scène est supérieure à la différence entre la puissance courante du mixage et le seuil de puissance de masquage courant du mixage, 2. la puissance globale restante est supérieure au seuil absolu d'écoute (ATH). Sur la figure 3, les signaux sont représentés par des flêches reçus dans le module de sélection et les signaux inaudibles sont représentés par des flêches qui s'arrêtent dans le module de sélection 120 en une croix. Ces opérations se répètent successivement pour chaque instant. Avec les sources audibles, le module de sélection détermine le nombre N de groupes de signaux audio audibles (ou de sources audibles) possible à réaliser à l'étape 202. Le nombre N de groupes peut être directement pré-déterminé par l'utilisateur, enregistré et lu par le module de sélection par exemple, ou résulter de la valeur du seuil d'erreur définie ultérieurement en A10, valeur fixée par l'utilisateur. Un groupe de source peut être spatialisé en utilisant un canal audio de la carte son (DSP). Le nombre N de groupes pourra donc être choisi comme étant égal au nombre maximum de canaux pouvant être spatialisé par la carte son. Si la spatialisation, c'est-àdire le traitement positionnel du son, doit être effectué à l'aide du processeur central, une évaluation du coût du calcul d'un groupe peut permettre à l'utilisateur de déterminer quel nombre N de groupes construire. Il est possible également de maintenir dynamiquement une évaluation du coût des calculs effectués pour chaque groupe (par exemple en évaluant le temps processeur nécessaire) et d'adapter le nombre N de groupes en fonction. Ce nombre N est donc variable selon les valeurs rentrées par l'utilisateur, selon le nombre de canaux de la carte son ou selon l'évaluation de coûts par 2 0 exemple. A l'étape 204, le module de sélection est apte à regrouper en N groupes les signaux audio. Le module de traitement est apte à calculer une position spatiale représentative pour chaque groupe de signaux audio en fonction de la position spatiale et du volume perceptif de chaque 2 5 source correspondante. Le procédé de l'étape 204 sera plus particulièrement détaillé en référence à la figure 4A par la suite. Le procédé de l'étape 204 peut également effectuer un regroupement de signaux audio en utilisant un autre procédé que celui détaillé en référence à la figure 4A. Ainsi, il est possible de déterminer les N représentants choisis parmi les sources en utilisant une heuristique telle que présentée dans l'ouvrage [14] Hochbaum, D. and Shmoys, D. Abest possible heuristic for the k- center problem. 5 Mathematics of Operations Research, 1985. Les N groupes sont ainsi formés en affectant chaque source au représentant le plus proche au sens de la métrique définie dans l'équation A9 détaillée plus loin. A l'étape 206, les signaux audio de chaque groupe sont traités afin d'obtenir un signal audio de pré-mixage par groupe. L'obtention d'un signal de pré-mixage par groupe sera explicité en relation avec la figure 4B détaillant l'étape 206. De manière avantageuse et en référence à la figure 3, l'étape de pré-mixage des signaux par groupe se déroule dans le processeur vidéo 130 dans un module de pré-mixage 132. Par pré-mixage, on entend tout d'abord les opérations qui doivent être réalisées pour chaque signal audio d'entrée comme par exemple l'ajout de l'effet doppler, l'ajout d'un délai, l'atténuation par la distance, des effets d'occlusion/d'obstruction, de directivité, ainsi que la somme des signaux ainsi traités dans chaque groupe. Le pré-mixage peut également comprendre la sommation de tous les signaux de tous les groupes afin d'ajouter un effet de réverbération 146 sur ce signal de sommation 2 0 (E). Ensuite, le processeur audio 140 reçoit un signal audio de pré- mixage pour chaque groupe, et le signal de sommation (E). Le processeur audio peut ajouter des effets de réverbération 146 sur le signal de sommation. Le processeur audio applique un effet de positionnement 142 sur chaque signal audio de pré-mixage avant de mixer ces derniers entre- eux ainsi que le signal résultant du module de réverbération 146 afin d'obtenir un signal audio de mixage audible par l'auditeur à l'étape 208. Par mixage, on entend, après les opérations de positionnement des signaux dans la scène, la sommation finale des opérations de positionnement et des effets de réverbération si il y a lieu. L'étape 204 est maintenant détaillée en référence à la figure 4A. Dans un premier temps, le regroupement des sources en groupes s'effectue en construisant un premier groupe unique réunissant les sources audibles, puis ce groupe est successivement découpé pour obtenir le nombre de groupes voulu. Dans le cas où le nombre de groupes est plus grand que le nombre de sources disponibles, chaque source représentera un groupe. A l'étape 2000, le module de sélection définit un premier groupe unique réunissant les sources audibles et calcule la position spatiale du représentant Cl du groupe. Cette position spatiale correspond à l'évaluation du centroïde à partir du jeu de positions spatiales des sources émettant les signaux audio. Dans l'exemple de l'invention et comme illustré par la figure 5, il est intéressant d'utiliser les coordonnées polaires pour définir les positions spatiales des sources S1 et S2 éloignées de l'auditeur afin de déterminer un centroïde polaire CP du représentant du groupe et non un centroïde cartésien CC. En effet, le centroïde cartésien CC du représentant du groupe est très proche de l'auditeur AU et ne permet pas de conserver la distance entre les sources (Si et S2) et l'auditeur. Au contraire, le centroïde polaire CP du représentant du groupe conserve la distance avec l'auditeur AU et donc le délai de propagation du signal jusqu'à l'auditeur. De façon à déterminer la position spatiale du représentant Cl du groupe à la manière d'un barycentre, le volume perceptif de chaque 2 0 source peut être associé à ses coordonnées spatiales comme indiqué en A11. A l'étape 2002, une source Si du groupe est choisie telle que ses données minimisent une fonction d'erreur globale définie en A10. En effet, un représentant de groupe doit assurer que les distorsions acoustiques sont minimales lorsqu'il est utilisé pour spatialiser le signal. La 2 5 fonction d'erreur globale est la somme des distances d'erreurs ou "métriques d'erreurs" pour toutes les sources du groupe. Ces distances d'erreurs ou "métriques d'erreurs" sont définies en A9 comme la somme de deux termes de déviation spatiale entre une source et le représentant du groupe. Ainsi, l'étape 2002 consiste à déterminer, à partir du premiergroupe de signaux audio, de leurs sources correspondantes et de données calculées de position 3 0 spatiale du représentant Cl du premier groupe, une source pour laquelle la somme des distances d'erreur calculées entre la position spatiale de cette source et celles des autres sources du premier groupe est minimale. C et Sk utilisées dans A9 correspondent respectivement à un premier et un deuxième vecteur, dans un repère centré sur la position courante de l'auditeur, ayant pour coordonnées spatiales cartésiennes respectivement celles du centroïde C et celles de la source Sk. Les deux termes de la somme comprennent un terme de déviation de distance et un terme de déviation d'angle. La contribution du volume perceptif de la source permet d'assurer une distance d'erreur minimale pour les sources ayant un fort volume perceptif. A titre d'exemple uniquement, les paramètres y et P peuvent prendre les valeurs 1 et 2 respectivement pour équilibrer l'importance des termes de déviation entre-eux. La source Si choisie devient le nouveau représentant C2 d'un deuxième groupe à constituer. A l'étape 2004, les signaux audio du groupe et les sources correspondantes sont attribuées soit au représentant Cl, soit au représentant C2 selon un critère donné. Ainsi, l'étape 2004 consiste à attribuer les signaux audio du premier groupe et leurs sources correspondantes à l'une des positions spatiales, parmi les données calculées de position spatiale du représentant Cl du premier groupe et les données de position spatiale de la source Si déterminée, en fonction d'évaluations de distance d'erreur, de façon à former les deux groupes. La distance d'erreur entre la position spatiale d'une source Sk du groupe et la 2 0 position spatiale du représentant Cl du groupe est comparée à la distance d'erreur entre la position spatiale de la même source et la position spatiale du représentant C2 (correspondant à la source Si). La distance d'erreur minimale permet de déterminer le représentant auquel le signal audio et la source correspondante seront attribués. Plus précisément, le signal audio et sa source correspondante sont attribués aux données de position spatiale de la source Si 2 5 déterminée (correspondant au représentant C2) ou du représentant Cl du premier groupe correspondant à la distance d'erreur minimale (2004). Une fois l'attribution des signaux audio et leurs sources aux représentants Cl ou C2 effectuée, la position spatiale des représentants Cl et C2 est recalculée selon A11 pour 3 0 optimisation à l'étape 2006. A l'étape 2008, les représentants Cl et C2 ayant de nouvelles positions spatiales, une nouvelle attribution des signaux audio et leurs sources aux représentants Cl et C2 est effectuée selon le même critère de distance d'erreur minimale qu'à l'étape 2002. Les étapes 2006, c'est-à-dire recalculer les données de position spatiale du représentant de chacun des deux groupes, et 2008, c'est-à-dire ré- attribuer les sources à l'un ou l'autre des représentants d'un des deux groupes, sont répétées jusqu'à ce qu'un critère soit vérifié à l'étape 2010. Dans la réalisation présentée, le critère de l'étape 2010 est que la somme des erreurs globales pour les représentants des deux groupes atteigne un minimum local de la fonction d'erreur A10. En d'autres termes, ce critère de l'étape 2010 est que la somme des distances d'erreur entre les représentants des deux groupes et leurs sources atteigne un minimum. Après l'obtention de groupes dont les représentants ont des positions spatiales optimisées vis à vis des sources de chaque groupe, il est possible de re-diviser un des groupes en deux groupes de façon itérative (retour à l'étape 2002). Le groupe à diviser peut être choisi parmi tous les groupes courants, par exemple celui dont l'erreur A10 est la plus importante. La subdivision est effectuée jusqu'à l'obtention du nombre de groupes souhaité ou jusqu'à ce que l'erreur globale, c'est-à-dire la somme des erreurs A10 pour chaque groupe, soit inférieure à un seuil prédéfini par l'utilisateur. La figure 4B reprend en détail l'étape 206 de la figure 4. Les signaux audio sont reçus en groupes par le processeur vidéo. Comme vu précédemment et illustré sur la figure 6, chaque signal audio SO1 a été décomposé en trois composantes R, G, B pré-calculées correspondant à trois bandes de fréquence du spectre audio audible. Toutefois, d'autres bandes de fréquence que celles déjà utilisées peuvent être utilisées à l'étape 206. A l'étape 2020, dans le processeur vidéo, ces composantes R, G, B sont chargées en mémoire sous forme d'une collection de tronçons texturés 1D. Ainsi, le signal vidéo SV1 résulte du filtrage du signal audio SO1 sous forme de deux lignes texturées, l'une pour la partie positive du signal, l'autre pour la partie négative du signal, chaque ligne comprenant une collection de tronçons texturés. Les textures possibles des tronçons peuvent correspondre, de façon non limitative, 3 0 à une variation de contrastes monochromatiques ou à une variation du noir au blanc, comme illustrée. Selon la figure 6, pour la ligne positive du signal vidéo, plus le signal audio prend une valeur élevée plus le tronçon correspondant a une texture claire et pour toutes les valeurs négatives du signal audio, les tronçons correspondants prennent une même texture foncée. Pour la ligne négative du signal vidéo, plus le signal audio prend une valeur négative dont la valeur absolue est élevée plus le tronçon correspondant a une texture claire et pour toutes les valeurs positives du signal audio, les tronçons correspondants prennent une texture foncée, en général une texture noire. La représentation sous la forme de deux lignes texturées n'est pas limitative et peut se 10 réduire à une ligne s'il est utilisé une mémoire vidéo acceptant les valeurs négatives du signal. A l'étape 2022, le signal vidéo de chaque source est ensuite rééchantillonné pour tenir compte de la variable du délai de propagation prenant une valeur différente selon l'emplacement de la source par rapport à l'auditeur. A l'étape 2024, le signal vidéo de chaque source est également atténué selon la distance entre la source et l'auditeur. Ces étapes 2022 et 2024 de modification du signal selon des paramètres de modification du son peuvent être réalisées en même temps ou dans un ordre différent de celui de la figure 4B. D'autres paramètres de modification du son pourraient être envisagés, par exemple l'atténuation 2 0 pourrait être une fonction de la fréquence. La figure 7 illustre le ré-échantillonnage et l'atténuation du signal d'une source. Le signal audio SO2 (fonction du temps) est d'abord filtré pour obtenir un signal vidéo SV2 par exemple sous forme de deux lignes texturées (l'une pour la partie positive du signal audio, l'autre pour la partie négative du signal audio), le signal formant un premier ensemble de blocs texturés TBk et un deuxième ensemble de 2 5 blocs texturés TBk+1. Le ré-échantillonage des deux ensembles est effectué pour réduire le temps de propagation du signal en fonction du délai de propagation. Le signal peut être également atténué selon une atténuation dépendant de la bande de fréquence et/ou selon une atténuation dépendant de la distance source- auditeur, ou plus précisément, une atténuation dépendant de la distance source-auditeur corrigée par la distance source-représentant du groupe. A titre de comparaison, le signal audio SO2 et vidéo correspondant SV2 sont présentés après ré-échantillonnage temporel et atténuation de l'amplitude sur la figure 7. Le signal audio S02 est ainsi compressé temporellement et l'amplitude du signal est atténuée progressivement en fonction du temps. Les opérations 2022 et 2024 effectuées sur le signal vidéo SV2 (correspondant au signal audio S02) permettent d'obtenir un signal vidéo SV3 (correspondant au signal audio S03) compressé temporellement et atténué progressivement en fonction du temps. La compression temporelle du signal vidéo se traduit par exemple par une largeur diminuée des tronçons texturés afin d'obtenir deux ensembles de bloc LS1 et LS2. L'atténuation progressive en fonction du temps se traduit par exemple par une modulation des textures des tronçons. A l'étape 2026, chaque signal vidéo est converti en un signal audio en effectuant tout d'abord une recombinaison des deux lignes du signal vidéo (parties positive et négative du signal). Pour chaque groupe, les signaux audio sont alors rassemblés en un signal audio unique relié au groupe de sources. Le signal audio obtenu par groupe est appelé signal audio de prémixage. La figure 8 illustre, pour un ensemble de groupes G1, G2, G3 et G4 de sources et un auditeur L, deux échogrammes H1 et H2 donnant la quantité d'énergie délivrée par groupe en fonction du temps délivrée à l'auditeur L. Le premier échogramme H1 illustre le cas du procédé de la figure 4B. Ainsi, chaque signal de chaque groupe fait l'objet individuellement des opérations 2022 et 2024 avant le rassemblement des signaux par 2 0 groupe à l'étape 2026. Cet ordre des étapes permet d'obtenir une distribution d'énergie dans le temps pour chaque groupe tout en prenant en compte le délai de propagation et l'atténuation de chaque signal du groupe. L'échogramme H2 illustre le cas où les opérations 2022 et 2024 ont été effectuées après le rassemblement des signaux audio par groupe de sources, c'est-à-dire sur chaque signal représentant un groupe. Cet ordre des étapes permet 2 5 d'obtenir une distribution d'énergie dans le temps pour chaque groupe mais cette fois en prenant en compte le délai de propagation et l'atténuation du signal représentatif des signaux du groupe. L'ordre des étapes peut être choisi selon le degrés de fine perception des sons voulu par l'auditeur. Il est clair que la mémoire utilisée et les temps de calcul seront moindre dans le cas de l'histogramme H2 mais que la perception des sons de l'auditeur sera moins 3 0 fine que dans le cas de l'histogramme H1. Ce processus peut être implémenté sur toute carte graphique accélérant les routines des librairies graphiques standard "OpenGL" ou "Direct 3D". Les capacités des nouvelles cartes graphiques permettent à présent de travailler avec des micro-programmes exécutés chaque fois qu'un pixel est affiché ("pixel shader "ou "fragment programs"). Dans ce cas, il est possible de travailler avec des données signées et il n'est pas nécessaire de séparer les parties positives et négatives du signal. De plus dans ce cas, les opérations peuvent être effectuées avec une résolution étendue (32 bit flottant contre 8 bits entiers sur des cartes plus anciennes). Pour cela, il est possible d'utiliser le même algorithme que précédemment pour construire une texture dont chaque ligne correspond au signal SV2 de chaque source. Puis les lignes voulues sont additionnées pour chacun des groupes dans un micro-programme "pixel shader" en traçant une nouvelle ligne par groupe. L'accès aux lignes voulues et leur addition sont effectués dans le programme du "pixel shader". Chaque signal audio de pré-mixage est relié au représentant d'un groupe qui représente une source fictive. Ces signaux audio de pré-mixage peuvent être utilisés par un système audio spatialisé standard pour rendre audible les sources de la scène visualisée. A titre d'exemple, la spatialisation peut être effectuée par un logiciel ou par une interface de programmation standard pour le rendu audio de jeux tel que Direct Sound. Dans ce dernier cas, une mémoire tampon 3D audio peut être créée pour stocker le signal de pré-mixage de chaque groupe. 2 0 Chaque signal de pré-mixage est alors positionné aux coordonnées du représentant de son groupe, par exemple en utilisant la commande SetPosition de l'interface de programmation Direct sound. D'autres traitements comme celui de la réverbération artificielle peuvent également être utilisés lorsque proposés par le système audio spatialisé standard utilisé. 2 5 L'approche décrite introduit trois étapes principales utilisant une élimination perceptive des sources sonores inaudibles, un regroupement permettant de rendre un grand nombre de sources sur un nombre limité de canaux audio cablés et le matériel graphique pour effectuer les opérations de prémixage nécessaires. Avec peu d'impact sur les performances graphiques, le procédé et le dispositif associé permettent d'exploiter les ressources matérielles des cartes sonores existantes tout en introduisant des possibilités de contrôle et traitement supplémentaires. La mise en oeuvre du procédé décrit par un dispositif approprié permet d'obtenir un rendu audio-visuel de qualité pour un environnement virtuel complexe comprenant des centaines de sources mobiles, de personnages et d'objets animés. L'invention pourrait également s'appliquer à un dispositif informatique comprenant une 10 carte mère comprenant elle-même un processeur vidéo ou une carte vidéo et un processeur audio ou une carte son. Annexe 1 SFM,(f) = 101ogl0 ( 8(PSDr(f)) a(PSD,(f)) Tt (f) =. max(SFMt (f) , 0) -60 -1. M,(f) =31 *TI(f)+12*(1 T,(f)), Lk = (f) Pk g (f), f PT- f) = PSDk -s(f) x A1 MM, Lk 1160 Mk-SI I A7 PTOT =Pk s(f)É k A8 Po = PTOT while Po > Pmix Tç and Po> ATH do add source Sk Po =Pk Pmix+ = Pk =Mk end A9 d(C,Sk) = Lk (logIo(lIcII/lIskIl) +r2 (1 +C.Sk)) A10 En = Ed(C,Ss) j A11 Pc = j k 9c = e(EL1 s.i/OELk)), j k $c = 4(EL sjl(ELk))É j k Al A3 10 A4 A6 Annexe 2 C: représentant d'un groupe - par extension dans les formules mathématiques, vecteur de coordonnées spatiales du représentant d'un groupe Sk: source sonore dans une scène virtuelle - par extension dans les formules mathématiques, vecteur de coordonnées spatiales de la source sonore T T: volume perceptif d'un signal audio d'une source sonore Sk à un instant T a(f) poids contrôlant l'importance perceptive relative d'une bande de fréquence f donnée f: bande de fréquence d'un signal audio PkT4(f) : estimation du niveau de puissance de chaque bande de fréquence f du signal audio d'une source sonore K à un instant T-ô ô: délai de propagation du signal audio r: distance source sonore - auditeur c: vitesse du son AkT(f): atténuation dépendante de la fréquence et résultant notamment de la distance, la direction de la source PSDkT_s: distribution du spectre de puissance instantanée ATH: seuil absolu d'écoute Ptot: niveau de puissance totale de la scène 2 0 SFMt(f) : mesure d'aplati spectral g: moyenne géométrique de la PSD sur toutes les fréquences a: moyenne arithmétique de la PSD sur toutes les fréquences Tt(f) : index de tonalité, niveau de bruit d'un signal Mt(f) : seuil de masquage (en dB) 2 5 Pmix: puissance courante du mixage Revendications 1. Dispositif informatique comprenant une mémoire (8, 108) apte à stocker des signaux audio (14, 114) en partie pré-enregistrés, correspondant chacun à une source définie par des données de position spatiale (16,116), un module de traitement (10,110) pour traiter ces signaux audio en temps réel en fonction des données de position spatiale, caractérisé en ce que le module de traitement (110) est apte à calculer des paramètres de niveau de puissance 10 instantané à partir des signaux audio (114), les source correspondantes étant définies par lesdits paramètres de niveau de puissance instantané, en ce que le module de traitement (110) comprend un module de sélection (120) apte à regrouper certains des signaux audio en un nombre variable de groupes de signaux audio, et en ce que le module de traitement (110) est apte à calculer des données de position spatiale représentatives d'un groupe de signaux audio en fonction des données de position spatiale (116) et des paramètres de niveaux de puissance instantanés de chaque source correspondante. 2. Dispositif informatique selon la revendication 1, caractérisé en ce que le module de 2 0 sélection (120) est apte, préalablement à la construction de groupes de signaux audio, à sélectionner les signaux audio inaudibles en fonction des paramètres de niveaux de puissance instantanés comprenant un niveau de puissance (PkT-s(f)) et un seuil de masquage (Mt(f)) pour chaque source et à conserver les seuls signaux audio audibles. 3. Dispositif informatique selon la revendication 2, caractérisé en ce que les paramètres de niveau de puissance sont calculées pour chaque source à partir de la densité spectrale de puissance instantanée (PSD) pré-calculé à partir des signaux audio en partie pré-enregistrés. 4. Dispositif informatique selon l'une des revendications 1 à 3, caractérisé en ce que le 3 0 module de traitement (110) est apte à traiter chaque groupe de signaux audio en un signal audio de pré-mixage et pour rassembler les signaux audio de pré-mixage afin d'obtenir un signal de mixage audible par l'auditeur. 5. Dispositif informatique selon l'une des revendications précédentes, caractérisé en ce que le module de traitement (110) comprend un processeur vidéo (130) apte à transformer le groupe de signaux audio en un groupe de signaux vidéo texturés, à traiter chaque signal vidéo texturé du groupe selon des paramètres de modification du son, et à rassembler et transformer les signaux du groupe en un signal audio de pré- mixage. 6. Dispositif informatique selon la revendication 5, caractérisé en ce que les paramètres de modification du son comprennent un paramètre d'atténuation du son et/ou un paramètre de délai de propagation du son. 7. Dispositif informatique selon l'une des revendications précédentes, caractérisé en ce que le module de sélection (120) est apte à construire, à partir d'un premier groupe de signaux audio et de données calculées de position spatiale du groupe, deux groupe de signaux audio et à calculer les données de position spatiale d'un représentant de chacun de ces deux groupes. 8. Dispositif informatique selon la revendication 7, caractérisé en ce que le module de sélection (120) est apte à déterminer, à partir du premier groupe de signaux audio, de leurs sources correspondantes et de données calculées de position spatiale du représentant du premier groupe, une source pour laquelle la somme des distances d'erreur calculées entre la position spatiale de cette source et celles des autres sources du groupe est minimale et pour attribuer les signaux audio du premier groupe et leurs sources correspondantes à l'une des positions spatiales, parmi les données calculées de position spatiale du représentant du premier groupe et les données de position spatiale de la source déterminée, en fonction d'évaluations de distance d'erreur, de façon à former les deux groupes. 9. Dispositif informatique selon la revendication 8, caractérisé en ce que le module de sélection est apte à effectuer une évaluation de distance d'erreur pour un signal audio du premier groupe et sa source correspondante consistant à évaluer d'une part la distance d'erreur entre les données de position spatiale de cette source et les données calculées de position spatiale du représentant du premier groupe et d'autre part la distance d'erreur entre les données de position spatiale de cette source et les données de position spatiale de la source déterminée puis à évaluer la distance d'erreur minimale entre les deux, le module de sélection étant apte à attribuer le signal audio et sa source correspondante aux données de position spatiale de la source déterminée ou du représentant du premier groupe correspon- dant à la distance d'erreur minimale. 10. Dispositif informatique selon l'une des revendications 7 à 9, caractérisé en ce que les données de position spatiale de la source déterminée correspondent aux données de position spatiale du représentant du deuxième groupe. 11. Dispositif informatique selon l'une des revendications 7 à 10, caractérisé en ce que le module de sélection (120) est apte à calculer les données de position spatiale de chaque représentant de groupe en fonction de paramètres de niveau de puissance de chaque source attribuée au groupe. 12. Dispositif informatique selon les revendications 7 à 11, caractérisé en ce que le module de sélection (120) est apte à recalculer les données de position spatiale du représentant de chacun des deux groupes en déterminant une source pour laquelle la somme des distances d'erreur entre la position spatiale de cette source et celles des autres sources du groupe est 2 5 minimale et le module de sélection (120) est en outre apte à ré- attribuer les sources à l'un ou l'autre des représentants d'un des deux groupes en fonction de ladite évaluation de distance d'erreur minimale. 13. Dispositif informatique selon la revendication 12, caractérisé en ce que le module de 30 sélection (120) est apte à recalculer les données de position spatiale du représentant de chacun des deux groupes et à réattribuer les sources à l'un ou l'autre des représentants d'un des deux groupes jusqu'à ce que la somme des distances d'erreur entre les représentants des deux groupes et leurs sources atteigne un minimum. 14. Dispositif informatique selon l'une des revendications 7 à 13, caractérisé en ce que le module de sélection (120) est apte à diviser un groupe jusqu'à ce qu'un nombre déterminé de groupes soit obtenu ou jusqu'à ce que la somme des distances d'erreur entre les représentants des groupes et leurs sources atteigne un seuil déterminé. 15. Procédé de traitement de signaux audio en partie pré-enregistrés correspondant chacun à une source, comprenant les étapes consistant à a. calculer des paramètres de niveau de puissance instantané à partir des signaux audio, les sources correspondantes étant définies par ces paramètres et par des données de position spatiale, b. regrouper certains des signaux audio en un nombre variable de groupes de signaux audio et calculer des données de position spatiale représentatives de chaque groupe de signaux audio en fonction des données de position spatiale et des paramètres de niveau de puissance instantané de chaque source correspondante (204), c. traiter ces signaux audio par groupe en temps réel en fonction de données de position 2 0 spatiale représentatives du groupe (206, 208). 16. Procédé selon la revendication 15, caractérisé en ce que l'étape a. comprend en outre de sélectionner les signaux audio inaudibles en fonction des paramètres de niveau de puissance instantanés comprenant un niveau de puissance et un seuil de masquage pour chaque source et de conserver les seuls signaux audio audibles (200). 17. Procédé selon la revendication 16, caractérisé en ce que les paramètres de niveau de puissance sont calculées pour chaque source à partir de la densité spectrale de puissance instantanée pré-calculée à partir des signaux audio en partie pré-enregistrés. 18. Procédé selon l'une des revendications 15 à 17, caractérisé en ce que l'étape c. consiste à cl. traiter chaque groupe de signaux audio en un signal audio de pré-mixage (206), c2. rassembler les signaux audio de prémixage afin d'obtenir un signal de mixage audible 5 par l'auditeur (208). 19. Procédé selon la revendication 17, caractérisé en ce que l'étape cl. consiste en outre à transformer un groupe de signaux audio en un groupe de signaux vidéo texturés par utilisation d'un processeur vidéo (2020), à traiter chaque signal vidéo texturé du groupe selon des paramètres de modification du son (2022, 0224), et à rassembler et transformer les signaux du groupe en un signal audio de pré-mixage (2026). 20. Procédé selon la revendication 19, caractérisé en ce que les paramètres de modification du son comprennent un paramètre d'atténuation du son et/ou un paramètre de délai de 15 propagation du son. 21. Procédé selon l'une des revendications précédentes, caractérisé en ce que l'étape b. consiste en outre à construire, à partir d'un premier groupe de signaux audio et de données calculées de position spatiale du groupe (2000), deux groupe de signaux audio et à calculer 2 0 les données de position spatiale d'un représentant de chacun de ces deux groupes (2002 à 2012). 22. Procédé selon la revendication 21, caractérisé en ce que l'étape b. consiste en outre à déterminer, à partir du premier groupe de signaux audio, de leurs sources correspondantes et de données calculées de position spatiale du représentant du premier groupe, une source pour laquelle la somme des distances d'erreur calculées entre la position spatiale de cette source et celles des autres sources du premier groupe est minimale (2002) et à attribuer les signaux audio du premier groupe et leurs sources correspondantes à l'une des positions spatiales, parmi les données calculées de position spatiale du représentant du premier groupe et les données de position spatiale de la source déterminée, en fonction d'évaluations de distance d'erreur, de façon à former les deux groupes (2004). 23. Procédé selon la revendication 22, caractérisé en ce que l'évaluation de distance de l'étape b. consiste pour un signal audio du premier groupe et sa source correspondante, à évaluer d'une part la distance d'erreur entre les données de position spatiale de cette source et les données calculées de position spatiale du représentant du premier groupe (A9) et d'autre part la distance d'erreur entre les données de position spatiale de cette source et les données de position spatiale de la source déterminée puis à évaluer la distance d'erreur minimale entre les deux et à attribuer le signal audio et sa source correspondante aux données de position spatiale de la source déterminée ou du représentant du premier groupe correspondant à la distance d'erreur minimale (2004). 24. Procédé selon l'une des revendications 21 à 23, caractérisé en ce que les données de 15 position spatiale de la source déterminée de l'étape b. correspondent aux données de position spatiale du représentant du deuxième groupe. 25. Procédé selon l'une des revendications 21 à 24, caractérisé en ce que l'étape b. consiste également à recalculer les données de position spatiale du représentant de chacun des deux 2 0 groupes (2006) et à ré-attribuer les sources à l'un ou l'autre des représentants d'un des deux groupes (2008) jusqu'à ce que la somme des distances d'erreur entre les représentants des deux groupes et leurs sources atteigne un minimum (2010). 26. Procédé selon les revendications 21 à 25, caractérisé en ce que l'étape b. consiste à 2 5 diviser un groupe jusqu'à ce qu'un nombre déterminé de groupes soit obtenu ou jusqu'à ce que la somme des distances d'erreur entre les représentants des groupes et leurs sources atteigne un seuil déterminé (2012).