[0001] La présente invention concerne une spatialisation sonore avec effet de salle.
[0002] L'invention trouve une application avantageuse mais non limitative à un traitement
de signaux sonores respectivement issus de L canaux associés à des haut-parleurs virtuels
(par exemple dans une représentation multicanale, ou encore dans une représentation
ambiophonique, du son à restituer), pour une restitution spatialisée sur des haut-parleurs
réels (par exemple deux oreillettes d'un casque en restitution binaurale, ou deux
haut-parleurs séparés en restitution transaurale).
[0003] Par exemple, le signal de l'un de ces canaux peut être traité pour avoir une première
contribution sur l'oreillette gauche et une deuxième contribution sur l'oreillette
droite, en restitution binaurale, en appliquant en particulier une fonction de transfert
avec effet de salle à chacune de ces contributions. L'application de ces fonctions
de transfert à effet de salle contribue alors à offrir à l'auditeur un sentiment d'immersion
lui permettant pratiquement de « situer dans l'espace » le haut-parleur virtuel associé
à ce canal.
[0004] Dans une réalisation particulière, décrite notamment dans le document
FR1357299, on applique une fonction de transfert avec effet de salle à chaque signal sonore
d'un canal correspondant, dans le domaine temporel sous la forme de réponse impulsionnelle
de type BRIR (pour « Binaural Room Impulse Response » ou « Réponse Impulsionnelle
Binaurale de salle »). En particulier, dans ce document, incorporé ici par référence,
on construit cette fonction de transfert BRIR comme la combinaison :
- d'une première fonction de transfert, propre à chaque signal, et
- d'une deuxième fonction de transfert, globale, commune à tous les signaux et caractérisant
en particulier un champ diffus, dont la présence advient habituellement dans une salle
après un certain temps, typiquement après les premières réflexions d'une onde sonore.
Une telle réalisation permet avantageusement d'appliquer un traitement commun à tous
les signaux, ce qui correspond, dans une réalité physique, à un « mélange » des ondes
acoustiques au fur et à mesure des réverbérations, donc au-delà d'une durée donnée
(caractérisant un début de présence du champ diffus). Une telle réalisation permet
alors de réduire la complexité des traitements de spatialisation avec effet de salle
sur plusieurs canaux initiaux.
[0005] Néanmoins, dans des modules de spatialisation intervenant en amont de la restitution,
on cherche encore à réduire autant que possible la complexité des traitements de spatialisation.
En effet, par exemple (mais non limitativement), les signaux des canaux sont reçus
sous forme encodée, par un décodeur en compression. Ce décodeur envoie les signaux
des canaux, une fois décodés, à un module de spatialisation pour une restitution sonore
avec effet de salle, sur deux haut-parleurs. Il convient alors que cette étape de
spatialisation (qui suit le décodage des signaux reçus) soit de complexité de traitement
réduite pour ne pas retarder l'ensemble global des étapes de décodage et de spatialisation
à la réception des signaux avant restitution.
[0006] La présente invention vient améliorer la situation.
[0007] L'invention propose à cet effet de réduire la complexité de l'application de la fonction
de transfert à effet de salle, en réduisant en particulier cette complexité dans le
domaine spectral. En effet, dans le domaine spectral, la convolution par une fonction
de transfert devient une multiplication de composantes spectrales du signal d'une
part, et d'un filtre représentant la fonction de transfert d'autre part (figure 1
commentée en détails plus loin).
[0008] L'invention part alors du constat avantageux selon lequel, après une propagation
directe, une onde sonore tend à s'atténuer dans les hautes fréquences du fait des
réflexions progressives sur des surfaces (murs typiquement, visage de l'auditeur,
etc.) absorbant l'onde en particulier dans les hautes fréquences. En outre, l'air
lui-même absorbe les composantes spectrales des fréquences les plus élevées du son
pendant sa propagation. Ce phénomène est d'autant plus accru par exemple pour le champ
sonore diffus, pour lequel il n'est pas nécessaire d'avoir une représentation fréquentielle
pour des fréquences très élevées (par exemple supérieures à une fréquence dans une
gamme de 5 à 15 kHz).
[0009] Ainsi, il est possible de réduire la complexité du traitement de l'application de
la fonction de transfert avec effet de salle, dans le domaine spectral, en ne tenant
simplement pas compte, pour effectuer les multiplications de composantes spectrales
précitées, des composantes associées à des fréquences supérieures à une fréquence
de coupure prédéterminée (par exemple supérieures à 5 à 15 kHz).
[0010] L'invention vise alors un procédé de spatialisation sonore, comportant l'application
d'au moins une fonction de transfert à effet de salle à au moins un signal sonore,
ladite application revenant à multiplier, dans le domaine spectral, des composantes
spectrales du signal sonore par les composantes spectrales d'un filtre correspondant
à la fonction de transfert précitée. Chaque composante spectrale du filtre comporte
une évolution temporelle dans une représentation temps-fréquence (comme détaillé plus
loin en référence à la figure 3).
[0011] En particulier, ces composantes spectrales du filtre sont ignorées, pour les multiplications
de composantes précitées, au-delà d'une fréquence seuil et après au moins un instant
donné dans ladite représentation temps-fréquence. Ainsi, après cet instant donné,
les composantes spectrales du filtre sont prises en compte jusqu'à une fréquence de
coupure qui peut être choisie par exemple entre 5 et 15 kHz (en fonction de l'effet
de salle à appliquer et/ou du signal à spatialiser, comme décrit ci-après). Au-delà
de la fréquence de coupure, la multiplication n'est même pas effectuée, ce qui mathématiquement
revient au même que de multiplier le signal par zéro.
[0012] Cet instant donné représente typiquement le moment où une onde sonore commence à
subir des réverbérations (par réflexions successives, ou, plus tard encore, à partir
d'une présence d'un champ sonore diffus). Ainsi, en termes généraux, dans une réalisation
où la fonction de transfert tient compte de réverbérations dans l'effet de salle (avec
prise en compte par exemple d'un champ sonore diffus), l'instant donné précité peut
être choisi en fonction de telles réverbérations. Par exemple, l'instant donné précité
peut être postérieur, dans l'effet de salle, à une propagation sonore directe avec
des premières réflexions, et correspondre alors à un début de présence de champ sonore
diffus.
[0013] En outre, on peut prévoir une réalisation dans laquelle la fréquence seuil précitée
diminue en fonction du temps dans ladite représentation temps-fréquence. Par exemple,
si le signal est échantillonné sur plusieurs blocs successifs, il peut être prévu,
à titre d'exemple, de conserver les composantes spectrales présentes dans le signal,
dans la multiplication des composantes, pour un premier bloc, puis de les ignorer
au-delà d'une première fréquence seuil pour un deuxième bloc qui suit le premier bloc,
puis de les ignorer au-delà d'une deuxième fréquence seuil pour un troisième bloc
qui suit le deuxième bloc, etc., la deuxième fréquence seuil étant plus basse que
la première.
[0014] Ainsi, en termes plus génériques, dans une réalisation où le signal est échantillonné
sur plusieurs blocs successifs, les composantes spectrales du filtre peuvent être
ignorées, pour la multiplication des composantes :
- au-delà d'une première fréquence seuil pour un bloc donné,
- puis, au-delà d'une deuxième fréquence seuil, pour un bloc qui suit le bloc donné,
la deuxième fréquence seuil étant plus basse que la première fréquence seuil.
[0015] Le bloc donné précité peut inclure par exemple des échantillons situés temporellement
à des instants qui correspondent à des moments où une onde sonore a subi une ou plusieurs
réflexions, avec même un début de présence de champ sonore diffus. Le bloc qui suit
ce bloc donné (immédiatement ou quelques blocs plus tard) peut inclure par exemple
des échantillons situés temporellement après ou à partir d'un début de présence de
champ sonore diffus.
[0016] Une telle réalisation permet par exemple de limiter des artéfacts éventuellement
audibles de limitation de signal dans les hautes fréquences pour les réverbérations,
cette réalisation étant accomplie progressivement sur plusieurs blocs. Elle permet
aussi de considérer plusieurs formes de fonctions de transfert (notées ci-après

,
m étant un indice de bloc) caractérisant un champ sonore diffus. En effet, il est possible
par exemple d'appliquer une fonction de transfert
Bkmean à un bloc donné précité, et d'appliquer une fenêtre de coupure temporellement progressive
(de type « fade out ») à cette fonction de transfert
Bkmean, pour le bloc qui suit, pour « terminer » la présence du champ sonore diffus.
[0017] On peut aussi appliquer une limitation de calculs de multiplications au-delà d'une
première fréquence seuil, dès le ou les premiers blocs d'échantillons, en fonction
des caractéristiques du signal (par exemple sa fréquence d'échantillonnage, ou la
fréquence la plus élevée représentée dans les composantes spectrales du signal) ou
en fonction des caractéristiques de spatialisation appliquée (avec par exemple une
limitation des composantes de hautes fréquences pour un trajet acoustique contra-latéral
comme détaillé plus loin).
[0018] Dans ce cas, le signal issu des réverbérations (après réflexions ou dans le champ
diffus) ne comporte pas, normalement, de composantes spectrales de fréquence plus
élevée que le signal initial. Ainsi, la fréquence seuil précitée ne peut pas être
plus grande que cette fréquence la plus élevée.
[0019] Ainsi, en termes plus génériques, dans une forme de réalisation, on obtient une information
de composante spectrale de fréquence la plus élevée dans le signal sonore, et la fréquence
seuil précitée est choisie comme étant le minimum parmi une fréquence seuil prédéterminée
(par exemple entre 5 et 15 kHz) et ladite fréquence la plus élevée.
[0020] Typiquement, dans une réalisation où le signal sonore est issu d'un décodeur en compression,
l'information de composante spectrale de fréquence la plus élevée peut être fournie
par le décodeur.
[0021] De même, si la spatialisation est réalisée auprès d'un module capable de supporter
différents formats de signaux, notamment en termes de fréquence d'échantillonnage
de tels signaux, la fréquence la plus élevée, précitée, ne peut pas être supérieure
à la moitié de la fréquence d'échantillonnage, et, ainsi, la fréquence seuil pour
la mise en oeuvre de l'invention peut être choisie en outre en fonction de cette fréquence
d'échantillonnage.
[0022] Dans une réalisation où le signal sonore est spatialisé sur au moins des premier
et deuxième haut-parleurs virtuels, associés respectivement à un premier et un deuxième
canal, on applique respectivement des première et deuxième fonctions de transfert
avec effet de salle sur ces premier et deuxième canaux, comme expliqué ci-avant en
introduction (par exemple en adaptant des signaux sur des canaux ambiophoniques pour
passer à une restitution binaurale ou transaurale). En particulier, dans le cas où
l'une des première et deuxième fonctions de transfert applique un effet de trajet
acoustique ipsi-latéral, tandis que l'autre des première et deuxième fonctions de
transfert applique un effet de trajet acoustique contra-latéral, on peut prévoir une
élimination des composantes spectrales du signal sonore au-delà d'une fréquence d'écrantage
donnée. Cette fréquence « d'écrantage » s'explique par le fait que pour un trajet
contra-latéral entre un haut-parleur virtuel et une oreille considérée de l'auditeur,
la tête de l'auditeur masque le trajet acoustique et absorbe les tonalités les plus
aigües de l'onde acoustiques (donc élimine les composantes spectrales associées aux
fréquences les plus élevées de l'onde acoustique). Ainsi, la fréquence seuil précitée,
pour la fonction de transfert appliquant un effet de trajet contra-latéral, peut être
choisie comme un minimum parmi une fréquence seuil prédéterminée (par exemple choisie
entre 5 et 15kHz) et cette fréquence d'écrantage. Cette réalisation est avantageuse
pour être appliquée déjà pour le premier bloc d'échantillons. En revanche, elle n'exclut
pas la possibilité d'augmenter à nouveau la fréquence seuil pour le bloc suivant pour
simuler une première réflexion sur un mur situé en regard de l'oreille considérée,
cette première réflexion étant reçue à cette oreille par un trajet ipsi-latéral.
[0023] Dans une forme de réalisation où le procédé est mis en oeuvre par un module de spatialisation
sonore recevant une pluralité de signaux d'entrée et délivrant au moins deux signaux
de sortie, pour délivrer chaque signal de sortie, on applique une fonction de transfert
à effet de salle, à chaque signal d'entrée, par :
- multiplication dans le domaine spectral des composantes spectrales de chaque signal
d'entrée avec des composantes spectrales de filtre correspondant à une fonction de
transfert associée à ce signal d'entrée, jusqu'à une fréquence de coupure pour chaque
signal d'entrée au-delà d'un instant donné associé à la fonction de transfert de ce
signal d'entrée, et
- sommation, sur l'ensemble des signaux d'entrée, des composantes spectrales ainsi multipliées,
fréquence par fréquence.
Cette réalisation sera décrite en détails plus loin en référence aux figures 2 et
5, notamment.
[0024] On comprendra en tout état de cause que la fréquence de coupure peut être choisie
commune à tous les signaux, dans une réalisation possible, après un instant donné
qui correspond par exemple à la présence du champ diffus.
[0025] Ainsi, la réalisation décrite dans le document
FR1357299 introduit plus haut peut être avantageuse dans le contexte de l'invention, et en
particulier si chaque fonction de transfert appliquée à un signal comporte :
- une fonction de transfert spécifique à ce signal, additionnée à
- une fonction de transfert globale, commune à tous les signaux, et représentative d'une
présence de champ diffus,
alors l'instant donné précité peut être commun à l'ensemble des signaux et correspondre
par exemple à un début de présence de champ sonore diffus.
[0026] Dans une réalisation où les signaux comportent des blocs successifs d'échantillons,
de mêmes tailles entre signaux, on prévoit au moins un instant donné pour la limitation
de la prise en compte des composantes fréquentielles jusqu'à une fréquence de coupure,
cet instant donné étant situé temporellement au début d'un bloc différent d'un premier
bloc dans une succession de blocs. Cet instant donné intervient donc après une propagation
directe, et au moment de réflexions sonores ou de présence de champ diffus.
[0027] Dans une forme de réalisation reprenant ce qui précède suivant une formule avantageuse
mais non limitative, chacun des signaux de sortie précités peut être donné par application
d'une relation du type :
- Ok étant un signal de sortie, et k étant l'indice relatif à un signal de sortie,
- l ∈ [1; L], étant l'indice relatif à un signal d'entrée parmi lesdits signaux d'entrée, L étant le nombre de signaux d'entrée, et I(l) étant un signal d'entrée parmi lesdits signaux d'entrée,
- Ak(l) étant une fonction de transfert avec effet de salle spécifique à un signal d'entrée,
- z-iDDm étant une application de délai, compté en nombre de blocs d'échantillons, correspondant
à un écart temporel entre une émission sonore dans une salle correspondant à l'effet
de salle, et un début de présence de champ diffus dans cette salle, l'indice m correspondant à un nombre de blocs d'échantillons de durée correspondant à ce délai,
M étant le nombre total de blocs que dure une fonction de transfert dans une représentation
temps-fréquence,

étant une fonction de transfert globale, avec effet de salle, commune aux signaux
d'entrée ; cette fonction peut varier avec l'indice de bloc m par exemple pour appliquer une décroissance de gain (type fenêtre de « fade out »)
au dernier bloc M,
- Wk(l) étant un poids de pondération choisi, et G(I(l)), un gain de compensation d'énergie prédéterminé, ces paramètres pouvant être fixés
à la valeur 1, ou au contraire, permettre de gérer des pondérations de présence de
champ diffus en fonction des signaux d'entrée,
- le signe « . » désignant la multiplication,
- le signe « ∗[0;...;fk(l)] » désignant l'opérateur de convolution sur un nombre de fréquences limité et allant
d'une plus basse fréquence à une fréquence maximale fk(l) qui est fonction au moins du signal d'entrée d'indice l, et
- le signe « ∗[0;...;fk(m)] » désignant l'opérateur de convolution sur un nombre de fréquences limité et allant
d'une plus basse fréquence à une fréquence fk(m) qui est fonction du bloc d'échantillons d'indice m.
[0028] Cette réalisation sera détaillée plus loin en référence à la figure 5, illustrant
aussi, dans un exemple de réalisation, un possible algorithme d'un programme informatique
qu'exécuterait un processeur d'un module de spatialisation opérant le procédé au sens
de l'invention. A ce titre, la présente invention vise aussi, de façon générale, un
programme informatique comportant des instructions pour la mise en oeuvre du procédé
ci-avant, lorsqu'elles sont exécutées par un processeur.
[0029] La présente invention vise aussi un module de spatialisation sonore, comportant des
moyens de calcul pour appliquer au moins une fonction de transfert à effet de salle
à au moins un signal sonore d'entrée, ladite application revenant à multiplier, dans
le domaine spectral, des composantes spectrales du signal sonore par les composantes
spectrales d'un filtre correspondant à ladite fonction de transfert, chaque composante
spectrale du filtre comportant une évolution temporelle dans une représentation temps-fréquence.
En particulier, ces moyens de calcul sont configurés pour ignorer lesdites composantes
spectrales du filtre pour lesdites multiplications de composantes, au-delà d'une fréquence
seuil et après au moins un instant donné dans ladite représentation temps-fréquence.
[0030] Ce module peut être intégré dans un dispositif de décodage en compression, ou plus
généralement dans un système de restitution.
[0031] On a représenté sur la figure 6 un tel module de spatialisation SPAT, ainsi qu'un
dispositif de décodage DECOD qui reçoit d'un réseau RES, dans l'exemple représenté,
des signaux codés en compression I'(
l) (avec 1 = 1,...,L) et les décode avant restitution en transmettant les signaux décodés
I(
l) (avec 1 = 1,...,L) au module de spatialisation. Ce dernier comprend dans l'exemple
représenté une interface d'entrée IN pour recevoir les signaux décodés, ainsi que
des moyens de calculs tels qu'un processeur PROC et une mémoire de travail MEM coopérant
avec les interfaces IN/OUT pour spatialiser les signaux I(
l) et délivrer par l'interface de sortie OUT uniquement deux signaux O
d et O
g destinés à alimenter les oreillettes respectives d'un casque CAS.
[0032] D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de
la description détaillée ci-après, et des dessins annexés sur lesquels :
- la figure 1 illustre une réalisation générale du procédé selon l'invention ;
- la figure 2 illustre un exemple d'application du procédé selon un mode de réalisation
où les fonctions de transfert sont sous la forme d'une combinaison de deux fonctions
de transfert dont l'une est appliquée avec un retard sur le signal à traiter ;
- la figure 3 représente un exemple de représentation temps-fréquence d'une fonction
de transfert avec des fréquences de coupure (ou « fréquences seuils » précitées) variables
notamment en fonction du temps ;
- la figure 4 illustre un organigramme correspondant à un algorithme général possible
du programme informatique au sens de l'invention,
- la figure 5 représente une réalisation particulière issue du mode représenté sur la
figure 2, mais sur plus de deux blocs temporels successifs, avec une évolution de
la fonction de transfert

représentant le champ diffus, en fonction des blocs m ;
- la figure 6 illustre un exemple de module de spatialisation au sens de l'invention
;
- la figure 7 illustre schématiquement les haut-parleurs virtuels et l'effet de salle
pour appliquer une fonction de transfert appropriée, avec limitation des composantes
fréquentielles de cette fonction de transfert jusqu'à une fréquence de coupure appropriée.
[0033] Avant de décrire la figure 1 et le principe général de l'invention, on se réfère
à la figure 7 pour expliquer les phénomènes physiques qui sous-tendent la présente
invention.
[0034] Une pluralité de haut-parleurs virtuels entourent, dans l'exemple représenté, la
tête TE d'un auditeur. Chacun des haut-parleurs virtuels HPV est alimenté initialement
par un signal
I(
l) avec
l ∈ [1;
L] par exemple précédemment décodé comme indiqué ci-avant en référence à la figure
6. La disposition des haut-parleurs virtuels peut concerner une représentation multicanale
ou aussi ambiophonique des signaux
I(
l) à traiter pour les restituer ensemble de façon spatialisée avec un effet de salle
sur un casque à oreillettes CAS (figure 6). A cet effet, on applique habituellement
à chaque signal une fonction de transfert à effet de salle pour chaque signal d'oreillette
à délivrer O
k, avec k = d (pour droite), g (pour gauche). Ainsi, en référence à la figure 7, on
considère pour chaque haut-parleur virtuel HPV le trajet acoustique (ipsi-latéral
TIL dans l'exemple représenté) du haut-parleur HPV à l'oreille gauche OG, ainsi que
le trajet acoustique (contra-latéral TCL dans l'exemple représenté) du haut-parleur
HPV à l'oreille droite OD, ainsi que des réflexions sur les murs MUR (trajet RIL),
et finalement un champ diffus après plusieurs réflexions. A chaque réflexion, il est
considéré que l'onde acoustique s'atténue dans les fréquences les plus élevées.
[0035] Ainsi, en référence à la figure 3 relative à une représentation temps-fréquence d'une
fonction de transfert adaptée pour le haut-parleur virtuel HPV représenté sur la figure
7, il apparait déjà que la tête de l'auditeur masque naturellement le trajet contra-latéral
et les fréquences les plus élevées à considérer pour la fonction de transfert propre
à l'oreille droite OD sont plus basses que celles à considérer pour la fonction de
transfert propre à l'oreille gauche OG (qui est en regard du haut-parleur virtuel
HPV selon un trajet ipsi-latéral). Ainsi, en considérant un premier bloc de temps
de 0 à N-1, noté m=0, la fréquence maximale F
cd(0) d'un filtre représentant la fonction de transfert propre à l'oreille droite peut
être plus basse que la fréquence maximale F
cg(0) d'un filtre représentant la fonction de transfert propre à l'oreille gauche. Un
concepteur de tel filtre peut ainsi limiter les composantes de son filtre pour l'oreille
droite jusqu'à la fréquence de coupure F
cd(0) (correspondant à une fréquence d'écrantage de la tête) quand bien même le signal
à traiter I(
l) peut avoir des composantes spectrales supérieures et jusqu'à la fréquence F
cg(0) au moins.
[0036] Ensuite, après des réflexions, l'onde acoustique tend à s'atténuer dans les fréquences
élevées, ce qui est bien respecté par la représentation temps-fréquence de la fonction
de transfert pour l'oreille gauche, comme pour l'oreille droite, pour les instants
N à 2N-1, correspondant au bloc suivant noté m=1. Ainsi, un concepteur de filtres
représentant ces fonctions de transfert peut prévoir de limiter les composantes des
filtres pour l'oreille droite jusqu'à la fréquence de coupure F
cd(1) et pour l'oreille gauche jusqu'à la fréquence de coupure F
cg(1). Dans un mode de réalisation illustré en particulier sur la figure 5, on peut
considérer que dans le bloc m=1, la fonction de transfert caractérise typiquement
un champ diffus pour l'oreille droite comme pour l'oreille gauche, et, ainsi, il peut
être établi (possiblement mais non limitativement) que F
cd(1)=F
cg(1).
[0037] Ensuite, en présence de champ diffus avec atténuation globale du son (« fade out
»), l'onde acoustique tend à s'atténuer davantage dans les fréquences élevées, ce
qui est bien respecté encore par la représentation temps-fréquence de la fonction
de transfert pour l'oreille gauche, comme pour l'oreille droite, sur la figure 3,
pour les instants 2N à 3N-1, correspondant au bloc noté m=2. Ainsi, un concepteur
de filtres représentant ces fonctions de transfert peut prévoir de limiter les composantes
des filtres pour l'oreille droite jusqu'à la fréquence de coupure F
cd(2) et pour l'oreille gauche jusqu'à la fréquence de coupure F
cg(2).
[0038] On relèvera que des blocs plus courts permettraient de faire varier plus finement
la plus haute fréquence à considérer par exemple pour tenir compte d'une première
réflexion RIL pour laquelle la fréquence la plus haute augmente pour l'oreille droite
(traits pointillés autour de F
cd(0) dans la figure 3) dans les premiers instants du bloc m=0.
[0039] Ainsi, on retiendra qu'il est possible de ne pas prendre en compte toutes les composantes
spectrales d'un filtre représentant une fonction de transfert, en particulier au-delà
d'une fréquence de coupure F
c. Dès lors, il est avantageux de traiter l'application de la fonction de transfert,
dans le domaine spectral. En effet, la convolution d'un signal I(
l) par une fonction de transfert devient, dans le domaine spectral, une multiplication
des composantes spectrales du signal I(
l) par les composantes spectrales du filtre représentant la fonction de transfert dans
le domaine spectral, et, en particulier, cette multiplication peut être opérée jusqu'à
une fréquence de coupure seulement, qui est fonction d'un bloc donné, par exemple,
et du signal à traiter.
[0040] Ainsi, en référence à la figure 1, L signaux d'entrée 1(1), 1(2), ..., I(L) sont
transformés dans le domaine fréquentiel, respectivement aux étapes TF11, TF12, ...,
TF1L. En variante, de tels signaux d'entrée peuvent déjà être disponibles sous forme
fréquentielle (par exemple auprès du décodeur).
[0041] A l'étape BA11, une réponse impulsionnelle complète de spatialisation (typiquement
de type BRIR pour « Binaural Room Impulse Response ») sous forme temporelle correspondant
au signal 1(1) du canal 1 est mise en mémoire. A l'étape TFA11, on transforme cette
réponse impulsionnelle sous forme fréquentielle pour obtenir un filtre correspondant
dans le domaine spectral. Dans un mode de réalisation avantageux, le filtre est stocké
sous sa forme spectrale pour éviter de répéter le calcul de la transformée. On multiplie
ensuite ce filtre au signal d'entrée sous forme fréquentielle du canal 1 (ce qui équivaut
à une convolution dans le domaine temporel). On dispose donc du signal spatialisé
pour le signal 1(1) du canal 1.
[0042] On effectue les mêmes opérations pour les L-1 autres canaux. On dispose ainsi au
total de L canaux spatialisés. Ces canaux sont ensuite sommés pour obtenir un unique
signal de sortie représentant les L canaux, et on repasse dans le domaine temporel
à l'étape ITF11, pour délivrer l'un des signaux O
k (avec k=d,g) alimentant une oreillette. Un traitement analogue est réalisé pour l'autre
oreillette. Dans un mode de réalisation décrit en détails plus loin en référence aux
figures 2 et 5, les L canaux spatialisés ne sont pas accessibles indépendamment avant
sommation : l'unique signal de sortie est construit en sommant au fur et à mesure
chaque canal spatialisé avec le signal de sortie précédent.
[0043] On effectue ces opérations pour chaque signal de sortie O
k à construire. Typiquement, s'il s'agit d'un restitution binaurale, ces étapes sont
effectuées deux fois, une fois pour le signal de sortie destiné à alimenter une oreillette
gauche d'un casque d'écoute et une fois pour le signal de sortie destiné à alimenter
l'oreillette droite du casque. Ainsi, on obtient finalement deux signaux spatialisés
O
d et O
g correspondant chacun à une oreille.
[0044] Les L signaux d'entrée peuvent correspondre typiquement aux L canaux d'un contenu
audio multicanal censé alimenter des haut-parleurs (« virtuels »). Les L signaux d'entrée
peuvent par exemple correspondre aux L signaux ambiophoniques d'un contenu audio en
représentation ambiophonique.
[0045] En référence maintenant à la figure 2 illustrant une mise en oeuvre au sens de l'invention,
on reprend le principe d'une spatialisation de L canaux comme présenté sur la figure
1. Néanmoins, la présentation de la figure 2 est simplifiée en ce que les L signaux
d'entrée sont réunis en une seule voie I(
l). Ainsi, L signaux d'entrées 1(1), 1(2), ..., I(L) sont transformés dans le domaine
fréquentiel à l'étape S21. Comme indiqué précédemment, de tels signaux d'entrée peuvent
en variante être déjà disponibles sous forme fréquentielle. A l'étape S22, une réponse
impulsionnelle A
k(
l) de spatialisation (typiquement de type BRIR) correspondant au signal l(
l) du canal
l est transformée dans le domaine spectral pour obtenir un filtre fréquentiel. Cette
réponse impulsionnelle A
k(
l) est incomplète dans la représentation de la figure 2 car elle correspond à un premier
bloc temporel d'échantillons m=0. Comme indiqué précédemment, cette réponse impulsionnelle
peut être déjà disponible sous forme fréquentielle. On multiplie ensuite les composantes
de ce filtre au signal spectral du canal correspondant l(
I). Cette multiplication est paramétrée (comme indiqué ci-dessous en référence à la
figure 4) pour que certaines composantes fréquentielles soient ignorées, au sens de
l'invention. Typiquement, les composantes fréquentielles les plus élevées seront ignorées
pour limiter la complexité des calculs. Sur les figures 2 et 5, on note alors la multiplication
des composantes limitée à une fréquence de coupure par le signe :
χ
[0046] Une fréquence de coupure f
cA(I) à partir de laquelle les composantes fréquentielles sont ignorées est définie (par
exemple la fréquence maximale représentée dans le signal du canal I(
l), ou la moitié de sa fréquence d'échantillonnage). En outre, cette fréquence de coupure
est spécifique à chaque filtre et pour chaque bloc (elle diminue par exemple pour
les blocs m=1, m=2). Comme les filtres sont ici spécifiques à chaque signal d'entrée
et à chaque oreille, une fréquence de coupure est spécifique à un signal d'entrée,
à une oreille (donc un signal de sortie) et à un bloc temporel.
[0047] On dispose alors du signal spatialisé pour le canal
l pour ce premier bloc temporel. On effectue ces opérations pour tous les L canaux
:
l = 1,...,L. On dispose ainsi de L canaux spatialisés. Ces canaux sont ensuite sommés
à l'étape S23 pour obtenir un unique signal représentant les L canaux sur le premier
bloc temporel.
[0048] En pratique, la sommation est réalisée de façon particulière, car elle tient compte
d'un retard sur les canaux pour caractériser les réverbérations (réflexions et champ
diffus), comme détaillé ci-après. En effet, dans un mode de réalisation, les L canaux
spatialisés ne sont pas accessibles indépendamment avant sommation : l'unique signal
de sortie est construit en sommant au fur et à mesure chaque canal spatialisé avec
le signal de sortie précédent. A cet effet, à l'étape DBD, on retarde les signaux
d'entrée I(
l) d'un certain délai donné par z
-iDD.m propre à chaque bloc m=1, ..., M. On remarque que pour le premier bloc, le retard
m est nul. Dans le cas d'une représentation fréquentielle, ce délai correspond généralement
à la taille d'une trame de signal traité pour le premier bloc, et s'interprète comme
le fait de prendre le bloc d'entrée précédent dans sa forme fréquentielle.
[0049] A l'étape S24, une réponse impulsionnelle B
km(
l) incomplète de spatialisation (typiquement de type BRIR) correspondant au signal
l(
I) du canal
I est transformée dans le domaine spectral pour obtenir un filtre fréquentiel. Cette
réponse impulsionnelle B
km(
l) est incomplète car elle correspond à un second bloc temporel d'échantillons (puis
à un troisième bloc et ainsi de suite, pour m=1, ..., M). Comme indiqué précédemment,
cette réponse impulsionnelle peut en variante être déjà disponible sous forme fréquentielle.
En appliquant le principe décrit dans le document
FR1357299, il est possible de réduire la complexité du traitement en posant B
km(1)= ... = B
km(
l) = ... = B
km(L)= B
kmean(
m) et de ne faire dépendre finalement cette fonction de transfert que du bloc m considéré
(champ diffus principal, ou champ diffus secondaire avec atténuation « fade out »)
et de l'oreille k. De même, le champ diffus ne dépend pas des canaux et il est possible
de fixer la fréquence de coupure f
c comme étant identique pour chaque canal (mais qui peut diminuer encore d'un bloc
au suivant, comme on l'a vu précédemment en référence à la figure 3). Cette réalisation
est présentée sur la figure 5.
[0050] En référence à nouveau à la figure 2, on multiplie ensuite ce filtre B
km(
l) au signal l(
l) du canal
l. Les fréquences de coupure sont différentes pour ce second bloc temporel. Comme présenté
en référence à la figure 3, des mesures montrent que les hautes fréquences sont plus
atténuées dans les blocs temporels éloignés (correspondants à des sons diffus et aux
réverbérations multiples). Les fréquences de coupure pour ces blocs éloignés peuvent
donc être plus faibles que pour les premiers blocs. Or, plus la fréquence de coupure
est faible, plus le nombre d'opérations est limité. Ainsi, la complexité des calculs
est avantageusement réduite.
[0051] On effectue les mêmes opérations pour les L canaux et on répète les opérations de
multiplication du filtre sur les signaux spectraux progressivement retardés en sommant
les contributions à l'étape S25 réitérée pour chaque retard m jusqu'à obtenir un unique
signal représentant les L canaux sur l'ensemble M des blocs temporels m considérés.
L'unique signal de sortie est construit en sommant au fur et à mesure chaque canal
spatialisé avec le signal de sortie précédent comme on le verra maintenant en référence
à la figure 4.
[0052] Enfin, on repasse dans le domaine temporel à l'étape S26 pour obtenir un signal de
sortie destiné à alimenter l'une des oreillettes du casque.
[0053] En référence à la figure 4, on décrit maintenant un procédé de spatialisation pour
un bloc temporel donné (par exemple pour le bloc représentant le champ sonore direct
à valeurs dans l'intervalle temporel [0 ; N-1]) et pour un signal correspondant, par
exemple, à l'oreille droite. Bien sûr, le même procédé est appliqué pour le signal
correspond à l'oreille gauche. La distinction entre les deux oreilles est introduite
par l'application de filtres spécifiques à chacune de ces oreilles.
[0054] A l'étape S40, le signal de sortie S est initialisé à 0. Ce signal de sortie s'exprime
dans le domaine fréquentiel. Il possède une taille limitée d'une longueur supérieure
à la fréquence de coupure fc(
l). Par exemple, ce signal est défini sur [0 ; fs(
l)/2], fs(
l) étant la fréquence d'échantillonnage de ce signal I(
l). Une première variable de comptage
l est également initialisée à 1. Cette première variable de comptage identifie un des
signaux de canal 1(1), I(2), ... , I(
l), ... , I(L) sur le bloc temporel [0 ; N-1] pour l'oreille droite. A l'étape S41,
une deuxième variable de comptage j est initialisée à 0. Cette seconde variable de
comptage identifie une composante fréquentielle d'un signal I(
l) sur le bloc temporel [0 ; N-1] pour l'oreille droite.
[0055] A l'étape S42, le coefficient c
BRIR(j ;
l) est mis en mémoire. Ce coefficient correspond à la composante fréquentielle j du
filtre BRIR(
l) sur le bloc temporel [0 ; N-1] pour l'oreille droite. De même, le coefficient c
I(j ;
l) est mis en mémoire. Ce coefficient correspond à la composante fréquentielle j du
signal I(
l) sur le bloc temporel [0 ; N-1] pour l'oreille droite. Ainsi, les coefficients c
BRIR(j ;
l) et c
I(j ;
l) correspondent à la même composante fréquentielle (identifiée par la variable j)
et pourront ainsi être ultérieurement multipliés terme à terme (étape S44).
[0056] Au test T47, on vérifie que la fréquence correspondant à la variable j est inférieure
(par exemple strictement) à la fréquence de coupure fc(
l). Cette fréquence de coupure correspond à la fréquence de coupure du signal I(
l) pour le bloc temporel [0 ; N-1] pour l'oreille droite. Si la fréquence j est inférieure
à la fréquence de coupure fc(
l), on passe à l'étape S44.
[0057] A l'étape S44, on calcul une valeur MULT(j) correspondant à la multiplication des
coefficients c
BRIR(j ;
l) et c (j ;
l). Ces coefficients sont bien multipliés terme à terme car ils correspondent à la
même composante fréquentielle j (pour un même canal, sur un même bloc et pour une
même oreille).
[0058] A l'étape S45, on incrémente cette valeur MULT(j) au signal S à la position de la
fréquence j.
[0059] Ainsi, on procède à une construction pas à pas d'un signal S qui comprend (à la fin
de la boucle de longueur fc(
l)) l'ensemble des composantes fréquentielles jusqu' à la fréquence de coupure fc(
l) (pour ce signal I(
l) sur le bloc [0 ; N-1] et pour une oreille droite). Comme au début de la boucle de
la figure 4, on a déjà toutes les composantes initialisées à 0, à la fin de la boucle,
on a finalement rempli un buffer (initialement nul) jusqu'à la fréquence de coupure
pour construire successivement le signal S. Ainsi, chaque multiplication MULT(j) de
coefficients est ajoutée pas à pas au signal S en construction.
[0060] A l'étape S46, on incrémente la variable j et on reprend à l'étape S42. Si la variable
j est supérieure (par exemple ou égale) à la fréquence de coupure fc(
l), on passe au test T48. Ainsi, on a rempli le signal S sur l'intervalle [0 ; fc(
l)].
[0061] Comme précisé ci-avant, ce signal peut être défini sur un intervalle plus grand que
[0 ; fc(
l)] (par exemple [0 ; fs(
l)/2]). De plus, ce signal avait été initialisé à 0 sur la totalité de son intervalle
de définition. Dès lors, il est nul sur le reste de l'intervalle qui n'a pas été rempli
(par exemple [fc(
l) ; fs(
l)/2]). La complexité est donc ici améliorée car des étapes de remplissage du signal
S n'ont pas été effectuées, ce qui réduit le nombre de calculs nécessaires.
[0062] Au test T48, on vérifie que la variable de comptage
l correspondant au signal I(
l) du canal
l est inférieure (par exemple strictement) au nombre L de canaux. Si la variable
l est inférieure ou égale à L, on incrémente la variable
l à l'étape S49 et on reprend le procédé à l'étape S41. Si la variable
l est supérieure à L, le signal S correspondant au signal spatialisé pour le bloc temporel
[0 ; N-1] pour l'oreille droite est disponible à l'étape S50.
[0063] Ce signal S correspondant au bloc temporel [0 ; N-1] est ensuite sommé aux autres
signaux générés de manière similaire pour d'autres blocs temporels [N ; 2N-1], [2N
; 3N-1], etc., (et pour lesquels un retard approprié a été appliqué conformément à
l'étape DBD ci-avant de la figure 2 par exemple).
[0064] Typiquement, pour construire le bloc [N ; 2N-1], on applique dans le domaine fréquentiel
un filtre correspondant à une fonction de transfert commune à tous les signaux d'entrée
I(
l), représentant le champ diffus, avec une fréquence de coupure fc dans la multiplication
des composantes spectrales qui correspond au minimum entre :
- une fréquence maximale de champ diffus Fc (diffus) comme illustrée sur la figure 3
décrite ci-avant (choisie par exemple entre 10 à 15 kHz pour le bloc m=1 et entre
5 à 10 kHz pour le bloc m=2), et
- la fréquence maximale fmax représentée dans chaque signal d'entrée (par exemple sa
fréquence d'échantillonnage ou la fréquence maximale dont la composante spectrale
n'est pas nulle, cette valeur étant habituellement donnée par un décodeur en compression).
[0065] Il est à noter que la multiplication fréquentielle en s'arrêtant à une fréquence
de coupure donnée (ce qui revient mathématiquement à multiplier par 0 au-delà) n'est
pas triviale pour l'homme de l'art. En effet, dans un contexte de filtrage d'un signal
audio, ce type de filtre passe-bas très violent apporte généralement des artefacts
audibles (dits « d'aliasing »), dus à des phénomènes d'écho ou de pré-écho provenant
du repliement temporel généré par la convolution circulaire, qu'il est généralement
désirable d'éviter. Or, dans le contexte de l'invention, ce filtre passe-bas n'est
pas appliqué au signal audio, mais au filtre BRIR (qui est lui-même convolué au signal
audio) qui est déjà composé de multiples réflexions ; les artefacts produits seront
donc, au pire, perçus comme des réflexions supplémentaires du filtre BRIR d'origine,
et en pratique rarement perceptibles. Il est toutefois possible d'atténuer néanmoins
ces artefacts en modifiant légèrement les fréquences du filtre précédant la fréquence
de coupure (par exemple par atténuation douce par application d'une demifenêtre de
Hanning (type fade out)).
[0066] De manière générale, en référence à la figure 4, on remarquera que deux opérations
sont effectuées dans une même instance de boucle (typiquement un coup d'horloge) :
la multiplication MULT(k) et son ajout au signal S de sortie. Ceci permet notamment
d'implémenter ce procédé sur des processeurs qui ont la possibilité d'effectuer plusieurs
opérations sur une même instance de boucle (typiquement un coup d'horloge) et de réduire
ainsi le temps nécessaire aux calculs.
[0067] On a illustré sur la figure 5 une forme algorithmique complète du traitement, conforme
à la formule donnant un signal de sortie O
k présentée ci-avant :

[0068] Comme indiqué ci-avant les pondérations W
k(
l) et les gains G(I(
l)) peuvent être fixés à 1. On n'a pas représenté sur la figure 5 les gains G(I(
l)) car il convient de lire cette figure comme une intégration des gains aux poids
1/W
k(
l). D'ailleurs, à la conception des filtres, ces deux paramètres sont déterminés, fixés
et multipliés l'un à l'autre une fois pour toutes.