Procédé de traitement de données sonores compressées, pour spatialisation
L'invention concerne un traitement de données sonores pour une restitution spatialisée de signaux acoustiques.
L'apparition de nouveaux formats de codage de données sur les réseaux de télécommunications permet la transmission de scènes sonores complexes et structurées comprenant des sources sonores multiples. En général, ces sources sonores sont spatialisées, c'est-à-dire qu'elles sont traitées de manière à apporter un rendu final réaliste en terme de position des sources et d'effet de salle (réverbération). C'est le cas par exemple du codage selon la norme MPEG-4 qui permet de transmettre des scènes sonores complexes comprenant des sons compressés ou non, et des sons de synthèse, auxquels sont associés des* paramètres de spatialisation (position, effet de la salle environnante) . Cette transmission se fait sur des réseaux avec contraintes, et le rendu sonore dépend du type de terminal utilisé. Sur un terminal mobile de type PDA par exemple
(pour " Personal Digi tal Assistant ") , on utilisera de manière préférentielle un casque d'écoute. Les contraintes de ce type de terminaux (puissance de calcul, taille mémoire) rendent difficile l' implémentation de techniques de spatialisation du son.
La spatialisation sonore recouvre deux types de traitements différents. A partir d'un signal audio monophonique, on cherche à donner l'illusion à un auditeur que la ou les sources sonores sont à des positions bien
précises de l'espace (que l'on souhaite pouvoir modifier en temps réel) , et plongées dans un espace ayant des propriétés acoustiques particulières (réverbération, ou autres phénomènes acoustiques tels que l'occlusion). A titre d'exemple, sur des terminaux de télécommunication de type mobile, il est naturel d'envisager un rendu sonore avec un casque d'écoute stéréophonique. La technique de positionnement des sources sonores la plus efficace est alors la synthèse binaurale.
Elle consiste, pour chaque source sonore, à filtrer le signal monophonique par des fonctions de transfert acoustiques, appelées HRTFs (de l'anglais "Head Related Transfer Functions ") , qui modélisent les transformations engendrées par le torse, la tête et le pavillon de l'oreille de l'auditeur sur un signal provenant d'une source sonore. Pour chaque position de l'espace, on peut mesurer une paire de ces fonctions (une pour l'oreille droite, une pour l'oreille gauche) . Les HRTFs sont donc des fonctions d'une position spatiale, plus particulièrement d'un angle d'azimut θ et d'un angle d'élévation φ, et de la fréquence sonore f . On obtient alors, pour un sujet donné, une base de données de fonctions de transfert acoustiques de N positions de l'espace pour chaque oreille, dans lesquelles un son peut être "placé" (ou " spatialisé " selon la terminologie utilisée ci-après) .
On indique qu'un traitement de spatialisation similaire consiste en une synthèse dite " transaurale" , dans laquelle on prévoit simplement plus de deux haut-parleurs dans un
dispositif de restitution (qui se présente alors sous une forme différente d'un casque à deux oreillettes gauche et droite) .
De manière classique, la mise en œuvre de cette technique se fait sous forme dite "jicanale" (traitement représenté schématiquement sur la figure 1 relative à l'art antérieur) . Pour chaque source sonore à positionner selon le couple d'angles azimutal et d'élévation [θ,φ] , on filtre le signal de la source par la fonction HRTF de l'oreille gauche et par la fonction HRTF de l'oreille droite. Les deux canaux gauche et droit délivrent des signaux acoustiques qui sont alors diffusés aux oreilles de l'auditeur avec un casque d'écoute stéréophonique. Cette synthèse binaurale bicanale est de type dit ci-après "statigue", car dans ce cas, les positions des sources sonores n'évoluent pas dans le temps.
Si l'on souhaite, au contraire, faire varier les positions des sources sonores dans l'espace au cours du temps
(synthèse " dynamique") , les filtres utilisés pour modéliser les HRTFs (oreille gauche et oreille droite) doivent être modifiés. Toutefois, ces filtres étant pour la plupart du type à réponse impulsionnelle finie (FIR) ou à réponse impulsionnelle infinie (IIR) , des problêmes de discontinuités des signaux de sortie gauche et droit apparaissent, entraînant des " clicks " audibles. La solution technique classiquement employée pour pallier ce problème est de faire tourner deux jeux de filtres binauraux en parallèle. Le premier jeu simule une position
[θl,φl] à l'instant tl, le second une position [Θ2,φ2] à
l'instant t2. Le signal donnant l'illusion d'un déplacement entre les positions aux instants tl et t2 est alors obtenu par un fondu enchaîné des signaux gauche et droit résultant des processus de filtrage pour la position [θl,φl] et pour la position [Θ2,φ2] . Ainsi, la complexité du système de positionnement des sources sonores est alors multipliée par deux (deux positions à deux instants) par rapport au cas statique.
Afin de pallier ce problème, des techniques de décomposition linéaire des HRTFs ont été proposées (traitement représenté schématiquement sur la figure 2 relative à l'art antérieur). L'un des avantages de ces techniques est qu'elles permettent une mise en œuvre dont la complexité dépend beaucoup moins du nombre total de sources à positionner dans l'espace. En effet, ces techniques permettent de décomposer les HRTFs sur une base de fonctions communes à toutes les positions de l'espace, et ne dépendant donc que de la fréquence, ce qui permet de réduire le nombre de filtres nécessaires. Ainsi, ce nombre de filtres est fixe, indépendamment du nombre de sources et/ou du nombre de positions de sources à prévoir. L'ajout d'une source sonore supplémentaire n'ajoute alors que des opérations de multiplication par un jeu de coefficients de pondération et par un retard τ± , ces coefficients et ce retard ne dépendant que de la position [θ,φ] . Aucun filtre supplémentaire n'est donc nécessaire.
Ces techniques de décomposition linéaire ont aussi un intérêt dans le cas de la synthèse binaurale dynamique
(i.e. lorsque la position des sources sonores varie au
cours du temps) . En effet, dans cette configuration, on ne fait plus varier les coefficients des filtres, mais les valeurs des coefficients de pondération et des retards en fonction uniquement de la position. Le principe décrit ci- dessus de décomposition linéaire des filtres de rendu sonore se généralise à d'autres approches, comme on le verra ci-après.
Par ailleurs, dans les différents services de communication de groupe (téléconférence, audioconférence, visioconférence, ou autre) ou de communication "en flux continu " (de l'anglais " STREAMING" ) , pour adapter un débit binaire à la largeur de la bande passante fournie par un réseau, les flux audio et/ou de parole sont transmis sous un format codé compressé. On ne considère ci-après que des flux initialement compressés par des codeurs de type fréquentiel (ou par transformée en fréquence) tels que ceux opérant selon la norme MPEG-1 (Layer I-II-III), la norme MPEG-2/4 AAC, la norme MPEG-4 T inVQ, la norme Dolby AC-2, la norme Dolby AC-3, ou encore une norme UIT-T G.722.1 en codage de parole, ou encore le procédé de codage TDAC de la Demanderesse. L'utilisation de tels codeurs revient à effectuer d'abord une transformation temps/fréquence sur des blocs du signal temporel. Les paramètres obtenus sont ensuite quantifiés et codés pour être transmis dans une trame avec d'autres informations complémentaires nécessaires pour le décodage. Cette transformation temps/fréquence peut prendre la forme d'un banc de filtres en sous-bandes de fréquences ou encore une transformée de type MDCT (pour "Modified Discrète Cosinus Transfor ") . Ci-après, on désignera par les mêmes termes
" domaine des sous -bandes" un domaine défini dans un espace de sous-bandes fréquentielles, un domaine d'un espace temporel transformé en fréquence ou un domaine fréquentiel.
Pour effectuer la spatialisation sonore sur de tels flux, la méthode classique consiste à faire d'abord un décodage, réaliser le traitement de spatialisation sonore sur les signaux temporels, puis recoder les signaux qui en résultent, pour une transmission vers un terminal de restitution. Cette succession d'étapes, fastidieuse, est souvent très coûteuse en terme de puissance de calcul, de la mémoire nécessaire pour le traitement et du délai algorithmique introduit. Elle est donc souvent inadaptée aux contraintes imposées par les machines où s ' effectue le traitement et aux contraintes de communication.
La présente invention vient améliorer la situation.
L'un des buts de la présente invention est de proposer un procédé de traitement de données sonores regroupant les opérations de codage/décodage en compression des flux audio et de spatialisation desdits flux.
Un autre but de la présente invention est de proposer un procédé de traitement de données sonores, par spatialisation, qui s'adapte à un nombre variable (dynamiquement) de sources sonores à positionner.
Un but général de la présente invention est de proposer un procédé de traitement de données sonores , par
spatialisation, permettant une large diffusion des données sonores spatialisées, en particulier une diffusion pour le grand public, les dispositifs de restitution étant simplement équipés d'un décodeur des signaux reçus et de haut-parleurs de restitution.
Elle propose à cet effet un procédé de traitement de données sonores, pour une restitution spatialisée de signaux acoustiques, dans lequel : a) on obtient, pour chaque signal acoustique, au moins un premier jeu et un second jeu de termes pondérateurs, représentatifs d'une direction de perception dudit signal acoustique par un auditeur ; b) et on applique à au moins deux jeux d'unités de filtrage, disposées en parallèle, lesdits signaux acoustiques, pour délivrer au moins un premier signal de sortie et un second signal de sortie correspondant chacun à une combinaison linéaire des signaux acoustiques pondérés par 1 ' ensemble des termes pondérateurs respectivement du premier jeu et du second jeu et filtrés par lesdites unités de filtrage.
Chaque signal acoustique à l'étape a) du procédé au sens de l'invention est au moins partiellement codé en compression et s'exprime sous la forme d'un vecteur de sous-signaux associés à des sous-bandes de fréquences respectives, et chaque unité de filtrage est agencée pour effectuer un filtrage matriciel appliqué à chaque vecteur, dans l'espace des sous-bandes fréquentielles .
Avantageusement, chaque filtrage matriciel est obtenu par conversion, dans l'espace des sous-bandes fréquentielles, d'un filtre à réponse impulsionnelle (finie ou infinie) défini dans l'espace temporel. Un tel filtre à réponse impulsionnelle est préferentiellement obtenu par détermination d'une fonction de transfert acoustique dépendant d'une direction de perception d'un son et de la fréquence de ce son.
Selon une caractéristique avantageuse de l'invention, ces fonctions de transfert s'expriment par une combinaison linéaire de termes dépendant de la fréquence et pondérés par des termes dépendant de la direction, ce qui permet, comme indiqué ci-avant, d'une part, de traiter un nombre variable de signaux acoustiques à l'étape a) et, d'autre part, de faire varier dynamiquement la position de chaque source dans le temps. En outre, une telle expression des fonctions de transfert " intègre " le retard interaural qui est classiquement appliqué à l'un des signaux de sortie, par rapport à l'autre, avant la restitution, dans les traitements binauraux. A cet effet, on prévoit des matrices de filtres de gains associés à chaque signal .
Ainsi, lesdits premier et second signaux de sortie étant préferentiellement destinés à être décodés en des premier et second signaux de restitution, la combinaison linéaire précitée tient déjà compte d'un décalage temporel entre ces premier et second signaux de restitution, de façon avantageuse .
Finalement, entre l'étape de réception/décodage des signaux reçus par un dispositif de restitution et l'étape de restitution elle-même, on peut ne prévoir aucune étape supplémentaire de spatialisation sonore, ce traitement de spatialisation étant complètement effectué en amont et directement sur des signaux codés.
Selon l'un des avantages que procure la présente invention, l'association des techniques de décomposition linéaire des HRTFs aux techniques de filtrage dans le domaine des sous-bandes permet de profiter des avantages des deux techniques pour arriver à des systèmes de spatialisation sonore à faible complexité et à mémoire réduite pour des signaux audio codés multiples.
En effet, dans une architecture "bicanale " classique, le nombre de filtres à utiliser est fonction du nombre de sources à positionner. Comme indiqué ci-avant, ce problème ne se retrouve pas dans une architecture basée sur la décomposition linéaire des HRTFs. Cette technique est donc préférable en termes de puissance de calcul, mais aussi d'espace mémoire nécessaire au stockage des filtres binauraux. Enfin, cette architecture permet de gérer de manière optimale la synthèse binaurale dynamique, car elle permet d'effectuer le " fading" entre deux instants tl et t2 sur des coefficients qui ne dépendent que de la position, et ne nécessite donc pas deux jeux de filtres en parallèle .
Selon un autre avantage que procure la présente invention, le filtrage direct des signaux dans le domaine codé permet
l'économie d'un décodage complet par flux audio avant de procéder à la spatialisation des sources, ce qui implique un gain considérable en complexité.
Selon un autre avantage que procure la présente invention, la spatialisation sonore de flux audio peut intervenir à différents points d'une chaîne de transmission (serveurs, nœuds du réseau ou terminaux). La nature de l'application et l'architecture de la communication utilisée peuvent favoriser un cas ou un autre. Ainsi, dans un contexte de téléconférence, le traitement de spatialisation est préferentiellement effectué au niveau des terminaux dans une architecture décentralisée et, au contraire, au niveau du pont audio (ou MCU pour "Mul tipoint Control Uni t ") dans une architecture centralisée. Pour des applications de " streaming" audio, notamment sur des terminaux mobiles, la spatialisation peut être réalisée soit dans le serveur, soit dans le terminal, ou encore lors de la création de contenu. Dans ces différents cas, une diminution de la complexité de traitement et aussi de la mémoire nécessaire pour le stockage des filtres HRTF est toujours appréciée. Par exemple, pour des terminaux mobiles (téléphones portables de seconde et troisième générations, PDA, ou micro-ordinateurs de poche) ayant des contraintes fortes en terme de capacité de calcul et de taille mémoire, on prévoit préferentiellement un traitement de spatialisation directement au niveau d'un serveur de contenus.
La présente invention peut trouver aussi des applications dans le domaine de la transmission de flux audio multiples
inclus dans des scènes sonores structurées, comme le prévoit la norme MPEG-4.
D'autres caractéristiques, avantages et applications de 1 ' invention apparaîtront à 1 ' examen de la description détaillée ci-après, et des dessins annexés sur lesquels :
- la figure 1 illustre schématiquement un traitement correspondant à une synthèse binaurale "bicanale" statique pour des signaux audionumériques temporels Si, de l'art antérieur ;
- la figure 2 représente schématiquement une mise en œuvre de la synthèse binaurale basée sur la décomposition linéaire des HRTFs pour des signaux audionumériques temporels non codés, de l'art antérieur ; - la figure 3 représente schématiquement un système, au sens de l'art antérieur, de spatialisation binaurale de N sources audio initialement codées, puis complètement décodées pour le traitement de spatialisation dans le domaine temporel et ensuite recodées pour une transmission à un ou plusieurs dispositifs de restitution, ici à partir d'un serveur ;
- la figure 4 représente schématiquement un système, au sens de la présente invention, de spatialisation binaurale de N sources audio partiellement décodées pour le traitement de spatialisation dans le domaine des sous- bandes et ensuite recodées complètement pour la transmission à un ou plusieurs dispositifs de restitution, ici à partir d'un serveur ;
- la figure 5 représente schématiquement un traitement de spatialisation sonore dans le domaine des sous-bandes, au
sens de l'invention, basé sur la décomposition linéaire des HRTFs dans le contexte binaural ;
- la figure 6 représente schématiquement un traitement d'encodage/décodage pour spatialisation, mené dans le domaine des sous-bandes et basé sur une décomposition linéaire de fonctions de transfert dans le contexte ambisonique, dans une variante de réalisation de l'invention ;
- la figure 7 représente schématiquement un traitement de spatialisation binaurale de N sources audio codées, au sens de la présente invention, effectué auprès d'un terminal de communication, selon une variante du système de la figure 4 ;
- la figure 8 représente schématiquement une architecture d'un système de téléconférence centralisée, avec un pont audio entre une pluralité de terminaux ; et
- la figure 9 représente schématiquement un traitement, au sens de la présente invention, de spatialisation de (N-l) sources audio codées parmi N sources en entrée d'un pont audio d'un système selon la figure 8, effectué auprès de ce pont audio, selon une variante du système de la figure .
On se réfère tout d'abord à la figure 1 pour décrire un traitement classique de synthèse binaurale "bicanale" . Ce traitement consiste à filtrer le signal des sources (Si) que l'on souhaite positionner à une position choisie dans l'espace par les fonctions de transfert acoustiques gauche (HRTF_1) et droite (HRTF_r) correspondant à la direction (θi,φi) appropriée. On obtient deux signaux qui sont alors additionnés aux signaux gauches et droits résultant de la
spatialisation des autres sources, pour donner les signaux globaux L et R diffusés aux oreilles gauche et droite d'un auditeur. Le nombre de filtres nécessaires est alors de 2.N pour une synthèse binaurale statique et de 4.N pour une synthèse binaurale dynamique, N étant le nombre de flux audio à spatialiser.
On se réfère maintenant à la figure 2 pour décrire un traitement classique de synthèse binaurale basée sur la décomposition linéaire des HRTFs. Ici, chaque filtre HRTF est d'abord décomposé en un filtre à phase minimale, caractérisé par son module, et en un retard pur τ . Les dépendances spatiales et fréquentielles des modules des HRTFs sont séparées grâce à une décomposition linéaire. Ces modules des fonctions de transfert HRTFs s'écrivent alors comme une somme de fonctions spatiales Cn (θ, φ) et de filtres de reconstruction Ln(f), comme exprimé ci-après :
Chaque signal d'une source S à spatialiser (i=l,...,N) est pondéré par des coefficients Cni(θ,φ) (n=l,...,P) issus de la décomposition linéaire des HRTFs. Ces coefficients ont pour particularité de ne dépendre que de la position [ θ, φ] où l'on souhaite placer la source, et non de la fréquence f . Le nombre de ces coefficients dépend du nombre P de vecteurs de base que l'on a conservé pour la reconstruction. Les N signaux de toutes les sources pondérés par le coefficient " directionnel " Cπι sont alors additionnés (pour le canal droit et le canal gauche,
séparément) , puis filtrés par le filtre correspondant au nième vecteur de base. Ainsi, contrairement à la synthèse binaurale "bicanale", l'ajout d'une source supplémentaire ne nécessite pas l'ajout de deux filtres additionnels (souvent de type FIR ou IIR) . Les P filtres de base sont en effet partagés par toutes les sources présentes . Cette mise en œuvre est dite "mul ti canal e" . De plus, dans le cas de la synthèse binaurale dynamique, il est possible de faire varier les coefficients Cai(θ,φ) sans apparition de clicks en sortie du dispositif. Dans ce cas, seulement 2.P filtres sont nécessaires, alors que 4.N filtres étaient nécessaires pour la synthèse bicanale.
Sur la figure 2, les coefficients Cni correspondent aux coefficients directionnels pour la source i à la position (θi,φi) et pour le filtre de reconstruction n. On les note C pour la voie gauche (L) et D pour la voie droite (R) . On indique que le principe de traitement de la voie droite R est le même que celui de la voie gauche L. Toutefois, les flèches en traits pointillés pour le traitement de la voie droite n'ont pas été représentées par souci de clarté du dessin. Entre les deux lignes verticales en trait discontinu de la figure 2, on définit alors un système noté I, du type représenté sur la figure 3.
Toutefois, avant de se reporter à la figure 3, on indique que différentes méthodes ont été proposées pour déterminer les fonctions spatiales et les filtres de reconstruction. Une première méthode est basée sur une décomposition dite de Karhunen-Loeve et est décrite notamment dans le document WO94/10816. Une autre méthode repose sur
l'analyse en composantes principales des HRTFs et est décrite dans W096/13962. Le document FR-2782228 plus récent décrit aussi une telle mise en œuvre.
Dans le cas où un traitement de spatialisation de ce type se fait au niveau du terminal de communication, une étape de décodage des N signaux est nécessaire avant le traitement de spatialisation proprement dit. Cette étape demande des ressources de calcul considérables (ce qui est problématique sur les terminaux de communication actuels notamment de type portable) . Par ailleurs, cette étape entraîne un délai sur les signaux traités, ce qui nuit à l'interactivité de la communication. Si la scène sonore transmise comprend un grand nombre de sources (N) , l'étape de décodage peut en fait devenir plus coûteuse en ressources de calcul que l'étape de spatialisation sonore proprement dite. En effet, comme indiqué ci-avant, le coût de calcul de la synthèse binaurale "mul ticanale" ne dépend que très peu du nombre de sources sonores à spatialiser.
Le coût de calcul de l'opération de spatialisation des N flux audio codés (dans la synthèse multicanale de la figure 2) peut donc se déduire des étapes suivantes (pour la synthèse de l'un des deux canaux de rendu gauche ou droit) :
- décodage (pour N signaux) ,
- application du retard interaural Xi,
- multiplication par les gains positionnels Cni (PxN gains pour l'ensemble des N signaux), - sommation des N signaux pour chaque filtre de base d'indice n,
- filtrage des P signaux par les filtres de base,
- et sommation des P signaux de sortie des filtres de base.
Dans le cas où la spatialisation ne se fait pas au niveau d'un terminal mais au niveau d'un serveur (cas de la figure 3) , ou encore dans un nœud d'un réseau de communication (cas d'un pont audio en téléconférence) , il faut en plus rajouter une opération de codage complet du signal de sortie.
En se référant à la figure 3, la spatialisation de N sources sonores (faisant par exemple partie d'une scène sonore complexe de type MPEG4) nécessite donc : - un décodage complet des N sources audio Si, ..., Si, ..., Sκ codées en entrée du système représenté (noté " Système I") pour obtenir N flux audio décodés, correspondant par exemple à des signaux PCM (pour " Puise Code Modula tion ") , - un traitement de spatialisation dans le domaine temporel ("Système T") pour obtenir deux signaux spatialisés L et R,
- et ensuite un recodage complet sous forme de canaux gauche et droit L et R, véhiculés dans le réseau de communication pour être reçus par un ou plusieurs dispositifs de restitution.
Ainsi, le décodage des N flux codés est nécessaire avant l'étape de spatialisation des sources sonores, ce qui entraîne une augmentation du coût de calcul et l'ajout d'un délai dû au traitement du décodeur. On indique que
les sources audio initiales sont généralement stockées directement sous format codé, dans les serveurs de contenus actuels.
On indique en outre que pour une restitution sur plus de deux haut-parleurs (synthèse transaurale ou encore en contexte " ambisonique" que l'on décrit ci-après), le nombre de signaux résultant du traitement de spatialisation est généralement supérieur à deux, ce qui augmente encore le coût de calcul pour recoder complètement ces signaux avant leur transmission par le réseau de communication.
On se réfère maintenant à la figure 4 pour décrire une mise en œuvre du procédé au sens de la présente invention.
Elle consiste à associer l' implémentation "multicanale" de la synthèse binaurale (figure 2) aux techniques de filtrage dans le domaine transformé (domaine dit " des sous-bandes ") afin de ne pas avoir à réaliser N opérations de décodage complètes avant l'étape de spatialisation. On réduit ainsi le coût de calcul global de l'opération. Cette " intégration " des opérations de codage et de spatialisation peut être effectuée dans le cas d'un traitement au niveau d'un terminal de communication ou d'un traitement au niveau d'un serveur comme représenté sur la figure 4.
Les différentes étapes de traitement des données ainsi que l'architecture du système sont décrites en détail ci- aprês .
Dans le cas d'une spatialisation de signaux audio codés multiples, au niveau du serveur comme dans l'exemple représenté sur la figure 4, une opération de décodage partiel est encore nécessaire. Toutefois, cette opération est beaucoup moins coûteuse que l'opération de décodage dans un système conventionnel tel que représenté sur la figure 3. Ici, cette opération consiste principalement à récupérer les paramètres des sous-bandes à partir du flux audio binaire, codé. Cette opération dépend du codeur initial utilisé. Elle peut consister par exemple en un décodage entropique suivi d'une quantification inverse comme dans un codeur MPEG-1 Layer III. Une fois ces paramètres des sous-bandes retrouvés, le traitement est effectué dans le domaine des sous-bandes, comme on le verra ci-après.
Le coût de calcul global de l'opération de spatialisation des flux audio codés est alors considérablement réduit. En effet, l'opération initiale de décodage dans un système conventionnel est remplacée par une opération de décodage partiel de complexité bien moindre. La charge de calcul dans un système au sens de l'invention devient sensiblement constante en fonction du nombre de flux audio que l'on souhaite spatialiser. Par rapport aux systèmes conventionnels, on obtient un gain en terme de coût de calcul qui devient alors proportionnel au nombre de flux audio que l'on souhaite spatialiser. De plus, l'opération de décodage partiel entraîne un délai de traitement inférieur à l'opération de décodage complet, ce qui est
particulièrement intéressant dans un contexte de communication interactive.
Le système pour la mise en œuvre du procédé selon l'invention, effectuant la spatialisation dans le domaine des sous-bandes, est noté "Système II" sur la figure 4.
On décrit ci-après l'obtention des paramètres dans le domaine des sous-bandes à partir de réponses impulsionnelles binaurales.
De manière classique, les fonctions de transfert binaurales ou HRTFs sont accessibles sous la forme de réponses impulsionnelles temporelles. Ces fonctions sont constituées en général de 256 échantillons temporels, à une fréquence d'échantillonnage de 44,1 kHz (typique dans le domaine de l' audio). Ces réponses impulsionnelles peuvent être issues de mesures ou de simulations acoustiques .
Les étapes de pré-traitement pour l'obtention des paramètres dans le domaine des sous-bandes sont préferentiellement les suivantes :
- extraction du retard interaural à partir de réponses impulsionnelles binaurales hj (n) et hr (n) (si l'on dispose de D directions de l'espace mesurées, on obtient un vecteur de D valeurs de retard interaural ITD (exprimé en secondes) ) ;
- modélisation des réponses impulsionnelles binaurales sous forme de filtres à phase minimale ;
- choix du nombre de vecteurs de base (P) que l'on souhaite conserver pour la décomposition linéaire des HRTFS ;
- décomposition linéaire des réponses à phase minimale selon la relation Eq[l] ci-avant (on obtient ainsi les D coefficients directionnels Cni et Dni qui ne dépendent que de la position de la source sonore à spatialiser et les P vecteurs de base qui ne dépendent que de la fréquence) ; - modélisation des filtres de base Ln et Rn sous forme de filtres IIR ou FIR ;
- calcul de matrices de filtres de gains G dans le domaine des sous-bandes à partir des D valeurs d'ITD
(ces retards TD sont alors considérés comme des filtres FIR destinés à être transposés dans le domaine des sous-bandes, comme on le verra ci-après.
Dans le cas général, G est une matrice de filtres.
Les D coefficients directionnels Cni , Dni à appliquer dans le domaine des sous-bandes sont des scalaires de mêmes valeurs que les Cni et Dni respectivement dans le domaine temporel) ;
- transposition des filtres de base Ln et Rn, initialement sous forme IIR ou FIR, dans le domaine des sous-bandes (cette opération donne des matrices de filtres, notées ci-après Ln et Ra, à appliquer dans le domaine des sous-bandes. La méthode pour effectuer cette transposition est indiquée ci-après) .
On remarquera que les matrices de filtres Gi appliqués de manière indépendante à chaque source " intègrent" une opération classique de calcul de retard pour l'ajout du retard interaural entre un signal Li et un signal R± à
restituer. En effet, dans le domaine temporel, on prévoit classiquement des lignes à retard τ± (figure 2) à appliquer à un signal " oreille gauche" par rapport à un signal " oreille droi te" . Dans le domaine des sous-bandes, on prévoit plutôt une telle matrice de filtres Gi , lesquels permettent en outre d'ajuster des gains (par exemple en énergie) de certaines sources par rapport à d' autres .
Dans le cas d'une transmission à partir d'un serveur vers des terminaux de restitution, toutes ces étapes sont effectuées avantageusement hors ligne. Les matrices de filtres ci-avant sont donc calculées une fois puis stockées définitivement en mémoire du serveur. On notera en particulier que le jeu des coefficients de pondération Cni , Dni reste avantageusement inchangé du domaine temporel au domaine des sous-bandes.
Pour des techniques de spatialisation basées sur du filtrage par des filtres HRTFs et ajout du retard ITD (pour " Interaural Time Delay") tel que la synthèse binaurale et transaurale, ou encore des filtres de fonctions de transfert dans le contexte ambisonique, une difficulté s'est présentée pour trouver des filtres équivalents à appliquer sur des échantillons dans le domaine des sous-bandes. En effet, ces filtres issus du banc de filtres d'analyse doivent préferentiellement être construits de manière à ce que les signaux temporels gauche et droite restitués par le banc de filtres de synthèse présentent le même rendu sonore, et sans aucun artefact, que celui obtenu par une spatialisation directe
sur un signal temporel . La conception de filtres permettant d'aboutir à un tel résultat n'est pas immédiate. En effet, la modification du spectre du signal apporté par un filtrage dans le domaine temporel ne peut être réalisée directement sur les signaux des sous-bandes sans tenir compte du phénomène de recouvrement de spectre
( " aliasing" ) introduit par le banc de filtres d'analyse.
La relation de dépendance entre les composantes d ' aliasing des différentes sous-bandes est préferentiellement conservée lors de 1 ' opération du filtrage pour que leur suppression soit assurée par le banc de filtres de synthèse .
On décrit ci-après un procédé pour transposer un filtre S(z), de type FIR ou IIR, rationnel (sa transformée en z étant un quotient de deux polynômes) dans le cas d'une décomposition linéaire de HRTFs ou de fonctions de transfert de ce type, dans le domaine des sous-bandes, pour un banc de filtres à M sous-bandes et à échantillonnage critique, défini respectivement par ses filtres d'analyse et de synthèse Hk(z) et Fk(z) , où
0≤k≤M-l. On entend par " échantillonnage cri tique " le fait que le nombre de l'ensemble des échantillons de sorties des sous-bandes correspond au nombre d'échantillons en entrées. Ce banc de filtres est supposé aussi satisfaire à la condition de reconstruction parfaite.
On considère tout d'abord une matrice de transfert S(z) correspondant au filtre scalaire S(z), qui s'exprime comme suit :
où Sfc(2) (O≤k≤M-1) sont les composantes polyphasées du filtre S(z) .
Ces composantes sont obtenues de manière directe pour un filtre FIR. Pour les filtres IIR, une méthode de calcul est indiquée dans :
[1] A. Benjelloun Touimi, "Trai ement du signal audio dans le domaine codé : techniques et applications" thèse de doctorat de l'Ecole Nationale Supérieure des Télécommunications de Paris, (Annexe A, p.141), Mai 2001.
On détermine ensuite des matrices polyphasées, E(z) et R(z), correspondant respectivement aux bancs de filtres d'analyse et de synthèse. Ces matrices sont déterminées définitivement pour le banc de filtres considéré.
On calcule alors la matrice de filtrage complète en sous- bandes par la formule suivante :
Ssb (z) =zκE (z) S (z)R(z) , où zκ correspond à une avance avec K=(L/M)-1 (caractérisant le banc de filtres utilisé), L étant la longueur des filtres d'analyse et de synthèse des bancs de filtres utilisés.
On construit ensuite la matrice Ssb(z) dont les lignes sont obtenues à partir de celles de Ssb(z) comme suit : [0 ... Ssb (z) ... Ssbϋ(z) ... Ssb iπ(z) ... 0] ( 0≤n≤M-l) , où : - i est l'indice de la (i+l)ième ligne et compris entre 0 et M-l,
- 1 = i-δ mod[M], où δ correspond à un nombre choisi de sous-diagonales adjacentes, la notation mod [M] correspondant à une opération de soustraction modulo M, - n = i+δ mod [M] , la notation mod [M] correspondant à une opération d'addition modulo M.
On indique que le nombre choisi δ correspond au nombre de bandes qui se recouvrent suffisamment d'un côté avec la bande passante d'un filtre du banc de filtres. Il dépend donc du type de bancs de filtres utilisés dans le codage choisi. A titre d'exemple, pour le banc de filtres MDCT, δ peut être pris égal à 2 ou 3. Pour le banc de filtres Pseudo-QMF du codage MPEG-1, δ est pris égal à 1.
On notera que le résultat de cette transposition d'un filtre à réponse impulsionnelle finie ou infinie au domaine des sous-bandes est une matrice de filtres de taille MxM. Cependant, tous les filtres de cette matrice ne sont pas considérés lors du filtrage en sous-bandes. Avantageusement, seuls les filtres de la diagonale principale et de quelques sous-diagonales adjacentes peuvent être utilisés pour obtenir un résultat similaire à celui obtenu par un filtrage dans le domaine temporel (sans altérer pour autant la qualité de la restitution) .
La matrice Ssb(z) résultant de cette transposition, puis réduite, est celle utilisée pour le filtrage en sous- bandes .
A titre d'exemple, on indique ci-après les expression des matrices polyphasées E(z) et R(z) pour un banc de filtres MDCT, largement utilisé dans des codeurs par transformée actuels tels que ceux opérant selon les standards MPEG-2/4 AAC, ou Dolby AC-2 & AC-3, ou TDAC de la Demanderesse. Le traitement ci-après peut aussi bien s'adapter à un banc de filtres de type Pseudo-QMF du codeur MPEG-l/2 Layer I-II.
Un banc de filtres MDCT est généralement défini par une matrice T ≈[tif/] , de taille M χ 2M , dont les éléments s ' expriment comme suit : π f . 1 , M + l ,ι = IΈW cos — k + - 1 + 0≤k≤M -l et 0</ <2 -l
M où h[l] correspond à la fenêtre de pondération dont un choix possible est la fenêtre sinusoïdale qui s ' exprime sous la forme suivante :
h[I] ≈ s / + - 0 ≤l ≤ 2M -l . 2 2M
Les matrices polyphasées d ' analyse et de synthèse sont alors données respectivement par les formules suivantes :
E(z) = T,JM +T0JMz-1 /
R{z) = J
MTÏ +J
MΥ[z-
1 ,
où JM correspond à la matrice anti-identité de
taille M M et T
0 et 1) sont des matrices de taille MxM résultant de la partition suivante :
T=[T„ T,]. On indique que pour ce banc de filtres L = 2M et K- .
Pour des bancs de filtres de type Pseudo-QMF de MPEG-1/2 Layer I-II, on définit une fenêtre de pondération h[i] , i = 0...L-lf et une matrice de modulation en cosinus C = [cu], de taille Mχ2M , dont les coefficients sont donnés par :
, 0≤l≤2M-l et 0≤k≤M-l,
M\ 2 avec les relations suivantes : X =2w et K = 2m-1 où m est un entier. Plus particulièrement dans le cas du codeur MPEG-l/2 Layer I-II, ces paramètres prennent les valeurs suivantes : M =32, L = 512 , m≈ïs et K =15.
La matrice polyphasée d'analyse s'exprime alors comme suit :
E(z)=C " «.M ' 'M-' où g0(z) et & (z) sont des matrices diagonales définies par :
> o(z) = diag[G0(z) Gλ(Z) - GM.,( )], l(z) = diag[GM(z) GM+1(z) - G2M,(z)],
avec G k{-z2) = ∑l(~1) h(2lM + k)z-2' , 0≤k≤2M-l .
1=0
Dans la norme MPEG-1 Audio Layer I-II, on fournit typiquement les valeurs de la fenêtre (-1)' h(2lM + k) , avec 0≤ k ≤ 2M -l , 0 ≤l ≤ m -l .
La matrice polyphasée de synthèse peut alors se déduire simplement par la formule suivante :
R(z) = z-(2ra-,)Er(z-1)
Ainsi, en se référant maintenant à la figure 4 au sens de la présente invention, on procède à un décodage partiel de N sources audio Sι,.../Si,... SN codées en compression, pour obtenir des signaux Sιl ..., Si f ...f SN correspondant préferentiellement à des vecteurs signaux dont les coefficients sont des valeurs affectées chacune à une sous-bande. On entend par " décodage partiel " un traitement permettant d'obtenir à partir des signaux codés en compression de tels vecteurs signaux dans le domaine des sous-bandes. On peut obtenir en outre des informations de position desquelles sont déduites des valeurs respectives de gains Gι f ...f Gi , ..., GN (pour la synthèse binaurale) et des coefficients Cn (pour l'oreille gauche) et Dni (pour l'oreille droite) pour le traitement de spatialisation conformément à l'équation Eq[l] donnée ci-avant, comme le montre la figure 5. Toutefois, le traitement de spatialisation est mené directement dans le domaine des sous-bandes et l'on applique les 2P matrices Ln et Rn de filtres de base, obtenues comme indiqué ci-avant, aux vecteurs signaux Si pondérés par les coefficients scalaires Cni et D„i , respectivement.
En se référant à la figure 5, les vecteurs signaux L et R, résultant du traitement de spatialisation dans le domaine des sous-bandes (par exemple dans un système de traitement noté "Système II" sur la figure 4) s'expriment alors par les relations suivantes, dans une représentation par leur transformée en z :
Dans l'exemple représenté sur la figure 4, le traitement de spatialisation est effectué dans un serveur relié à un réseau de communication. Ainsi, ces vecteurs signaux L et R peuvent être recodës complètement en compression pour diffuser les signaux compressés L et R (canaux gauche et droit) dans le réseau de communication et à destination des terminaux de restitution.
Ainsi, une étape initiale de décodage partiel des signaux codés Si est prévue, avant le traitement de spatialisation. Toutefois, cette étape est beaucoup moins coûteuse et plus rapide que l'opération de décodage complet qui était nécessaire dans l'art antérieur (figure 3) . De plus, les vecteurs signaux L et R sont déjà exprimés dans le domaine des sous-bandes et le recodage partiel de la figure 4 pour obtenir les signaux codés en compression L et R est plus rapide et moins coûteux qu'un codage complet tel que représenté sur la figure 3.
On indique que les deux traits discontinus verticaux de la figure 5 délimitent le traitement de spatialisation effectué dans le " Système II" de la figure 4. A ce titre, la présente invention vise aussi un tel système comportant des moyens de traitement des signaux partiellement codés Si , pour la mise en œuvre du procédé selon l'invention.
On indique que le document :
[2] "A Generic Framework for Fil tering in Subband Domain" A. Benjelloun Touimi, IEEE 9th Workshop on Digital Signal Processing, Hunt, Texas, USA, Octobre 2000, ainsi que le document [1] cité ci-avant, concernent une méthode générale de calcul d'une transposition dans le domaine des sous-bandes d'un filtre de réponse impulsionnelle finie ou infinie.
On indique en outre que des techniques de spatialisation sonore dans le domaine des sous-bandes ont été proposées récemment, notamment dans un autre document : [3] " Subband-Domain Fil tering of MPEG Audio Signais" , C.A. Lanciani and R. W. Schafer, IEEE Int. Conf. on Acoust., Speech, Signal Proc . , 1999.
Ce dernier document présente une méthode permettant de transposer un filtre à réponse impulsionnelle finie (FIR) dans le domaine des sous-bandes des bancs de filtres pseudo-QMF du codeur MPEG-1 Layer I-II et MDCT du codeur MPEG-2/4 AAC. L'opération de filtrage équivalente dans le domaine des sous-bandes est représentée par une matrice de filtres FIR. En particulier, cette proposition s'inscrit
dans le contexte d'une transposition de filtres HRTFs, directement sous leur forme classique et non pas sous la forme d'une décomposition linéaire telle qu'exprimée par l'équation Eq[l] ci-avant et sur une base de filtres au sens de l'invention. Ainsi, un inconvénient de la méthode au sens de ce dernier document consiste en ce que le traitement de spatialisation ne peut pas s'adapter à un nombre quelconque de sources ou de flux audio encodés à spatialiser.
On indique que, pour une position donnée, chaque filtre HRTF (d'ordre 200 pour un FIR et d'ordre 12 pour un IIR) donne lieu à une matrice de filtres (carrée) de dimension égale au nombre de sous-bandes du banc de filtres utilisé. Dans le document [3] cité ci-avant, on doit prévoir un nombre de HRTFs suffisant pour représenter les différentes positions dans l'espace, ce qui pose un problème de taille mémoire si l'on souhaite spatialiser une source à une position quelconque dans l'espace.
En revanche, une adaptation d'une décomposition linéaire des HRTFs dans le domaine des sous-bandes, au sens de la présente invention, ne présente pas ce problème puisque le nombre (P) de matrices de filtres de base Ln et Rn est beaucoup plus réduit. Ces matrices sont alors stockées définitivement dans une mémoire (du serveur de contenu ou du terminal de restitution) et permettent un traitement simultané de spatialisation d'un nombre quelconque de sources, comme représenté sur la figure 5.
On décrit ci-après une généralisation du traitement de spatialisation au sens de la figure 5 à d'autres traitements de rendu sonore, tels qu'un traitement dit d' " encodage ambisonique" . En effet, un système de rendu sonore peut se présenter de manière générale sous la forme d'un système de prise de son réel ou virtuel (pour une simulation) consistant en un encodage du champ sonore. Cette phase consiste à enregistrer p signaux sonores de manière réelle ou à simuler de tels signaux (encodage virtuel) correspondant à l'ensemble d'une scène sonore comprenant tous les sons, ainsi qu'un effet de salle.
Le système précité peut aussi se présenter sous la forme d'un système de rendu sonore consistant à décoder les signaux issus de la prise de son pour les adapter aux dispositifs de traducteurs de rendu sonore (tels qu'une pluralité de haut-parleurs ou un casque de type stéréophonique) . On transforme les p signaux en n signaux qui alimentent les n haut-parleurs .
A titre d'exemple, la synthèse binaurale consiste à réaliser une prise de son réel, à l'aide d'une paire de microphones introduit dans les oreilles d'une tête humaine (artificielle ou réelle) . On peut aussi simuler l'enregistrement en réalisant la convolution d'un son monophonique avec la paire de HRTFs correspondant à une direction souhaitée de la source sonore virtuelle. A partir d'un ou plusieurs signaux monophoniques provenant de sources prédéterminées, on obtient deux signaux (oreille gauche et oreille droite) correspondant à une phase dite " d ' encodage binaural " , ces deux signaux étant
simplement appliqués ensuite à un casque à deux oreillettes (tel qu'un casque stéréophonique) .
Toutefois, d'autres encodages et décodages sont possibles à partir de la décomposition de filtre correspondant à des fonctions de transfert sur une base de filtres. Comme indiqué ci-avant, les dépendances spatiales et fréquentielles des fonctions de transfert, de type HRTFs, sont séparées grâce à une décomposition linéaire et s'écrivent comme une somme de fonctions spatiales C,.(0,p) et de filtres de reconstruction Lt(f) qui dépendent de la fréquence :
HRTF(θ,φ,f) = C,(θ,φ)I if) ι=l
Toutefois, on indique que cette expression peut être généralisée à tout type d'encodage, pour n sources sonores S.(f) et un format d'encodage comprenant p signaux en sortie, à :
Ei(f) = ∑XiJ(θ,φ).SJ(f), l ≤ i ≤ p Eq[2] =1 où, par exemple dans le cas d'une synthèse binaurale, Xij peut s'exprimer sous la forme d'un produit des filtres de gains Gj et des coefficients Cij, Dij .
On se réfère à la figure 6 sur laquelle N flux audio Sj représentés dans le domaine des sous-bandes après décodage partiel, subissent un traitement de spatialisation, par exemple un encodage ambisonique, pour délivrer p signaux Ei encodés dans le domaine des sous-bandes. Un tel
traitement de spatialisation respecte donc le cas général régi par l'équation Eq[2] ci-avant. On remarquera d'ailleurs sur la figure 6 que l'application aux signaux Sj de la matrice des filtres Gy (pour définir le retard interaural ITD) n'est plus nécessaire ici, dans le contexte ambisonique.
De même, une relation générale, pour un format de décodage comprenant p signaux E, ( ) et un format de rendu sonore comprenant m signaux, est donnée par :
Pour un système de rendu sonore donné, les filtres Kji (f) sont fixes et ne dépendent, à fréquence constante, que du système de rendu sonore et de sa disposition par rapport à un auditeur. Cette situation est représentée sur la figure 6 (à droite du trait vertical en pointillés) , dans l'exemple du contexte ambisonique. Par exemple, les signaux Ei encodés spatialement dans le domaine des sous- bandes sont recodés complètement en compression, transmis dans un réseau de communication, récupérés dans un terminal de restitution, décodés partiellement en compression pour en obtenir une représentation dans le domaine des sous-bandes. Finalement, on retrouve, après ces étapes, sensiblement les même signaux Ei décrits ci- avant, dans le terminal. Un traitement dans le domaine des sous-bandes du type exprimé par l'équation Εq[3] permet alors de récupérer m signaux Dj , spatialement décodés et prêts à être restitués après décodage en compression.
Bien entendu, plusieurs systèmes de décodage peuvent être agencés en série, selon l'application visée.
Par exemple, dans le contexte ambisonique bidimensionnel d'ordre 1, un format d'encodage avec trois signaux W, X, Y pour p sources sonores s'exprime, pour l'encodage, par :
Pour le décodage " ambisonique " auprès d'un dispositif de restitution à cinq haut-parleurs sur deux bandes de fréquences [0 , f ] et { f , f avec /J=400Hz et f2 correspondant à une bande passante des signaux considérés, les filtres Kβ(f) prennent les valeurs numériques constantes sur ces deux bandes de fréquences, données dans les tableaux I et II ci-après.
Tableau I : valeurs des coefficients définissant les filtres Kβ(f) pour 0 < f ≤ f
Tableau II
: valeurs des coefficients définissant les filtres K
β(f) pour f < f ≤ f
2
Bien entendu, des procédés de spatialisation différents (contexte ambisonique et synthèse binaurale et/ou transaurale) peuvent être combinés auprès d'un serveur et/ou auprès d'un terminal de restitution, de tels procédés de spatialisation respectant l'expression générale d'une décomposition linéaire de fonctions de transfert dans l'espace des fréquences, comme indiqué ci-
On décrit ci-après une mise en œuvre du procédé au sens de l'invention dans une application liée à une téléconférence entre terminaux distants .
En se référant à nouveau à la figure 4, des signaux codés (Si) émanent de N terminaux distants. Ils sont spatialisés au niveau du serveur de téléconférence (par exemple au niveau d'un pont audio pour une architecture en étoile telle que représentée sur la figure 8) , pour chaque participant. Cette étape, effectuée dans le domaine des sous-bandes après une phase de décodage partiel, est suivie d'un recodage partiel. Les signaux ainsi codés en
compression sont ensuite transmis via le réseau et, dès réception par un terminal de restitution, sont décodés complètement en compression et appliqués aux deux voies gauche et droite 1 et r, respectivement, du terminal de restitution, dans le cas d'une spatialisation binaurale. Au niveau des terminaux, le traitement de décodage en compression permet ainsi de délivrer deux signaux temporels gauche et droit qui contiennent l'information de positions de N locuteurs distants et qui alimentent deux haut-parleurs respectifs (casque à deux oreillettes) . Bien entendu, pour une spatialisation générale, par exemple dans le contexte ambisonique, m voies peuvent être récupérées en sortie du serveur de communication, si 1 ' encodage/décodage en spatialisation sont effectués par le serveur. Toutefois, il est avantageux, en variante, de prévoir l'encodage en spatialisation auprès du serveur et le décodage en spatialisation auprès du terminal à partir des p signaux codés en compression, d'une part, pour limiter le nombre de signaux à véhiculer via le réseau (en général p<m) et, d'autre part, pour adapter le décodage spatial aux caractéristiques de rendu sonore de chaque terminal (par exemple le nombre de haut-parleurs qu'il comporte, ou autres) .
Cette spatialisation peut être statique ou dynamique et, en outre, interactive. Ainsi, la position des locuteurs est fixe ou peut varier au cours du temps . Si la spatialisation n'est pas interactive, la position des différents locuteurs est fixe : l'auditeur ne peut pas la modifier. En revanche, si la spatialisation est interactive, chaque auditeur peut configurer son terminal
pour positionner la voix des N autres locuteurs où il le souhaite, sensiblement en temps réel.
En se référant maintenant à la figure 7, le terminal de restitution reçoit Ν flux audio (Si) codés en compression (MPEG, AAC, ou autres) d'un réseau de communication. Après un décodage partiel pour obtenir les vecteurs signaux (Si) , le terminal ("Système JJ") traite ces vecteurs signaux pour spatialiser les sources audio, ici en synthèse binaurale, dans deux vecteurs signaux L et R qui sont ensuite appliqués à des bancs de filtres de synthèse en vue d'un décodage en compression. Les signaux PCM gauche et droit, respectivement 1 et r, résultant de ce décodage sont ensuite destinés à alimenter directement des haut-parleurs . Ce type de traitement s'adapte avantageusement à un système de téléconférence décentralisé (plusieurs terminaux connectés en mode point à point) .
On décrit ci-après le cas d'un " streaming" ou d'un téléchargement d'une scène sonore, notamment dans le contexte de codage en compression selon la norme MPEG-4.
Cette scène peut être simple, ou encore complexe comme souvent dans le cadre de transmissions MPEG-4 où la scène sonore est transmise sous un format structuré. Dans le contexte MPEG-4, le terminal client reçoit, à partir d'un serveur multimédia, un flux binaire multiplexe correspondant à chacun des objets audio primitifs codés, ainsi que des instructions quant à leur composition pour reconstruire la scène sonore. On entend par " objet audio"
un flux binaire élémentaire obtenu par un codeur MPEG-4 Audio. La norme MPEG-4 Système fournit un format spécial, appelé "AudioBIFS" (pour "BInary Format for Scène description ") , afin de transmettre ces instructions. Le rôle de ce format est de décrire la composition spatiotemporelle des objets audio. Pour construire la scène sonore et assurer un certain rendu, ces différents flux décodés peuvent subir un traitement ultérieur. Particulièrement, une étape de traitement de spatialisation sonore peut être effectuée.
Dans le format "AudioBIFS", les manipulations à effectuer sont représentées par un graphe. On prévoit les signaux audio décodés en entrée du graphe . Chaque nœud du graphe représente un type de traitement à réaliser sur un signal audio. On prévoit en sortie du graphe les différents signaux sonores à restituer ou à associer à d'autres objets média (images ou autre) .
Les algorithmes utilisés sont mis à jour dynamiquement et sont transmis avec le graphe de la scène. Ils sont décrits sous forme de routines écrites dans un langage spécifique tel que " SAOL" (pour "Structured Audio Score Language") . Ce langage possède des fonctions prédéfinies qui incluent notamment et de façon particulièrement avantageuse des filtres FIR et IIR (qui peuvent alors correspondre à des HRTFs, comme indiqué ci-avant) .
En outre, dans les outils de compression audio fournis par la norme MPEG-4, on trouve des codeurs par transformée utilisés surtout pour la transmission audio haute qualité
(monophonique et multivoies). C'est le cas des codeurs AAC et TwinVQ basés sur la transformée MDCT.
Ainsi, dans le contexte MPEG-4, les outils permettant de mettre en œuvre le procédé au sens de l'invention sont déjà présents.
Dans un terminal MPEG-4 récepteur, il suffit alors d'intégrer la couche basse de décodage aux nœuds de la couche supérieure qui assure des traitements particuliers, telle que la spatialisation binaurale par des filtres HRTFs. Ainsi, après décodage partiel des flux binaires audio élémentaires démultiplexés et issus d'un même type de codeur (MPEG-4 AAC par exemple) , les nœuds du graphe "AudioBIFS" qui font intervenir une spatialisation binaurale peuvent être traités directement dans le domaine des sous-bandes (MDCT par exemple). L'opération de synthèse par banc de filtres n'est effectuée qu'après cette étape.
Dans une architecture de téléconférence multipoint centralisée telle que représentée sur la figure 8, entre quatre terminaux dans l'exemple représenté, le traitement des signaux pour la spatialisation ne peut s'effectuer qu'au niveau du pont audio. En effet, les terminaux TER1, TER2 , TER3 et TER4 reçoivent des flux déjà mixés et donc aucun traitement ne peut être réalisé à leur niveau pour la spatialisation.
On comprend qu'une réduction de la complexité de traitement est particulièrement souhaitée dans ce cas. En
effet, pour une conférence à N terminaux ( N> 3 ) , le pont audio doit réaliser une spatialisation des locuteurs issus des terminaux pour chacun des N sous-ensembles constitués de (N-l) locuteurs parmi les N participant à la conférence. Un traitement dans le domaine codé apporte bien entendu plus de bénéfice.
La figure 9 représente schématiquement le système de traitement prévu dans le pont audio. Ce traitement est ainsi effectué sur un sous-ensemble de (N-l) signaux audio codés parmi les N en entrée du pont . Les trames audio codés gauche et droit dans le cas d'une spatialisation binaurale, ou les m trames audio codés dans le cas d'une spatialisation générale (par exemple en encodage ambisonique) tel que représenté sur la figure 9, qui résultent de ce traitement sont ainsi transmises au terminal restant qui participe à la téléconférence mais qui ne figure pas parmi ce sous-ensemble (correspondant à un " terminal audi teur") . Au total, N traitements du type décrit ci-avant sont réalisés dans le pont audio (N sous- ensembles de (N-l) signaux codés) . On indique que le codage partiel de la figure 9 désigne l'opération de construction de la trame audio codée après le traitement de spatialisation et à transmettre sur une voie (gauche ou droit). A titre d'exemple, il peut s'agir d'une quantification des vecteurs signaux L et R qui résultent du traitement de spatialisation, en se basant sur un nombre de bits alloué et calculé suivant un critère psychoacoustique choisi. Les traitements classiques de codage en compression après l'application du banc de
filtres d'analyse peuvent donc être maintenus et effectués avec la spatialisation dans le domaine des sous-bandes.
Par ailleurs, comme indiqué ci-avant, la position de la source sonore à spatialiser peut varier au cours du temps, ce qui revient à faire varier au cours du temps les coefficients directionnels du domaine des sous-bandes ni et Dπ . La variation de la valeur de ces coefficients se fait préferentiellement de manière discrète.
Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples mais elle s'étend à d'autres variantes définies dans le cadre des revendications ci-après.