[0001] L'invention est relative au traitement de données sonores, et plus particulièrement
à la spatialisation (dite « rendu 3D ») de signaux audio.
[0002] Une telle opération est par exemple exécutée lors du décodage d'un signal audio 3D
codé, représenté sur un certain nombre de canaux, vers un nombre de canaux différents,
deux par exemple, pour permettre la restitution des effets 3D audio sur un casque
d'écoute.
[0003] L'invention est également relative à la transmission et à la restitution de signaux
audio multicanaux et à leur conversion vers un dispositif de restitution, transducteur,
imposé par l'équipement d'un utilisateur. C'est par exemple le cas pour la restitution
d'une scène sonore 5.1 par un casque d'écoute audio, ou par une paire de hauts parleurs.
[0004] L'invention est également relative à la restitution, dans le cadre d'un jeu ou enregistrement
vidéo par exemple, d'un ou plusieurs échantillons sonores stockés dans des fichiers,
en vue de leur spatialisation.
[0005] Dans le cas d'une source monophonique statique, la binauralisation est basée sur
le filtrage du signal monophonique par la fonction de transfert entre la position
désirée de la source et chacune des deux oreilles. Le signal binaural (deux canaux)
obtenu peut alors alimenter un casque audio et fournir la sensation à l'auditeur d'une
source à la position simulée. Ainsi, le terme « binaural » vise la restitution d'un
signal sonore avec des effets de spatialisation.
[0006] Chacune des fonctions de transfert simulant différentes positions peuvent être mesurées
en chambre sourde, aboutissant ainsi à un ensemble de HRTF (pour « Head Related Transfer
Functions » ou « Fonctions de Transferts Relatives à la Tête ») dans lesquelles aucun
effet de salle n'est présent.
[0007] Ces fonctions de transfert peuvent également être mesurées dans une salle « classique
», aboutissant ainsi à un ensemble de BRIR (pour « Binaural Room Impulse Response
» ou « Réponse Impulsionnelle Binaurale de salle») dans lesquelles l'effet de salle,
ou réverbération, est présent. L'ensemble des BRIR correspondent donc à un ensemble
de fonctions de transfert entre une position donnée et les oreilles d'un auditeur
(réel ou tête artificielle) placé dans une salle.
[0008] La technique habituelle de mesure de BRIR consiste à envoyer successivement dans
chacun des haut-parleurs réels, positionnés autour d'une tête (réelle ou artificielle)
équipée de microphones dans les oreilles, un signal de test (par exemple un signal
sweep, une séquence binaire pseudo-aléatoire ou un bruit blanc). Ce signal de test
rend possible, lors d'un traitement hors temps réel, la reconstitution (généralement
par déconvolution) de la réponse impulsionnelle entre la position du haut-parleur
et chacune des deux oreilles.
[0009] La différence entre un ensemble de HRTF et de BRIR se situe principalement dans la
longueur de la réponse impulsionnelle, de l'ordre de la milliseconde pour les HRTF,
à l'ordre de la seconde pour les BRIR.
[0010] Le filtrage étant basé sur la convolution entre le signal monophonique et la réponse
impulsionnelle, la complexité pour effectuer une binauralisation avec des BRIR (contenant
un effet de salle) est nettement plus élevée qu'avec des HRTF.
[0011] Il est possible par cette technique de simuler au casque ou sur un nombre limité
de haut-parleurs une écoute d'un contenu multicanal (L canaux) généré par L haut-parleurs
dans une salle. En effet, il suffit de considérer chacun des L haut-parleurs comme
une source virtuelle positionnée idéalement par rapport à l'auditeur, de mesurer dans
la salle à simuler les fonctions de transfert (pour les oreilles gauche et droite)
de chacun de ces L haut-parleurs, puis d'appliquer à chacun des L signaux audio (censés
alimenter les L haut-parleurs réels) les filtres BRIR correspondant aux haut-parleurs.
Les signaux alimentant chacune des oreilles sont sommés pour fournir un signal binaural
alimentant un casque audio.
[0012] On note I(1) (avec 1=[I,L]) le signal d'entrée censé alimenter les L haut-parleurs.
On note BRIR
g/d(1), les BRIR de chacun des haut-parleurs pour chacune des deux oreilles, et on note
O
g/d le signal binaural de sortie. La binauralisation du signal multicanal s'écrit donc
:

[0013] Où * représente l'opérateur de convolution.
[0014] Par la suite, l'indice 1 tel que
l ∈ [1,
L] fait référence à un des L haut-parleurs. On a bien une BRIR pour un signal 1.
[0015] Ainsi, en référence à la figure 1, deux convolutions (une pour chaque oreille) sont
présentes pour chaque haut-parleur (étapes S11 à S1L).
[0016] Pour L haut-parleurs, la binauralisation nécessite donc 2.L convolutions. On peut
calculer la complexité C
conv dans le cas d'une implémentation rapide par bloc. Une implémentation rapide par bloc
est par exemple donnée par une transformée de Fourier rapide (FFT pour « Fast Fourier
Transform »). Le document « Submission and Evaluation Procedures for 3D Audio » (MPEG
3D Audio) précise une formule possible pour le calcul de C
conv :

[0017] Dans cette équation, L représente le nombre de FFT pour transformer en fréquence
les signaux d'entrée (1 FFT par signal d'entrée), le 2 représente le nombre de FFT
inverse pour obtenir le signal binaural temporel (2 FFT inverse pour les deux canaux
du binaural), le 6 indique un coefficient de complexité par FFT, le second 2 indique
un bourrage de zéros nécessaire pour éviter les problèmes dus à la convolution circulaire,
Fs indique la taille de chacune des BRIR, et nBlocs représente le fait d'utiliser
un traitement par bloc, plus réaliste dans une approche où la latence ne doit pas
être excessivement élevée, et . représente la multiplication.
[0018] Ainsi pour utilisation typique avec nBlocs=10, Fs=48000, L=22, la complexité par
échantillon de signal multicanal pour une convolution directe basée sur une FFT est
de C
conv = 19049 multiplications-additions.
[0019] Cette complexité est trop élevée pour une implémentation réaliste à l'heure actuelle
sur des processeurs courants (mobiles par exemple), il est donc nécessaire de diminuer
cette complexité sans dégrader fortement le rendu de la binauralisation.
[0020] Pour que la spatialisation soit de bonne qualité, la totalité du signal temporel
des BRIR doit être appliqué.
[0021] US 2006/045294 A1 divulgue un système de spatialisation sonore de signaux multicanaux pour délivrer
au moins deux canaux de sortie, et incluant le partitionnement des réponses impulsionnelles
en deux parties, la première contenant l'arrivée directe et les premières réflexions,
et la seconde contenant la réverbération, les secondes parties d'au moins deux réponses
impulsionnelles étant sommées et pondérées pour une obtenir une fonction de transfert
unique représentant la réverbération à appliquer aux signaux d'entrée, afin de réduire
la complexité des opérations de convolution.
US 2006/045294 A1 divulgue également le filtrage par blocs de FFT.
[0023] GARDNER W G: "EFFICIENT CONVOLUTION WITHOUT INPUT-OUTPUT DELAY",JOURNAL OF THE AUDIO
ENGINEERING SOCIETY, AUDIO ENGINEERING SOCIETY, NEW YORK, NY, US, vol. 43, no. 3,
1 mars 1995 (1995-03-01), pages 127-135 décrit une implémentation efficace pour la convolution de réponses impulsionnelles,
notamment dans le contexte des simulations de réverbération, sous forme de blocs FFT.
Cet article suggère de réutiliser les transformées des signaux d'entrée dès que possible,
pour réduire les coûts de calcul, et montre qu'un partitionnement d'une réponse impulsionnelle
en sous-blocs de longueur multiple les uns des autres permet de réduire la complexité
de calcul.
[0024] La présente invention vient améliorer la situation.
[0025] Elle vise à diminuer fortement la complexité de la binauralisation d'un signal multicanal
avec effet de salle tout en conservant au mieux la qualité audio.
[0026] La présente invention propose à cet effet un procédé de spatialisation sonore tel
que défini dans les revendications 1 à 10.
[0027] L'invention vise aussi un programme informatique comportant des instructions pour
la mise en oeuvre du procédé.
[0028] L'invention peut être mise en oeuvre par un dispositif de spatialisation sonore tel
que défini dans la revendication 12.
[0029] L'invention peut également être mise en oeuvre dans un module de décodage de signaux
sonores, en tant que signaux d'entrée, comportant le dispositif de spatialisation
ci-dessus.
[0030] D'autres avantages et caractéristiques de l'invention apparaîtront à la lecture de
la description détaillée ci-après d'exemples de réalisation de l'invention et à l'examen
des dessins sur lesquels :
- la figure 1 illustre un procédé de spatialisation de l'art antérieur,
- la figure 2 illustre schématiquement les étapes d'un procédé au sens de l'invention,
dans un exemple de réalisation,
- la figure 3 représente une réponse impulsionnelle binaurale de salle BRIR,
- la figure 4 illustre schématiquement les étapes d'un procédé au sens de l'invention,
dans un exemple de réalisation,
- la figure 5 illustre schématiquement les étapes d'un procédé au sens de l'invention,
dans un exemple de réalisation,
- la figure 6 représente schématiquement un dispositif comportant des moyens de mise
en oeuvre du procédé au sens de l'invention.
[0031] On se réfère à la figure 6 pour illustrer tout d'abord un contexte possible de mise
en oeuvre de la présente invention dans un dispositif de type terminal connecté TER
(par exemple un téléphone, smartphone ou autre, ou encore une tablette connectée,
un ordinateur connecté, ou autres). Un tel dispositif TER comporte des moyens de réception
(une antenne typiquement) de signaux audio Xc codés en compression, un dispositif
de décodage DECOD délivrant des signaux décodés X prêts à être traités par un dispositif
de spatialisation avant la restitution des signaux audio (par exemple en binaural
sur un casque à oreillettes CAS). Bien entendu, dans certains cas, il peut être avantageux
de garder les signaux partiellement décodés (par exemple dans le domaine des sous-bandes)
si le traitement de spatialisation est effectué dans le même domaine (traitement fréquentiel
dans le domaine des sous-bandes par exemple).
[0032] En référence encore à la figure 6, le dispositif de spatialisation se présente par
une combinaison d'éléments :
- hardware comportant typiquement un ou plusieurs circuits CIR coopérant avec une mémoire
de travail MEM et un processeur PROC,
- et software, dont les figures 2 et 4 sont des exemples d'organigrammes en illustrant
l'algorithme général.
[0033] Ici, la coopération entre les éléments hardware et software produit un effet technique
procurant notamment une économie de complexité de la spatialisation pour sensiblement
un même rendu audio (même sensation pour un auditeur), comme on le verra plus loin.
[0034] On se réfère maintenant à la figure 2 pour décrire un traitement au sens de l'invention,
ainsi mis en oeuvre par des moyens informatiques.
[0035] Dans une première étape S21, une préparation des données est effectuée. Cette préparation
est optionnelle, les signaux peuvent être traités selon les étapes S22 et suivantes
sans ce pré-traitement.
[0036] En particulier, cette préparation consiste à effectuer une troncature de chaque BRIR
pour ignorer les échantillons inaudibles au début et à la fin de la réponse impulsionnelle.
[0037] Cette préparation, pour la troncature en début de réponse impulsionnelle TRONC S,
à l'étape S211, consiste à déterminer un instant de début d'ondes sonores directes
et peut-être mis en oeuvre par les étapes suivantes :
- Une somme cumulée des énergies de chacun des filtres BRIR(1) est calculée. Typiquement,
cette énergie est calculée par une somme au carré des amplitudes des échantillons
1 à j, avec j compris dans [1 ; J] avec J le nombre d'échantillon d'un filtre BRIR.
- La valeur d'énergie du filtre d'énergie maximum valMax (parmi les filtres relatifs
à l'oreille gauche et à l'oreille droite) est calculée.
- Pour chacun des haut-parleurs 1, on calcule l'indice pour lequel l'énergie de chacun
des filtres BRIR(1) dépasse un certain seuil en dB calculé par rapport à valMax (e.g.
valMax-50dB).
- L'indice de troncature iT retenu pour toutes les BRIR est l'indice minimum parmi tous
les indices des BRIR et il est considéré comme l'instant de début d'ondes sonores
directes.
[0038] L'indice iT obtenu correspond donc au nombre d'échantillons à ignorer pour chacune
des BRIR. Une troncature brutale en début de réponse impulsionnelle avec une fenêtre
rectangulaire peut mener à des artefacts audibles si elle est appliquée dans une partie
trop énergétique. Il peut donc être préférable d'appliquer une fenêtre de fondu d'entrée
adaptée, cependant si des précautions ont été prises dans le seuil choisi, ce fenêtrage
devient inutile, car inaudible (on coupe juste du signal inaudible).
[0039] Le synchronisme entre BRIR rend possible l'application d'un délai constant pour toutes
les BRIR dans un souci de simplicité d'implémentation, même si une optimisation de
complexité est possible.
[0040] La troncature de chaque BRIR pour ignorer les échantillons inaudibles à la fin de
la réponse impulsionnelle TRONC E, à l'étape S212, peut être réalisée à partir d'étape
similaires à celles décrites ci-avant, adaptées pour convenir à la fin de la réponse
impulsionnelle. Une troncature brutale en fin de réponse impulsionnelle avec une fenêtre
rectangulaire peut mener à des artefacts audibles sur des signaux impulsionnels où
la queue de réverbération peut se révéler audible. Ainsi, dans un mode de réalisation,
on applique une fenêtre de fondu de sortie adaptée.
[0041] A l'étape 22, une isolation en synchronisme ISOL A/B est effectuée. Cette isolation
en synchronisme consiste à séparer, pour chaque BRIR, la partie « son direct » et
« premières réflexions » (ou Direct, noté A) et de la partie « son diffus » (ou Diffus,
noté B). En effet, le traitement à effectuer sur la partie « son diffus » peut avantageusement
être différent de celui à effectuer sur la partie « son direct » dans la mesure où
il est préférable d'avoir une meilleure qualité de traitement sur la partie « son
direct » que sur la partie « son diffus ». Ceci rend possible une optimisation du
rapport qualité/complexité.
[0042] En particulier, pour réaliser l'isolation en synchronisme, on détermine un index
« iDD » d'échantillon unique et commun à toutes les BRIR (d'où le terme « synchronisme
») à partir duquel on considère que le reste de la réponse impulsionnelle correspond
à un champ diffus. On partitionne donc les réponses impulsionnelles BRIR(1) en deux
: A(l) et B(l), où la concaténation des deux correspond à BRIR(1).
[0043] La figure 3 montre l'index de partitionnement iDD à l'échantillon 2000. La partie
à gauche de cet indice iDD correspond à la partie A. La partie à droite de cet indice
iDD correspond à la partie B.
[0044] Dans un mode de réalisation, ces deux parties sont isolées, sans fenêtrage, afin
de subir des traitements différents. Dans une variante, un fenêtrage entre les parties
A(1) et B(1) est appliqué.
[0045] L'indice iDD peut-être spécifique à la salle pour laquelle les BRIR ont été déterminés.
Le calcul de cet indice peut donc dépendre de l'enveloppe spectrale, de la corrélation
des BRIR ou encore de l'échogramme de ces BRIR. Par exemple, iDD peut être déterminé
par une formule du type

avec V
salle le volume de la salle de mesure.
[0046] Dans un mode de réalisation, iDD est une valeur fixe, typiquement 2000. Dans une
variante, iDD varie, avantageusement de manière dynamique, en fonction de l'environnement
à partir duquel les signaux d'entrée sont capturés.
[0047] Le signal de sortie pour les oreilles gauche (g) et droite (d), représenté par
Og/d, s'écrit donc :

où
z-iDD correspond au délai de iDD échantillons.
[0048] L'application de ce délai aux signaux est effectuée en stockant les valeurs calculées
pour

dans une mémoire temporaire (par exemple dans un buffer) et en les restituant au
moment voulu.
[0049] Dans un mode de réalisation, les index d'échantillons choisis pour A et B peuvent
également tenir compte des longueurs de trames dans le cas d'intégration dans un codeur
audio. En effet, des tailles typiques de trames de 1024 échantillons peut mener à
un choix tel que A fasse 1024 et B fasse 2048, en s'assurant que B est bien une zone
de champ diffus pour toutes les BRIR.
[0050] En particulier, il peut être intéressant que la taille de B soit un multiple de la
taille de A car si le filtrage est implémenté par blocs de FFT, alors le calcul d'une
FFT pour A peut être réutilisé pour B.
[0051] Un champ diffus se caractérise par le fait qu'il est statistiquement identique en
tous les points de la salle. Ainsi, sa réponse en fréquence varie peu en fonction
du haut-parleur à simuler. La présente invention exploite cette caractéristique dans
le but de remplacer tous les filtres Diffus D(l) de toutes les BRIR par un seul et
unique filtre « moyen » B
mean afin de diminuer fortement la complexité due aux convolutions multiples. Pour cela,
on peut modifier la partie champ diffus B à l'étape S23B, toujours en référence à
la figure 2.
[0052] A l'étape S23B1, on calcule la valeur du filtre moyen B
mean. D'abord, il est extrêmement rare que le système complet soit calibré idéalement,
on peut donc appliquer un gain de pondération qui sera reporté dans le signal d'entrée
afin d'effectuer une unique convolution par oreille pour la partie champs diffus.
On décompose donc les BRIR en des filtres normalisés en énergie, et on reporte le
gain de normalisation

dans le signal d'entrée :

avec

où
EBg/d(l) représente l'énergie de
Bg/d(
l).
[0053] Ensuite, on approxime
Bnormg/d(
l) par un seul et unique filtre moyen
Bmeang/d qui n'est plus fonction du haut-parleur 1, mais qu'il est possible de normaliser
également en énergie :

avec

[0054] Dans un mode de réalisation, ce filtre moyen peut être obtenu par moyennage des échantillons
temporels. Dans une variante, il peut être obtenu par tout autre type de moyennage
comme par exemple un moyennage des densités spectrales de puissance.
[0055] Dans un mode de réalisation, l'énergie du filtre moyen
EEmeang/d peut être mesurée directement à partir du filtre construit
Bmeang/d. Dans une variante, il peut également être estimé en prenant en compte l'hypothèse
que les filtres
Bnormg/d(
l) sont décorrélés. En effet, dans ce cas, comme on somme des signaux d'énergie unitaire,
on a :

[0056] L'énergie peut être calculée sur l'ensemble des échantillons correspondants à la
partie champ diffus.
[0057] A l'étape S23B2, on calcule la valeur du facteur de pondération
Wg/d(
l). Un seul facteur de pondération à appliquer au signal d'entrée est calculé, prenant
en compte les normalisations des filtres Diffus et du filtre moyen:

Avec

[0058] Le filtre moyen étant constant, il peut sortir de la somme :

[0059] Ainsi, les L convolutions avec la partie champ diffus sont remplacées par une seule
convolution avec un filtre moyen, moyennant une somme pondérée du signal d'entrée.
[0060] A l'étape S23B3, on peut optionnellement calculer un gain G corrigeant le gain du
filtre moyen
Bmeang/d. En effet, dans le cas de la convolution entre les signaux d'entrée et les filtres
non approximés, quelles que soient les valeurs de corrélation entre les signaux d'entrée,
le filtrage par des filtres décorrélés que sont les
Bg/d(
l) mène à des signaux à sommer qui sont alors eux aussi décorrélés. A l'inverse, dans
le cas de la convolution entre les signaux d'entrée et le filtre moyen approximé,
l'énergie du signal issu de la sommation des signaux filtrés va dépendre de la valeur
de corrélation existant entre les signaux d'entrée.
[0061] Par exemple,
* si tous les signaux d'entrée I(1) sont identiques et d'énergie unitaire, et que
les filtres B(l) sont tous décorrélés (puisque champs diffus) et d'énergie unitaire,
on a :

* si tous les signaux d'entrée I(1) sont décorrélés et d'énergie unitaire, et que
les filtres B(l) sont tous d'énergie unitaire, mais remplacés par des filtres identiques

on a:

[0062] Car les énergies des signaux décorrélés s'ajoutent.
[0063] Ce cas est équivalent au précédent dans le sens où les signaux issus du filtrage
sont tous décorrélés, grâce aux signaux d'entrée dans le premier cas, et grâce aux
filtres dans le second cas.
* si tous les signaux d'entrée I(1) sont identiques et d'énergie unitaire, et que
les filtres B(l) sont tous d'énergie unitaire, mais remplacés par des filtres identiques

on a:

[0064] Car les énergies des signaux identiques s'ajoutent en quadrature (car leurs amplitudes
s'ajoutent).
[0065] Ainsi,
- si deux haut-parleurs sont actifs simultanément, alimentés par des signaux décorrélés,
alors aucun gain n'est apporté en appliquant les étapes S23B1 et S23B2 par rapport
à la méthode classique.
- si deux haut-parleurs sont actifs simultanément, alimentés par des signaux identiques,
alors un gain de 10. log10(L2/L) =10.log10(22/2) = 3.01dB est apporté en appliquant les étapes S23B1 et S23B2 par rapport à la méthode classique.
- si trois haut-parleurs sont actifs simultanément, alimentés par des signaux identiques,
alors un gain de 10.log10(L2/L) = 10.log10(32/3) = 4.77dB est apporté en appliquant les étapes S23B1 et S23B2 par rapport à la méthode classique.
[0066] Les cas évoqués ci-avant correspondent aux cas extrêmes de signaux identiques ou
décorrélés. Ces cas sont toutefois réalistes : une source positionnée au milieu de
deux haut-parleurs, virtuels ou réels, fournira un signal identique à ces deux haut-parleurs
(par exemple avec une technique de type VBAP, pour « Vector base amplitude panning
»). Dans le cas d'un positionnement dans un système 3D, les 3 haut-parleurs peuvent
recevoir le même signal au même niveau.
[0067] Ainsi, on peut appliquer une compensation afin de respecter l'énergie des signaux
binauralisés.
[0068] Idéalement, ce gain de compensation G sera déterminé en fonction du signal d'entrée
(soit G(I(1))) et sera appliqué à la somme des signaux d'entrée pondérés :

[0069] Le gain
G(
I(
l)) peut être estimé par un calcul de corrélation entre chacun des signaux. Il peut
également être estimé en comparant les énergies des signaux avant et après sommations.
Dans ce cas, le gain G peut varier dynamiquement au cours du temps, en fonction par
exemple des corrélations entre les signaux d'entrée, qui varient eux-mêmes au cours
du temps.
[0070] Dans un mode de réalisation simplifié, il est possible de fixer un gain constant,
par exemple
G = -3
dB = 10
-3/20, ce qui évitera d'avoir à effectuer une estimation de corrélation qui peut être coûteuse.
Le gain constant G peut alors être appliqué hors ligne aux facteurs de pondération
(donnant ainsi

), ou au filtre
Bmeang/d, ce qui évitera l'application d'un gain supplémentaire au vol.
[0071] Une fois les fonctions de transfert A et B isolées et les filtres
Bmeang/d (optionnellement les poids
Wg/d(
l) et G) calculés, on applique ces fonctions de transfert et ces filtres aux signaux
d'entrée.
[0073] Dans une variante, en référence à la figure 5, les signaux ne sont pas seulement
calculés pour les oreilles gauches et droites (indices g et d ci-avant) mais pour
k dispositifs de restitution (typiquement des haut-parleurs).
[0074] Dans un second mode de réalisation, on applique le gain G préalablement à la sommation
des signaux d'entrée, c'est-à-dire pendant les étapes de pondération (étapes M4B1
à M4BL).
[0075] Dans un troisième mode de réalisation, on applique une décorrélation aux signaux
d'entrée. Ainsi, les signaux sont décorrélés après convolution par le filtre B
mean quelles que soient les corrélations d'origine entre signaux d'entrée. On peut utiliser
une implémentation efficace de décorrélation (par exemple en utilisant un réseau de
retards bouclés) afin d'éviter l'utilisation de filtres de décorrélation couteux.
[0076] Ainsi, en supposant de manière réaliste que des BRIR de longueur 48000 échantillons
peuvent être :
- tronquées entre l'échantillon 150 et l'échantillon 3222 par la technique décrite à
l'étape S21,
- décomposées en deux parties : champ direct A de 1024 échantillons, et champ diffus
B de 2048 échantillons, par la technique décrite à l'étape S22,
alors la complexité de binauralisation peut être approximativement donnée par :

Avec NA et NB les tailles en échantillons de A et B
[0077] Ainsi pour nBlocs=10, Fs=48000, L=22, NA=1024 et NB=2048, la complexité par échantillon
de signal multicanal pour une convolution basée-FFT est de C
conv = 3312 multiplications-additions. Ce résultat est cependant logiquement à comparer
à une solution simple implémentant seulement la troncature, soit pour nBlocs=10, Fs=3072,
L=22 :

[0078] Il existe donc un facteur 19049/3312=5.75 de complexité entre l'état de l'art et
la présente invention, et encore un facteur 13339/3312=4 de complexité entre l'état
de l'art bénéficiant de la troncature et la présente invention.
[0079] Si la taille de B est un multiple de la taille de A, alors si le filtrage est implémenté
par blocs de FFT, le calcul d'une FFT pour A peut être réutilisé pour B. On a donc
besoin de L FFT sur NA points, qui serviront à la fois au filtrage par A et par B,
deux FFT inverse sur NA points pour obtenir le signal binaural temporel, et la multiplication
des spectres en fréquence.
[0080] Dans ce cas, la complexité peut être approximée (les additions sont négligées, (L+1)
correspond à la multiplication des spectres, L pour A et 1 pour B) par :

[0081] Avec cette approche, on gagne encore un facteur 2, et donc un facteur 12 et 8 par
rapport à l'état de l'art non tronquée et tronquée.
[0082] L'invention peut trouver une application directe dans la norme MPEG-H 3D Audio.
[0083] Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite
ci-avant ; elle s'étend à d'autres variantes tout en restant dans l'étendue de la
protection définie dans les revendications annexées.
[0084] Ainsi par exemple, on a décrit ci-avant un mode de réalisation dans lequel le signal
Direct A n'est pas approximé par un filtre moyen. Bien entendu, on peut utiliser filtre
moyen de A pour faire les convolutions (étapes S4A1 à S4AL) avec les signaux issus
des haut-parleurs.
[0085] On a décrit ci-avant un mode de réalisation basé sur le traitement d'un contenu multicanal
généré pour L haut-parleurs. Bien sûr, le contenu multicanal peut-être généré par
tout type de source audio comme par exemple la voix, un instrument de musique, un
bruit quelconque, etc.
[0086] On a décrit ci-avant un mode de réalisation basé sur des valeurs de BRIR déterminées
dans une salle. Bien sûr, on peut mettre en oeuvre la présente invention pour tout
type d'environnement extérieur (par exemple salle de concert, plein air, etc.).
[0087] On a décrit ci-avant un mode de réalisation basé sur l'application de deux fonctions
de transfert. Bien sûr, on peut mettre en oeuvre la présente invention avec plus de
deux fonctions de transfert. Par exemple, on peut isoler en synchronisme une partie
relative aux sons émis directement, une partie relative aux premières réflexions et
une partie relative aux sons diffus.
1. Procédé de spatialisation sonore dans lequel on applique au moins un filtrage à au
moins deux signaux d'entrée (I(1), I(2), ..., I(L)) pour délivrer au moins deux signaux
de sortie (O(1), O(2), ..., O(K)), le filtrage comportant:
- pondérer (M4B1, M4B2, ..., M4BL) lesdits au moins deux signaux d'entrée par des
poids de pondération (Wk(1), ..., Wk(L)) respectifs, chaque poids de pondération étant spécifique à chacun des signaux
d'entrée ;
- pour chaque réponse impulsionnelle incorporant un effet de salle parmi une pluralité
de réponses impulsionnelles incorporant un effet de salle, ladite réponse impulsionnelle
incorporant un effet de salle étant respectivement associée à un signal d'entrée parmi
lesdits au moins deux signaux d'entrée (I(1), I(2), ..., I(L)) et à un signal de sortie
parmi lesdits au moins deux signaux de sortie (O(1), O(2), ..., O(K)) :
∘ partitionner (S22), dans un domaine temporel, ladite réponse impulsionnelle en une
première partie (A) et une deuxième partie (B), ledit partitionnement étant effectué
tel que :
ladite première partie représente des propagations sonores directes et des premières
réflexions sonores desdites propagations et s'étend sur un premier nombre d'échantillons
; et
ladite deuxième partie représente un champ sonore diffus présent après lesdites premières
réflexions et s'étend sur un deuxième nombre d'échantillons, ledit deuxième nombre
d'échantillons étant un multiple dudit premier nombre d'échantillons ;
∘ déterminer une première fonction de transfert (Ak(1), Ak(2), ..., Ak(L)) à partir de ladite première partie ;
∘ déterminer une deuxième fonction de transfert à partir de ladite deuxième partie
;
- pour chaque signal de sortie (O(1), O(2), ..., O(K)) parmi lesdits au moins deux
signaux de sortie (O(1), O(2), ..., O(K)) :
∘ déterminer (S23B1) une troisième fonction de transfert (Bmeank) à partir d'une moyenne desdites deuxièmes fonctions de transfert correspondant au
signal de sortie (O(1), O(2), ..., O(K)) ;
∘ appliquer (S4A1, S4A2, ..., S4AL) à chaque signal d'entrée (I(1), I(2), ..., I(L))
la première fonction de transfert (Ak(1), Ak(2), ..., Ak(L)) correspondant au signal d'entrée (I(1), I(2), ..., I(L)) et au signal de sortie
(O(1), O(2), ..., O(K)) ;
∘ appliquer (S4B1) à chaque signal d'entrée la troisième fonction de transfert (Bmeank) correspondant au signal de sortie (O(1), O(2), ..., O(K)) ;
dans lequel l'application des premières et troisièmes fonctions de transfert est effectuée
par blocs de FFT ;
- sommer des signaux résultant desdites applications des premières et troisièmes fonctions
de transfert pour obtenir lesdits au moins deux signaux de sortie (O(1), O(2), ...,
O(K)).
2. Procédé selon la revendication 1, caractérisé en ce qu'un gain de compensation d'énergie (G) est appliqué (S4B11) aux poids de pondération
(Wk(1), ..., Wk(L)).
3. Procédé selon l'une des revendications précédentes,
caractérisé en ce que ledit partitionnement de ladite réponse impulsionnelle comporte les opérations:
- de détermination (S211) d'un instant de début de présence d'ondes sonores directes,
- de détermination d'un instant de début de présence dudit champ sonore diffus après
les premières réflexions, et
- de sélection (S22), dans ladite réponse impulsionnelle, d'une partie de la réponse
qui s'étend temporellement entre ledit instant de début de présence d'ondes sonores
directes jusqu'audit instant de début de présence de champ diffus, ladite partie de
réponse sélectionnée correspondant à ladite première fonction de transfert.
4. Procédé selon la revendication 3, caractérisé en ce que ledit filtrage comporte l'application d'au moins un délai de compensation (S4B2)
correspondant à un écart temporel entre ledit instant de début d'ondes sonores directes
et ledit instant de début de présence de champ diffus.
5. Procédé selon la revendication 4, caractérisé en ce que lesdites première et troisième fonctions de transfert sont appliquées parallèlement
auxdits signaux d'entrée et en ce que ledit au moins un délai de compensation est appliqué aux signaux d'entrée filtrés
par lesdites troisièmes fonctions de transfert.
6. Procédé selon l'une des revendications précédentes, dans lequel ladite troisième fonction
de transfert est donnée par :

avec :
k un indice relatif à un signal de sortie,
l ∈ [1; L] un indice relatif à un signal d'entrée parmi lesdits signaux d'entrée,
L un nombre de signaux d'entrée,
Bnormk(l) une fonction de transfert normalisée obtenue à partir d'une deuxième fonction de
transfert parmi lesdites deuxièmes fonctions de transfert.
7. Procédé selon la revendication 6,
caractérisé en ce qu'au moins un signal de sortie
Ok dudit procédé est donné par :

avec :
I(l) un signal d'entrée parmi lesdits signaux d'entrée,
Ak(l) une première fonction de transfert parmi lesdites premières fonctions de transfert,
Wk(l) un poids de pondération parmi lesdits poids de pondération,
z-iDD correspond à l'application dudit délai de compensation,
où . est la multiplication, et
où * est l'opérateur de convolution.
8. Procédé selon la revendication 6,
caractérisé en ce qu'il comprend une étape de décorrélation des signaux d'entrée, préalablement à l'application
des troisièmes fonctions de transfert et
en ce qu'au moins un signal de sortie
Ok dudit procédé est donné par :

avec :
I(l) un signal d'entrée parmi lesdits signaux d'entrée,
Id(l) un signal d'entrée parmi lesdits signaux d'entrée ayant été soumis à ladite étape
de décorrélation,
Ak(l) une première fonction de transfert parmi lesdites premières fonctions de transfert,
Wk(l) un poids de pondération parmi lesdits poids de pondération,
z-iDD correspond à l'application dudit délai de compensation,
où. est la multiplication, et
où * est l'opérateur de convolution.
9. Procédé selon la revendication 6,
caractérisé en ce qu'il comprend une étape de détermination d'un gain de compensation d'énergie en fonction
des signaux d'entrée et
en ce qu'au moins un signal de sortie est donné par :

avec :
I(l) un signal d'entrée parmi lesdits signaux d'entrée,
G(I(1)) ledit gain de compensation d'énergie déterminé,
Ak(l) une première fonction de transfert parmi lesdites premières fonctions de transfert,
Wk(l) un poids de pondération parmi lesdits poids de pondération,
z-iDD correspond à l'application dudit délai de compensation,
où. est la multiplication, et
où * est l'opérateur de convolution.
10. Procédé selon l'une des revendications 6 à 9,
caractérisé en ce que ledit poids est donné par :
avec k l'indice relatif à un signal de sortie,
l ∈ [1; L] l'indice relatif un signal d'entrée parmi lesdits signaux d'entrée,
L le nombre de signaux d'entrée,
avec EBmeank une énergie relative à

EBk(l) une énergie relative à une deuxième fonction de transfert parmi lesdites deuxièmes
fonctions de transfert.
11. Programme informatique comportant des instructions pour la mise en oeuvre du procédé
selon l'une des revendications 1 à 10, lorsque ces instructions sont exécutées par
un processeur.
12. Dispositif de spatialisation sonore, comportant au moins un filtre appliqué à au moins
deux signaux d'entrée (I(1), I(2), ..., I(L)), le dispositif étant apte à délivrer
au moins deux signaux de sortie (O(1), O(2), ..., O(K)),
le dispositif comprenant des modules de pondération (M4B1, M4B2, ..., M4BL) pour pondérer
lesdits au moins deux signaux d'entrée par des poids de pondération respectifs (W
k(1), ..., W
k(L)), chaque poids de pondération étant spécifique à chacun des signaux d'entrée ;
le dispositif étant en outre configuré pour :
- pour chaque réponse impulsionnelle incorporant un effet de salle parmi une pluralité
de réponses impulsionnelles incorporant un effet de salle, ladite réponse impulsionnelle
incorporant un effet de salle étant respectivement associée à un signal d'entrée parmi
lesdits au moins deux signaux d'entrée (I(1), I(2), ..., I(L)) et à un signal de sortie
parmi lesdits au moins deux signaux de sortie (O(1), O(2), ..., O(K)) :
∘ partitionner (S22), dans un domaine temporel, ladite réponse impulsionnelle en une
première partie (A) et une deuxième partie (B), ledit partitionnement étant effectué
tel que :
ladite première partie représente des propagations sonores directes et des premières
réflexions sonores desdites propagations et s'étend sur un premier nombre d'échantillons
; et
ladite deuxième partie représente un champ sonore diffus présent après lesdites premières
réflexions et s'étend sur un deuxième nombre d'échantillons, ledit deuxième nombre
d'échantillons étant un multiple dudit premier nombre d'échantillons ;
∘ déterminer une première fonction de transfert (Ak(1), Ak(2), ..., Ak(L)) à partir de ladite première partie ;
∘ déterminer une deuxième fonction de transfert à partir de ladite deuxième partie
le filtre comprenant :
- pour chaque signal de sortie (O(1), O(2), ..., O(K)) parmi lesdits au moins deux
signaux de sortie (O(1), O(2), ..., O(K)) :
∘ déterminer (S23B1) une troisième fonction de transfert (Bmeank) à partir d'une moyenne desdites deuxièmes fonctions de transfert correspondant au
signal de sortie (O(1), O(2), ..., O(K)) ;
∘ appliquer (S4A1, S4A2, ..., S4AL) à chaque signal d'entrée des premières fonctions
de transfert correspondant au signal de sortie (O(1), O(2), ..., O(K)) ;
∘ appliquer (S4B1) à chaque signal d'entrée la troisième fonction de transfert (Bmeank) correspondant au signal de sortie (O(1), O(2), ..., O(K)) ;
dans lequel l'application des premières et troisièmes fonctions de transfert est effectuée
par blocs de FFT ;
dans lequel des signaux résultant desdites applications des premières et troisièmes
fonctions de transfert sont sommés pour obtenir lesdits au moins deux signaux de sortie
(O(1), O(2), ..., O(K)).
13. Module de décodage de signaux sonores, comportant un dispositif de spatialisation
selon la revendication 12, desdits signaux sonores en tant que signaux d'entrée.
1. Verfahren zur Klangverräumlichung, wobei mindestens ein Filtern auf mindestens zwei
Eingangssignale (I(1), I(2), ... , I(L)) angewendet wird, um mindestens zwei Ausgangssignale
(O(1), O(2), ... , O(K))abzugeben, wobei das Filtern aufweist:
- Gewichten (M4B1, M4B2, ... , M4BL) der mindestens zwei Eingangssignale durch jeweilige
Gewichtungsgewichte (Wk(1), ... , Wk(L)), wobei jedes Gewichtungsgewicht für jedes der Eingangssignale spezifisch ist,
- für jede Impulsantwort, die eine Raumwirkung enthält, unter mehreren Impulsantworten,
die eine Raumwirkung enthalten, wobei die Impulsantwort, die eine Raumwirkung enthält,
jeweils einem Eingangssignal unter den mindestens zwei Eingangssignalen (I(1), I(2),
... , I(L)) und einem Ausgangssignal unter den mindestens zwei Ausgangssignalen (O(1),
0(2), ... , 0(K)) zugeordnet wird:
∘ Partitionieren (S22) der Impulsantwort in einem Zeitbereich in einen ersten Teil
(A) und einen zweiten Teil (B), wobei das Partitionieren derart durchgeführt wird,
dass:
der erste Teil direkte Schallausbreitungen und erste Schallreflexionen der Ausbreitungen
darstellt und sich über eine erste Anzahl von Abtastwerten erstreckt und
der zweite Teil ein diffuses Schallfeld darstellt, das nach den ersten Reflexionen
vorhanden ist und sich über eine zweite Anzahl von Abtastwerten erstreckt, wobei die
zweite Anzahl von Abtastwerten ein Vielfaches der ersten Anzahl von Abtastwerten ist,
∘ Bestimmen von einer ersten Übertragungsfunktion (Ak(1), Ak(2), ..., Ak(L)) ausgehend von dem ersten Teil,
∘ Bestimmen von einer zweiten Übertragungsfunktion ausgehend von dem zweiten Teil,
- für jedes Ausgangssignal (O(1), O(2), ... , O(K)) unter den mindestens zwei Ausgangssignalen
(O(1), O(2), ... , O(K)):
∘ Bestimmen (S23B1) von einer dritten Übertragungsfunktion (Bmeank) ausgehend von einem Durchschnittswert der zweiten Übertragungsfunktionen, die dem
Ausgangssignal (O(1), O(2), ... , O(K)) entspricht,
∘ Anwenden (S4A1, S4A2, ... , S4AL) auf jedes Eingangssignal (I(1), I(2), ... , I(L))
der ersten Übertragungsfunktion (Ak(1), Ak(2), ..., Ak(L)), die dem Eingangssignale (I(1), I(2), ... , I(L)) und dem Ausgangssignal (O(1),
O(2), ... , O(K)) entspricht,
∘ Anwenden (S4Bl) auf jedes Eingangssignal der dritten Übertragungsfunktion (Bmeank), die dem Ausgangssignal (O(1), O(2), ... , O(K)) entspricht,
wobei das Anwenden der ersten und dritten Übertragungsfunktionen durch FFT-Blöcke
erfolgt,
- Summieren der Signale, die sich aus den Anwendungen der ersten und dritten Übertragungsfunktionen
ergeben, um die mindestens zwei Ausgangssignale (O(1), O(2), ... , O(K)) zu erhalten.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Energieausgleichsverstärkung (G) auf die Gewichtungsgewichte (Wk(1), ... , Wk(L)) angewendet wird (S4Bll).
3. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, dass das Partitionieren der Impulsantwort die Vorgänge aufweist:
- des Bestimmens (S211) eines Anfangszeitpunkts der Anwesenheit von direkten Schallwellen,
- des Bestimmens eines Anfangszeitpunkts der Anwesenheit des diffusen Schallfeldes
nach den ersten Reflexionen und
- des Auswählens (S22) in der Impulsantwort eines Teils der Antwort, der sich zeitlich
zwischen dem Anfangszeitpunkt der Anwesenheit von direkten Schallwellen bis zum Anfangszeitpunkt
der Anwesenheit des diffusen Schallfeldes erstreckt, wobei der ausgewählte Antwortteil
der ersten Übertragungsfunktion entspricht.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das Filtern das Anwenden von mindestens einer Ausgleichsverzögerung (S4B2) aufweist,
die einer Zeitdifferenz zwischen dem Anfangszeitpunkt von direkten Schallwellen und
dem Anfangszeitpunkt der Anwesenheit des diffusen Schallfeldes entspricht.
5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die erste und die dritte Übertragungsfunktion parallel zu den Eingangssignalen angewendet
werden und dadurch, dass die mindestens eine Ausgleichsverzögerung durch die dritten
Übertragungsfunktionen auf die gefilterten Eingangssignale angewendet wird.
6. Ein Verfahren nach einem der vorhergehenden Ansprüche, wobei die dritte Übertragungsfunktion
gegeben ist durch:
wobei: k ein Index in Bezug auf ein Ausgangssignal ist,
l∈[1;L] ein Index in Bezug auf ein Eingangssignal unter den Eingangssignalen ist,
L eine Anzahl von Eingangssignalen ist,
Bnormk(l) eine normalisierte Übertragungsfunktion ist, die ausgehend von einer zweiten Übertragungsfunktion
unter den zweiten Übertragungsfunktionen erhalten wird.
7. Verfahren nach Anspruch 6,
dadurch gekennzeichnet, dass mindestens ein Ausgangssignal
0k des Verfahrens gegeben ist durch:

wobei:
I(l) ein Eingangssignal unter den Eingangssignalen ist,
Ak(l) eine erste Übertragungsfunktion unter den ersten Übertragungsfunktionen ist,
Wk(l) ein Gewichtungsgewicht unter den Gewichtungsgewichten ist,
z-iDD einem Anwenden der Ausgleichsverzögerung entspricht,
wobei . die Multiplikation ist und
wobei * der Faltungsoperator ist.
8. Verfahren nach Anspruch 6,
dadurch gekennzeichnet, dass es einen Dekorrelationsschritt der dritten Eingangssignale vor dem Anwenden der zweiten
Übertragungsfunktionen aufweist und dadurch, dass mindestens ein Ausgangssignal
0k des Verfahrens gegeben ist durch:

wobei:
I(l) ein Eingangssignal unter den Eingangssignalen ist,
Id(l) ein Eingangssignal unter den Eingangssignalen ist, das einem Dekorrelationsschritt
unterworfen worden ist,
Ak(l) eine erste Übertragungsfunktion unter den ersten Übertragungsfunktionen ist,
Wk(l) ein Gewichtungsgewicht unter den Gewichtungsgewichten ist,
z-iDD dem Anwenden der Ausgleichsverzögerung entspricht,
wobei . die Multiplikation ist und
wobei * der Faltungsoperator ist.
9. Verfahren nach Anspruch 6,
dadurch gekennzeichnet, dass es einen Schritt des Bestimmens einer Energieausgleichsverstärkung in Abhängigkeit
von den Eingangssignalen aufweist und dadurch, dass mindestens ein Ausgangssignal
gegeben ist durch:

wobei:
I(l) ein Eingangssignal unter den Eingangssignalen ist,
G(I(l)) die bestimmte Energieausgleichsverstärkung ist,
Ak(l) eine erste Übertragungsfunktion unter den ersten Übertragungsfunktionen ist,
Wk(l) ein Gewichtungsgewicht unter den Gewichtungsgewichten ist,
z-iDD dem Anwenden der Ausgleichsverzögerung entspricht,
wobei . die Multiplikation ist und
wobei * der Faltungsoperator ist.
10. Verfahren nach einem der Ansprüche 6 bis 9,
dadurch gekennzeichnet, dass das Gewicht gegeben ist durch:
wobei k ein Index in Bezug auf ein Ausgangssignal ist,
l ∈ [1;L] der relative Index eines Eingangssignals unter den Eingangssignalen ist,
L die Anzahl von Eingangssignalen ist,
wobei EBmeank eine Energie in Bezug auf

ist,
EBk(l) eine Energie in Bezug auf eine zweite Übertragungsfunktion unter den zweiten Übertragungsfunktionen
ist.
11. Computerprogramm, umfassend Anweisungen für das Umsetzen der Schritte des Verfahrens
nach einem der Ansprüche 1 bis 10, wenn diese Anweisungen von einem Prozessor ausgeführt
werden.
12. Vorrichtung zur Klangverräumlichung, umfassend mindestens einen Filter, der auf mindestens
zwei Eingangssignale (I(1), I(2), ... , I(L)) angewendet ist, wobei die Vorrichtung
geeignet ist, mindestens zwei Ausgangssignale (O(1), O(2), ... , O(K)) abzugeben,
wobei die Vorrichtung Module zum Gewichten (M4B1, M4B2, ... , M4BL) aufweist, um die
mindestens zwei Eingangssignale durch jeweilige Gewichtungsgewichte (W
k(1), ... , W
k(L)) zu gewichten, wobei jedes Gewichtungsgewicht für jedes der Eingangssignale spezifisch
ist,
wobei die Vorrichtung ferner konfiguriert ist, um:
- für jede Impulsantwort, die eine Raumwirkung enthält, unter mehreren Impulsantworten,
die eine Raumwirkung enthalten, wobei die Impulsantwort, die eine Raumwirkung enthält,
jeweils einem Eingangssignal unter den mindestens zwei Eingangssignalen (I(1), I(2),
... , I(L)) und einem Ausgangssignal unter den mindestens zwei Ausgangssignalen (O(1),
O(2), ... , O(K)) zugeordnet ist:
∘ die Impulsantwort in einem Zeitbereich in einen ersten Teil (A) und einen zweiten
Teil (B) zu partitionieren (S22) der, wobei das Partitionieren derart durchgeführt
wird, dass:
der erste Teil direkte Schallausbreitungen und erste Schallreflexionen der Ausbreitungen
darstellt und sich über eine erste Anzahl von Abtastwerten erstreckt und
der zweite Teil ein diffuses Schallfeld darstellt, das nach den ersten Reflexionen
vorhanden ist und sich über eine zweite Anzahl von Abtastwerten erstreckt, wobei die
zweite Anzahl von Abtastwerten ein Vielfaches der ersten Anzahl von Abtastwerten ist,
∘ eine erste Übertragungsfunktion (Ak(1), Ak(2), ..., Ak(L)) ausgehend von dem ersten Teil zu bestimmen,
∘ eine zweite Übertragungsfunktion ausgehend von dem zweiten Teil zu bestimmen,
wobei der Filter aufweist:
- für jedes Ausgangssignal (O(1), O(2), ... , O(K)) unter den mindestens zwei Ausgangssignalen
(O(1), O(2), ... , O(K)):
∘ Bestimmen (S23B1) von einer dritten Übertragungsfunktion (Bmeank) ausgehend von einem Durchschnittswert der zweiten Übertragungsfunktionen, die dem
Ausgangssignal (O(1), O(2), ... , O(K)) entspricht,
∘ Anwenden (S4A1, S4A2, ..., S4AL) auf jedes Eingangssignal der ersten Übertragungsfunktionen,
die dem Ausgangssignal (O(1), O(2), ... , O(K)) entsprechen,
∘ Anwenden (S4Bl) auf jedes Eingangssignal der dritten Übertragungsfunktion (Bmeank), die dem Ausgangssignal (O(1), O(2), ... , O(K)) entspricht,
wobei das Anwenden der ersten und dritten Übertragungsfunktionen durch FFT-Blöcke
erfolgt,
wobei Signale, die sich aus den Anwendungen der ersten und dritten Übertragungsfunktionen
ergeben, summiert werden, um die mindestens zwei Ausgangssignale (O(1), O(2), ...
, O(K)) zu erhalten.
13. Modul zum Decodieren der Schallsignale, umfassend eine Vorrichtung zur Klangverräumlichung
nach Anspruch 12 der Schallsignale als Eingangssignale.
1. Audio spatializing method wherein at least one filtering operation is applied to at
least two input signals (I(1), I(2), ..., I(L)) in order to deliver at least two output
signals (O(1), O(2), ..., O(K)), the filtering operation comprising:
- weighting (M4B1, M4B2, ..., M4BL) said at least two input signals with respective
weighting weights (Wk(1), ..., Wk(L)), each weighting weight being specific to each of the input signals;
- for each impulse response incorporating a room effect among a plurality of impulse
responses incorporating a room effect, said impulse response incorporating a room
effect being respectively associated with one input signal among said at least two
input signals (I(1), 1(2), ..., I(L)) and with one output signal among said at least
two output signals (O(1), O(2), ..., O(K)):
∘ partitioning (S22), in a time domain, said impulse response into a first portion
(A) and a second portion (B), said partitioning being carried out such that:
said first portion represents direct audio propagations and first audio reflections
of said propagations and extends over a first number of samples; and
said second portion represents a diffuse audio field present after said first reflections
and extends over a second number of samples, said second number of samples being a
multiple of said first number of samples;
∘ determining a first transfer function (Ak(1), Ak(2), ..., Ak(L)) from said first portion;
∘ determining a second transfer function from said second portion;
- for each output signal (O(1), O(2), ..., O(K)) among said at least two output signals
(O(1), O(2), ..., O(K)):
∘ determining (S23B1) a third transfer function (Bmeank) from an average of said second transfer functions corresponding to the output signal
(O(1), O(2), ..., O(K));
∘ applying (S4A1, S4A2, ..., S4AL) to each input signal (1(1), 1(2), ..., I(L)) the
first transfer function (Ak(1), Ak(2), ..., Ak(L)) corresponding to the input signal (I(1), 1(2), ..., I(L)) and to the output signal
(O(1), O(2), ..., O(K));
∘ applying (S4B1) to each input signal the third transfer function (Bmeank) corresponding to the output signal (O(1), O(2), ..., O(K)); wherein the application
of the first and third transfer functions is carried out using FFT blocks;
- summing the signals resulting from applying said first and third transfer functions
in order to obtain said at least two output signals (O(1), O(2), ..., O(K)).
2. Method according to Claim 1, characterized in that an energy-compensating gain (G) is applied (S4B11) to the weighting weights (Wk(1), ..., Wk(L)).
3. Method according to one of the preceding claims,
characterized in that said partitioning of said impulse response comprises operations for:
- determining (S211) a start time of presence of direct audio waves,
- determining a start time of presence of said diffuse audio field after the first
reflections and
- selecting (S22), in said impulse response, a portion of the response that extends
temporally between said start time of presence of direct audio waves to said start
time of presence of the diffuse field, said selected response portion corresponding
to said first transfer function.
4. Method according to Claim 3, characterized in that said filtering comprises applying at least one compensating delay (S4B2) corresponding
to a temporal offset between said start time of direct audio waves and said start
time of presence of the diffuse field.
5. Method according to Claim 4, characterized in that said first and third transfer functions are applied in parallel to said input signals
and in that said at least one compensating delay is applied to the input signals filtered by
said third transfer functions.
6. Method according to one of the preceding claims, wherein said third transfer function
is given by:

with:
k an index relative to an output signal,
l ∈ [1; L] an index relative to one input signal among said input signals,
L a number of input signals, and

a normalised transfer function obtained from one second transfer function among said
second transfer functions.
7. Method according to Claim 6,
characterized in that at least one output signal
0k of said method is given by:

with:
I(l) one input signal among said input signals,
Ak(l) one first transfer function among said first transfer functions,
Wk(l) one weighting weight among said weighting weights,
z-iDD corresponds to the application of said compensating delay,
where · is a multiplication, and
where * is the convolution operator.
8. Method according to Claim 6,
characterized in that it comprises a step of decorrelating the input signals, prior to applying the third
transfer functions and
in that at least one output signal
0k of said method is given by:

with:
I(l) one input signal among said input signals,
Id(l) one input signal among said input signals having been subjected to said decorrelating
step,
Ak(l) one first transfer function among said first transfer functions,
Wk(l) one weighting weight among said weighting weights,
z-iDD corresponds to the application of said compensating delay,
where · is a multiplication, and
where * is the convolution operator.
9. Method according to Claim 6,
characterized in that it comprises a step of determining an energy-compensating gain depending on the input
signals, and
in that at least one output signal is given by:

with:
I(l) one input signal among said input signals,
G(I(l)) said determined energy-compensating gain,
Ak(l) one first transfer function among said first transfer functions,
Wk(l) one weighting weight among said weighting weights,
z-iDD corresponds to the application of said compensating delay,
where · is a multiplication, and
where * is the convolution operator.
10. Method according to one of Claims 6 to 9,
characterized in that said weight is given by:
with k the index relative to an output signal,
l ∈ [1; L] the index relative to one input signal among said input signals,
L the number of input signals,
with

an energy relative to

EBk(l) an energy relative to a one second transfer function among said second transfer functions.
11. Computer program containing instructions for implementing the method according to
one of Claims 1 to 10, when these instructions are executed by a processor.
12. Audio spatializing device, comprising at least one filter applied to at least two
input signals (I(1), I(2), ..., I(L)), the device being able to deliver at least two
output signals (O(1), O(2), ..., O(K)),
the device comprising weighting modules (M4B1, M4B2, ..., M4BL) for weighting said
at least two input signals with respective weighting weights (W
k(1), ..., W
k(L)), each weighting weight being specific to each of the input signals;
the device furthermore being configured to:
- for each impulse response incorporating a room effect among a plurality of impulse
responses incorporating a room effect, said impulse response incorporating a room
effect being respectively associated with one input signal among said at least two
input signals (I(1), I(2), ..., I(L)) and with one output signal among said at least
two output signals (O(1), O(2), ..., O(K)):
∘ partition (S22), in a time domain, said impulse response into a first portion (A)
and a second portion (B), said partitioning being carried out such that:
said first portion represents direct audio propagations and first audio reflections
of said propagations and extends over a first number of samples; and
said second portion represents a diffuse audio field present after said first reflections
and extends over a second number of samples, said second number of samples being a
multiple of said first number of samples;
∘ determine a first transfer function (Ak(1), Ak(2), ..., Ak(L)) from said first portion;
∘ determine a second transfer function from said second portion;
the filter comprising:
- for each output signal (O(1), O(2), ..., O(K)) among said at least two output signals
(O(1), O(2), ..., O(K)):
∘ determining (S23B1) a third transfer function (Bmeank) from an average of said second transfer functions corresponding to the output signal
(O(1), O(2), ..., O(K));
∘ applying (S4A1, S4A2, ..., S4AL) to each input signal first transfer functions corresponding
to the output signal (O(1), O(2), ..., O(K));
∘ applying (S4B1) to each input signal the third transfer function (Bmeank) corresponding to the output signal (O(1), O(2), ..., O(K));
wherein the application of the first and third transfer functions is carried out using
FFT blocks;
wherein the signals resulting from applying said first and third transfer functions
are summed in order to obtain said at least two output signals (O(1), O(2), ..., O(K)).
13. Module for decoding audio signals, comprising a device according to Claim 12 for spatializing
said audio signals when input as input signals.