(19)
(11) EP 3 844 981 B1

(12) FASCICULE DE BREVET EUROPEEN

(45) Mention de la délivrance du brevet:
27.09.2023  Bulletin  2023/39

(21) Numéro de dépôt: 19778569.4

(22) Date de dépôt:  22.08.2019
(51) Int. Cl.: 
H04S 7/00(2006.01)
(52) Classification Coopérative des Brevets (CPC) :
H04S 7/302
(86) Numéro de dépôt:
PCT/FR2019/051952
(87) Numéro de publication internationale:
WO 2020/043979 (05.03.2020 Gazette  2020/10)

(54)

PROCÉDÉ POUR UNE RESTITUTION SONORE SPATIALISÉE D'UN CHAMP SONORE AUDIBLE EN UNE POSITION D'UN AUDITEUR SE DÉPLAÇANT ET SYSTÈME METTANT EN OUVRE UN TEL PROCÉDÉ

VERFAHREN ZUR RÄUMLICHEN SCHALLWIEDERGABE EINES SCHALLFELDES, DAS IN EINER POSITION EINES BEWEGTEN ZUHÖRERS HÖRBAR IST, UND SYSTEM ZUR DURCHFÜHRUNG SOLCH EINES VERFAHRENS

METHOD FOR THE SPATIAL SOUND REPRODUCTION OF A SOUND FIELD THAT IS AUDIBLE IN A POSITION OF A MOVING LISTENER AND SYSTEM IMPLEMENTING SUCH A METHOD


(84) Etats contractants désignés:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30) Priorité: 29.08.2018 FR 1857774

(43) Date de publication de la demande:
07.07.2021  Bulletin  2021/27

(73) Titulaire: Orange
92130 Issy-les-Moulineaux (FR)

(72) Inventeurs:
  • ROUSSEL, Georges
    92326 CHÂTILLON CEDEX (FR)
  • NICOL, Rozenn
    92326 CHÂTILLON CEDEX (FR)

(74) Mandataire: Plasseraud IP 
66, rue de la Chaussée d'Antin
75440 Paris Cedex 09
75440 Paris Cedex 09 (FR)


(56) Documents cités: : 
WO-A2-2012/068174
JP-A- 2015 206 989
   
  • Branko Kovacevic ET AL: "Finite Impulse Response Adaptive Filters with Variable Forgetting Factor" In: "Adaptive Digital Filters", 1 janvier 2013 (2013-01-01), Springer Berlin Heidelberg, Berlin, Heidelberg, XP055582442, ISBN: 978-3-642-33561-7 pages 75-108, DOI: 10.1007/978-3-642-33561-7_3,
   
Il est rappelé que: Dans un délai de neuf mois à compter de la date de publication de la mention de la délivrance de brevet européen, toute personne peut faire opposition au brevet européen délivré, auprès de l'Office européen des brevets. L'opposition doit être formée par écrit et motivée. Elle n'est réputée formée qu'après paiement de la taxe d'opposition. (Art. 99(1) Convention sur le brevet européen).


Description


[0001] L'invention se place dans le domaine de l'audio spatialisée et du contrôle de champs sonores. Le procédé a pour but de restituer au moins un champ sonore dans une zone, pour un auditeur, en fonction de la position de l'auditeur. Notamment, le procédé a pour but de restituer le champ sonore en prenant en compte les déplacements de l'auditeur.

[0002] La zone est couverte par un réseau de haut-parleurs, alimentées par des signaux de commande respectifs pour émettre chacun un signal audio en continu. Un poids respectif est appliqué à chaque signal de commande des haut-parleurs afin de restituer le champ sonore suivant la position de l'auditeur. A partir des poids, un jeu de filtres est déterminé, chaque filtre du jeu de filtres correspondant à chaque haut-parleur. Le signal devant être distribué à l'auditeur est alors filtré par le jeu de filtre et diffusé par le haut-parleur correspondant au filtre.

[0003] Les méthodes itératives utilisées se servent des poids calculés à l'itération précédente pour calculer les nouveaux poids. Le jeu de filtres dispose donc d'une mémoire des itérations précédentes. Lors d'un déplacement de l'auditeur, une partie du champ sonore qui a été restitué à l'itération précédente (ou à l'ancienne position de l'auditeur) est absent de la nouvelle position de l'auditeur. Il n'est donc plus contraint et la partie des poids permettant cette restitution précédente n'est plus utile mais reste en mémoire. Autrement dit, le champ sonore restitué en la position précédente de l'auditeur, à l'itération précédente n'est plus utile pour le calcul des poids à la position courante de l'auditeur, ou à l'itération courante, mais reste en mémoire.

[0004] Il est notamment connu du document WO2012/068174 A2 un procédé et un système permettant de produire un signal audio binaural localisé à l'attention d'un utilisateur. Toutefois, ce document ne tient pas compte de la position courante d'un auditeur.

[0005] La présente invention vient améliorer la situation.

[0006] A cet effet, elle propose un procédé assisté par des moyens informatiques selon la revendication 1.

[0007] La présente méthode se base donc directement sur le déplacement de l'auditeur pour faire varier le facteur d'oubli à chaque itération. Cela permet d'atténuer l'effet mémoire dû au calcul des poids aux itérations précédentes. La précision de la restitution du champ en est grandement améliorée, tout en ne nécessitant pas de ressources en calcul trop coûteuses.

[0008] Selon une réalisation, une pluralité de points formant les positions respectives d'une pluralité de microphones virtuels est définie dans la zone pour estimer une pluralité de pressions acoustiques respectives dans la zone en tenant compte du poids respectif appliqué à chaque haut-parleur, comprenant chacun respectivement un facteur d'oubli, et des fonctions de transfert propres à chaque haut-parleur en chaque microphone virtuel, la pluralité de points étant centrée sur la position de l'auditeur.

[0009] De cette manière, la pression acoustique est estimée en une pluralité de points de la zone, entourant l'auditeur. Cela permet d'appliquer des poids à chaque haut-parleur en tenant compte des écarts de pressions acoustiques pouvant survenir en différents points de la zone. L'estimation des pressions acoustiques est donc réalisée de manière homogène et précise autour de l'auditeur, ce qui permet d'accroître la précision de la méthode.

[0010] Selon une réalisation, la zone comprend une première sous-zone dans laquelle le champ sonore choisi est à rendre audible et une deuxième sous-zone dans laquelle le champ sonore choisi est à rendre inaudible, la première sous-zone étant définie dynamiquement comme correspondant à la position de l'auditeur et dudit microphone virtuel, le microphone virtuel étant un premier microphone virtuel, et la deuxième sous-zone étant définie dynamiquement comme étant complémentaire de la première sous-zone, la deuxième sous-zone étant couverte par au moins un deuxième microphone virtuel dont une position est définie dynamiquement en fonction de ladite deuxième sous-zone, le procédé comprenant en outre itérativement :
  • une estimation d'une pression acoustique dans la deuxième sous-zone, au moins en fonction des fonctions de transfert acoustiques, des signaux de commande respectifs des haut-parleurs, et d'un poids initial respectif des signaux de commande des haut-parleurs ;
  • calcul d'une erreur entre ladite pression acoustique estimée dans la deuxième sous-zone et une pression acoustique cible, souhaitée dans la deuxième sous-zone ;
  • calcul et application de poids respectifs aux signaux de commande des haut-parleurs, en fonction de ladite erreur et d'un facteur d'oubli de poids, ledit facteur d'oubli étant calculé en fonction d'un déplacement de l'auditeur, ledit déplacement étant déterminé par une comparaison entre une position précédente de l'auditeur et la position courante de l'auditeur ;
    le calcul de la pression acoustique dans la deuxième sous-zone étant mis en oeuvre à nouveau en fonction des signaux de commande respectifs, pondérés, des haut-parleurs.


[0011] La méthode permet donc de restituer différents champs sonores dans une même zone, en utilisant le même système de haut-parleurs, en fonction d'un déplacement de l'auditeur. Ainsi, à chaque itération, le champ sonore effectivement restitué dans les deux sous-zones est évalué afin qu'à chaque déplacement de l'auditeur, la pression acoustique dans chacune des sous-zones atteigne effectivement la pression acoustique cible. La position de l'auditeur peut permettre de déterminer la sous-zone dans laquelle le champ sonore est à rendre audible. La sous-zone dans laquelle le champ sonore est à rendre inaudible est alors définie dynamiquement à chaque déplacement de l'auditeur. Le facteur d'oubli est donc calculé itérativement pour chacune des deux sous-zones, de sorte que la pression acoustique dans chacune des sous-zones atteigne sa pression acoustique cible.

[0012] Selon une réalisation, la zone comprend une première sous-zone dans laquelle le champ sonore choisi est à rendre audible et une deuxième sous-zone dans laquelle le champ sonore choisi est à rendre inaudible, la deuxième sous-zone étant définie dynamiquement comme correspondant à la position de l'auditeur et dudit microphone virtuel, le microphone virtuel étant un premier microphone virtuel, et la première sous-zone étant définie dynamiquement comme étant complémentaire de la deuxième sous-zone, la première sous-zone étant couverte par au moins un deuxième microphone virtuel dont une position est définie dynamiquement en fonction de ladite première sous-zone, le procédé comprenant en outre itérativement :
  • une estimation d'une pression acoustique dans la deuxième sous-zone, au moins en fonction des fonctions de transfert acoustiques, des signaux de commande respectifs des haut-parleurs, et d'un poids initial respectif des signaux de commande des haut-parleurs ;
  • calcul d'une erreur entre ladite pression acoustique estimée dans la deuxième sous-zone et une pression acoustique cible, souhaitée dans la deuxième sous-zone ;
  • calcul et application de poids respectifs aux signaux de commande des haut-parleurs, en fonction de ladite erreur et d'un facteur d'oubli de poids, ledit facteur d'oubli étant calculé en fonction d'un déplacement de l'auditeur, ledit déplacement étant déterminé par une comparaison entre une position précédente de l'auditeur et la position courante de l'auditeur ;
le calcul de la pression acoustique dans la deuxième sous-zone étant mis en oeuvre à nouveau en fonction des signaux de commande respectifs, pondérés, des haut-parleurs.

[0013] De même, la position de l'auditeur peut permettre de définir la sous-zone dans laquelle le champ sonore est à rendre inaudible. La sous-zone dans laquelle le champ sonore est à rendre audible étant définie dynamiquement comme complémentaire de l'autre sous-zone. Le facteur d'oubli est donc calculé itérativement pour chacune des deux sous-zones, de sorte que la pression acoustique dans chacune des sous-zones atteigne sa pression acoustique cible.

[0014] Selon une réalisation, chaque sous-zone comprend au moins un microphone virtuel et deux haut-parleurs, et de préférence chaque sous-zone comprend au moins une dizaine de microphones virtuels et au moins une dizaine de haut-parleurs.

[0015] Le procédé est donc apte à fonctionner avec une pluralité de microphones et de haut-parleurs.

[0016] Selon une réalisation, une valeur du facteur d'oubli augmente si l'auditeur se déplace et diminue si l'auditeur ne se déplace pas.

[0017] L'augmentation du facteur d'oubli en cas de déplacement de l'auditeur permet d'oublier plus rapidement les poids calculés aux itérations précédentes. Au contraire, la diminution du facteur d'oubli lorsque l'auditeur ne se déplace pas permet de conserver au moins en partie les poids calculés aux itérations précédentes.

[0018] Selon une réalisation, le facteur d'oubli est défini par

avec γ(n) le facteur d'oubli, n l'itération courante, γmax le facteur d'oubli maximal, χ un paramètre défini par le concepteur égal à µ un pas d'adaptation, m une variable définie en fonction d'un déplacement de l'auditeur ayant comme maximum χ et α une variable permettant d'ajuster la vitesse d'augmentation ou de diminution du facteur d'oubli.

[0019] Ainsi, le facteur d'oubli est directement estimé en fonction d'un déplacement de l'auditeur. Notamment, le facteur d'oubli dépend de la distance parcourue à chaque itération par l'auditeur, autrement dit de la vitesse de déplacement de l'auditeur. Un facteur d'oubli différent peut donc être estimé pour chaque auditeur. Les valeurs des variables peuvent également être ajustées au cours des itérations de manière à prendre réellement en compte le déplacement de l'auditeur.

[0020] Selon une réalisation, un pas de montée lu et un pas de descente ld du facteur d'oubli sont définis tels que :
  • si un déplacement de l'auditeur est déterminé, m = min(m + lu, 1)
  • si aucun déplacement de l'auditeur n'est déterminé, m = max(m - ld, 0),
avec 0< lu <1 et 0< ld <1, les pas de montée et de descente étant définis en fonction d'une vitesse de déplacement d'un auditeur et/ou d'une modification du champ sonore choisi à restituer.

[0021] La définition de deux variables distinctes lu et ld permet de choisir les vitesses de réaction de la méthode en fonction du début et/ou de la fin du déplacement de l'auditeur.

[0022] Selon une réalisation, le facteur d'oubli est compris entre 0 et 1.

[0023] Ainsi, cela permet d'oublier les poids précédents en totalité ou de conserver les poids précédents en totalité.

[0024] La présente invention vise aussi un système de restitution sonore spatialisée selon la revendication 10.

[0025] La présente invention vise aussi un support de stockage d'un programme d'ordinateur selon la revendication 11.

[0026] 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 annexés sur lesquels :
  • la figure 1 représente un exemple de système selon un mode de réalisation de l'invention,
  • les figures 2a et 2b illustrent, sous la forme d'un ordinogramme, les principales étapes d'un mode de réalisation particulier du procédé,
  • la figure 3 illustre de façon schématique un mode de réalisation dans lequel deux sous-zones sont définies dynamiquement en fonction des données de géolocalisation d'un auditeur,
  • les figures 4a et 4b illustrent, sous la forme d'un ordinogramme, les principales étapes d'un deuxième mode de réalisation du procédé.


[0027] Les modes de réalisation décrits en référence aux figures peuvent être combinés.

[0028] La figure 1 illustre schématiquement un système SYST selon un exemple de réalisation. Le système SYST comprend un réseau de haut-parleurs HP comprenant N haut-parleurs (HP1,...,HPN), avec N au moins égal à 2, et de préférence au moins égal à 10. Le réseau de haut-parleurs HP couvre une zone Z. Les haut-parleurs HP sont alimentés par des signaux de commande respectifs pour émettre chacun un signal audio en continu, en vue d'une diffusion sonore spatialisée d'un champ sonore choisi dans la zone Z. Plus précisément, le champ sonore choisi est à restituer en une position a1 d'un auditeur U. Les haut-parleurs peuvent être définis par leur position dans la zone. La position a1 de l'auditeur U peut être obtenue au moyen d'un capteur de position POS.

[0029] La zone est en outre couverte par des microphones MIC. Dans un exemple de réalisation, la zone est couverte par un réseau de M microphones MIC, avec M au moins égal à 1 et de préférence au moins égal à 10. Les microphones MIC sont des microphones virtuels. Dans la suite de la description, le terme « microphone MIC » est utilisé. Les microphones MIC sont repérés par leur position dans la zone Z.

[0030] Dans un exemple de réalisation, les microphones virtuels sont définis en fonction de la position a1 de l'auditeur U dans la zone Z. Notamment, les microphones virtuels MIC peuvent être définis de manière à entourer l'auditeur U. Dans cet exemple de réalisation, la position des microphones virtuels MIC change en fonction de la position a1 de l'auditeur U.

[0031] Comme illustré sur la figure 1, le réseau de microphones MIC entoure la position a1 de l'auditeur U. Puis, lorsque l'auditeur U se déplace vers la position a2, le réseau de microphones MIC est redéfini pour entourer la position a2 de l'auditeur. Le déplacement de l'auditeur U est schématisé par la flèche F.

[0032] Le système SYST comprend en outre une unité de traitement TRAIT apte à mettre en oeuvre les étapes du procédé. L'unité de traitement TRAIT comprend notamment une mémoire, formant un support de stockage d'un programme d'ordinateur comprenant des portions de code pour la mise en oeuvre du procédé décrit ci-après en référence aux figures 2a et 2b. L'unité de traitement TRAIT comprend en outre un processeur PROC apte à exécuter les portions de code du programme d'ordinateur.

[0033] L'unité de traitement TRAIT reçoit, en continu et en temps réel, la position des microphones MIC, la position de l'auditeur U, les positions de chaque haut-parleur HP, le signal audio à reproduire S(U) destiné à l'auditeur U et le champ sonore cible Pt à atteindre en la position de l'auditeur. L'unité de traitement TRAIT reçoit en outre la pression acoustique estimée P en la position de l'auditeur U. A partir de ces données, l'unité de traitement TRAIT calcul le filtre FILT à appliquer au signal S afin de restituer le champ sonore cible Pt. L'unité de traitement TRAIT délivre en sortie les signaux filtrés S(HP1...HPN) à diffuser respectivement sur les haut-parleurs HP1 à HPN.

[0034] Les figures 2a et 2b illustrent les principales étapes d'un procédé pour la restitution d'un champ sonore choisi en une position d'un auditeur, lorsque l'auditeur se déplace. Les étapes du procédé sont mises en oeuvre par l'unité de traitement TRAIT de manière continue et en temps réel.

[0035] A l'étape S1, la position de l'auditeur U dans la zone est obtenue au moyen d'un capteur de position. A partir de ces données de géolocalisation, un réseau de microphones virtuels MIC est défini à l'étape S2. Le réseau de microphones virtuels MIC peut prendre toute forme géométrique telle qu'un carré, un cercle, un rectangle... Le réseau de microphones virtuels MIC peut être centré autour de la position de l'auditeur U. Le réseau de microphones virtuels MIC défini par exemple un périmètre de quelques dizaines de centimètres à quelques dizaines de mètres autour de l'auditeur U. Le réseau de microphones virtuels MIC comprend au moins deux microphones virtuels, et de préférence au moins dix microphones virtuels. Le nombre de microphones virtuels ainsi que leur agencement définissent des limites dans la qualité de restitution de la zone.

[0036] A l'étape S3, la position de chaque haut-parleur HP est déterminée. Notamment, la zone comprend un réseau de haut-parleurs comprenant au moins deux haut-parleurs HP. De préférence, le réseau de haut-parleurs comprend une dizaine de haut-parleur HP. Les haut-parleurs HP peuvent être répartis dans la zone de manière à ce que l'intégralité de la zone soit couverte par les haut-parleurs.

[0037] A l'étape S4, une distance entre chaque couple de haut-parleur HP et de microphone MIC est calculée. Cela permet de pouvoir calculer chacune des fonctions de transfert Ftransf, pour chaque couple haut-parleur HP/microphone MIC, à l'étape S5.

[0038] Plus précisément, le champ sonore cible peut être défini comme un vecteur Pt(ω, n) pour l'ensembles des microphones MIC, à chaque instant n pour une pulsation ω = 2πf, f étant la fréquence. Les microphones virtuels MICi à MICM du réseau de microphones virtuels sont disposés aux positions xMIC = [MIC1, ..., MICM] et capturent un ensemble de pressions acoustiques regroupés dans le vecteur P(ω, n).

[0039] Le champ sonore est reproduit par les haut-parleurs (HP1,...,HPN) fixes et ayant comme position respective xHP = [HP1,...,HPN] . Les haut-parleurs (HP1,...,HPN) sont pilotés par un ensemble de poids regroupés dans le vecteur q(ω, n) = [q1(ω, n),...,qN(ω, n)]T. L'exposant T est l'opérateur de transposition.

[0040] Le trajet de propagation du champ sonore entre chaque couple de haut-parleur HP et microphone MIC peut être défini par un ensemble de fonctions de transferts G(ω, n) assemblées dans la matrice

Avec les fonctions de transfert définies comme étant :

, avec Rml la distance entre un couple haut-parleur et microphone, k le nombre d'onde, ρ la masse volumique de l'air et c la célérité du son.

[0041] A l'étape S6, la pression acoustique P est déterminée en la position de l'auditeur U. Plus précisément, la pression acoustique P est déterminée dans le périmètre défini par le réseau de microphones virtuels MIC. De manière encore plus précise, la pression acoustique P est déterminée en chaque microphone virtuel. La pression acoustique P est la pression acoustique issue des signaux diffusés par les haut-parleurs dans la zone. La pression acoustique P est déterminée à partir des fonctions de transfert Ftransf, calculées à l'étape S5, et d'un poids appliqué aux signaux de commande alimentant chaque haut-parleur. Le poids initial appliqué aux signaux de commande de chacun des haut-parleurs est égal à zéro. Cela correspond au poids appliqué à la première itération. Puis, à chaque nouvelle itération, le poids appliqué aux signaux de commande tend à varier, tel que décrit ci-après.

[0042] Dans cet exemple, la pression acoustique P comprend l'ensemble des pressions acoustiques déterminées en chacune des positions des microphones virtuels. Ainsi, la pression acoustique estimée en la position de l'auditeur U est plus représentative. Cela permet d'obtenir un résultat homogène en sortie du procédé.

[0043] L'étape S7 permet de définir la valeur de la pression acoustique cible Pt en la position de l'auditeur U. Plus précisément, la valeur de la pression acoustique cible Pt est initialisée à cette étape. La pression acoustique cible Pt peut être choisie par le concepteur. Elle est ensuite transmise à l'unité de traitement TRAIT sous la forme du vecteur défini ci-avant.

[0044] A l'étape S8, l'erreur entre la pression cible Pt et la pression estimée P en la position de l'auditeur U est calculée. L'erreur peut être due au fait qu'un pas d'adaptation µ est appliqué de manière à ce que la pression cible Pt ne soit pas atteinte immédiatement. La pression cible Pt est atteinte au bout d'un certain nombre d'itérations du procédé. Cela permet de minimiser les ressources en calcul nécessaires pour atteindre la pression cible en la position de l'auditeur U. Cela permet en outre d'assurer la stabilité de l'algorithme. De la même manière, le pas d'adaptation µ est également choisi de sorte que l'erreur calculée à l'étape S8 ait une petite valeur, afin de stabiliser le filtre.

[0045] L'erreur E(n) est calculée comme suit :



[0046] A l'étape S12, le facteur d'oubli γ(n) est calculé afin de calculer les poids à appliquer à chaque signal de commande des haut-parleurs.

[0047] Le facteur d'oubli γ(n) a deux rôles. D'une part, il permet de régulariser le problème. Autrement dit, il permet d'éviter que le procédé ne diverge lorsqu'il est dans un état stationnaire.

[0048] D'autre part, le facteur d'oubli γ(n) permet d'atténuer les poids calculés aux itérations précédentes. Ainsi, lorsque l'auditeur se déplace, les poids précédents n'influent pas sur les poids futurs.

[0049] Le facteur d'oubli γ(n) est déterminé en se basant directement sur un éventuel déplacement de l'auditeur. Ce calcul est illustré aux étapes S9 à S11. A l'étape S9, la position de l'auditeur aux itérations précédentes est récupérée. Il est par exemple possible de récupérer la position de l'auditeur à toutes les itérations précédentes. En variante, il est possible de ne récupérer la position de l'auditeur que pour une partie des précédentes itérations, par exemple les dix dernières ou les cent dernières itérations.

[0050] A partir de ces données, une vitesse de déplacement de l'auditeur est calculée à l'étape S10. La vitesse de déplacement peut être calculée en mètres par itération. La vitesse de l'auditeur peut être nulle.

[0051] A l'étape S 11, le facteur d'oubli γ(n) est calculé selon la formule :

avec γ le facteur d'oubli, n l'itération courante, γmax le facteur d'oubli maximal, χ un paramètre défini par le concepteur égal à µ le pas d'adaptation, m une variable définie en fonction d'un déplacement de l'auditeur ayant comme maximum χ et α une variable permettant d'ajuster la vitesse d'augmentation ou de diminution du facteur d'oubli.

[0052] Le facteur d'oubli γ est borné entre 0 et γmax. Selon cette définition, γmax correspond donc à un pourcentage maximal de poids à oublier entre chaque itération.

[0053] Le choix de la valeur de m est variable au cours des itérations. Il est choisi tel que s'il existe un déplacement de l'auditeur, alors le facteur d'oubli augmente. Lorsqu'il n'y a pas de déplacement, il diminue. Autrement dit, lorsque la vitesse de l'auditeur est positive, le facteur d'oubli augmente et lorsque la vitesse de l'auditeur est nulle il diminue.

[0054] La variable α influe principalement sur la vitesse de convergence du procédé. Autrement dit, il permet de choisir le nombre d'itérations pour lesquelles la valeur maximale γmax et/ou minimale du facteur d'oubli est atteinte.

[0055] La variable m est définie comme suit :
  • si un déplacement de l'auditeur est déterminé, m = min(m + lu, 1)
  • si aucun déplacement de l'auditeur n'est déterminé, m = max(m - ld, 0).


[0056] Les variables lu et ld correspondent respectivement à un pas de montée et un pas de descente du facteur d'oubli. Ils sont définis en fonction de la vitesse de déplacement de l'auditeur et/ou en fonction d'une modification du champ sonore choisi à restituer.

[0057] Notamment, le pas de montée lu a une valeur plus importante si les poids précédents sont à oublier rapidement en cours de déplacement (par exemple dans le cas où la vitesse de déplacement de l'auditeur est importante). Le pas de descente ld a une valeur plus importante si les poids précédents sont complètement à oublier à la fin d'un déplacement de l'auditeur.

[0058] La définition de deux variables lu et ld permet donc de moduler le système. Cela permet de prendre en compte, en temps réel et en continu, le déplacement de l'auditeur. Ainsi, à chaque itération, le facteur d'oubli est calculé en fonction du déplacement réel de l'auditeur, de manière à restituer le champ sonore choisi en la position de l'auditeur.

[0059] A l'étape S12, le facteur d'oubli γ est modifié si nécessaire, en fonction du résultat du calcul de l'étape S 11.

[0060] Le calcul et la modification du facteur d'oubli à l'étape S12 sert à calculer les poids à appliquer aux signaux de commande des haut-parleurs HP. Plus précisément, à la première itération, les poids sont initialisés à zéro (étape S13). Chaque haut-parleur diffuse un signal de commande non pondéré. Puis, à chaque itération, la valeur des poids varie en fonction de l'erreur et du facteur d'oubli (étape S14). Les haut-parleurs diffusent alors un signal de commande pondéré, qui peut être différent à chaque nouvelle itération. Cette modification des signaux de commande explique notamment que la pression acoustique P estimée en la position de l'auditeur U puisse être différente à chaque itération.

[0061] Les nouveaux poids sont calculés à l'étape S14 selon la formule mathématique : q(n + 1) = q(n)(1 - µγ(n)) + µGH(n)(G(n)q(n) - Pt(n)), avec µ le pas d'adaptation pouvant varier à chaque itération et γ(n) le facteur d'oubli pouvant varier. Afin de garantir la stabilité du filtre, il est avantageux d'éviter que le pas d'adaptation µ ne soit supérieur à l'inverse de la plus grande valeur propre de GHG.

[0062] A l'étape S15, les filtres FILT à appliquer aux haut-parleurs sont calculés. Par exemple, un filtre par haut-parleur est calculé. Il peut donc y avoir autant de filtres que de haut-parleurs. Pour obtenir des filtres dans le domaine temporel à partir des poids calculés à l'étape précédente, il est possible d'effectuer une symétrie des poids calculés dans le domaine fréquentiel en prenant leur complexe conjugué. Puis, une transformée de Fourier Inverse est réalisée pour obtenir les filtres dans le domaine temporel. Toutefois, les filtres calculés peuvent ne pas respecter le principe de causalité. Un décalage temporel du filtre, correspondant par exemple à la moitié de la longueur de filtre, peut être réalisé. Ainsi, une pluralité de filtres, par exemple un filtre par haut-parleur, est obtenue.

[0063] A l'étape S16, le signal audio à diffuser à l'auditeur est obtenu. Il est alors possible de réaliser un filtrage en temps réel du signal audio S(U) pour diffuser le signal sur les haut-parleurs. Notamment, le signal S(U) est filtré à l'étape S17 par les filtres calculés à l'étape S15 et diffusé par le haut-parleur correspondant au filtre aux étapes S18 et S19.

[0064] Puis, à chaque itération, les filtres FILT sont calculés en fonction des signaux S(HP1,...,HPN) filtrés, pondérés à l'itération précédente et diffusés par les haut-parleurs, tels que perçus par le réseau de microphones. Les filtres FILT sont appliqués au signal S(U) pour obtenir de nouveaux signaux de commande S(HP1,...,HPN) à diffuser respectivement sur chaque haut-parleur du réseau de haut-parleurs.

[0065] Le procédé est alors relancé à partir de l'étape S6 dans laquelle la pression acoustique en la position de l'auditeur est déterminée.

[0066] Ci-après, un autre mode de réalisation est décrit. Les mêmes références numériques désignent les mêmes éléments.

[0067] Dans ce mode de réalisation, le réseau de haut-parleurs HP couvre une zone comprenant une première sous-zone SZ1 et une deuxième sous-zone SZ2. Les haut-parleurs HP sont alimentés par des signaux de commande respectifs pour émettre chacun un signal audio en continu, en vue d'une diffusion sonore spatialisée d'un champ sonore choisi. Le champ sonore choisi est à rendre audible dans une des sous-zones, et à rendre inaudible dans l'autre sous-zone. Par exemple, le champ sonore choisi est audible dans la première sous-zone SZ1. Le champ sonore choisi est à rendre inaudible dans la deuxième sous-zone SZ2. Les haut-parleurs peuvent être définis par leur position dans la zone.

[0068] Chaque sous-zone SZ peut être définie par la position de l'auditeur U. Il est alors possible de définir, en fonction des données de géolocalisation de l'auditeur, la première sous-zone SZ1, dans laquelle l'auditeur U entend le champ sonore choisi. La sous-zone SZ1 a par exemple des dimensions prédéfinies. Notamment, la première sous-zone peut correspondre à une surface de quelques dizaines de centimètres à quelques dizaines de mètres, dont l'auditeur U est le centre. La deuxième sous-zone SZ2, dans laquelle le champ sonore choisi est à rendre inaudible, peut être définie comme la sous-zone complémentaire.

[0069] En variante, la position de l'auditeur U peut définir, de la même manière que décrite ci-avant, la deuxième sous-zone SZ2. La première sous-zone SZ1 est définie comme complémentaire de la deuxième sous-zone SZ2.

[0070] Selon cette réalisation, une partie du réseau de microphones MIC couvre la première sous-zone SZ1 tandis que l'autre partie couvre la deuxième sous-zone SZ2. Chaque sous-zone comprend au moins un microphone virtuel. Par exemple, la zone est couverte par M microphones M1 à MICM. La première sous-zone est couverte par les microphones MICi à MICN, avec N inférieur à M. La deuxième sous-zone est couverte par les microphones MICN+1 à MICM.

[0071] Les sous-zones étant définies en fonction de la position de l'auditeur, elles évoluent à mesure que l'auditeur se déplace. La position des microphones virtuels évolue de la même manière.

[0072] Plus précisément, et comme illustré sur la figure 3, la première sous-zone SZ1 est définie par la position a1 de l'auditeur U (représentés en traits plein). Le réseau de microphones MIC est défini de manière à couvrir la première sous-zone SZ1. La deuxième sous-zone SZ2 est complémentaire de la première sous-zone SZ1. La flèche F illustre un déplacement de l'auditeur U vers une position a2. La première sous-zone SZ1 est alors redéfinie autour de l'auditeur U (en traits pointillés). Le réseau de microphones MIC est redéfini de manière à couvrir la nouvelle première sous-zone SZ1. Le reste de la zone représente la nouvelle deuxième sous-zone SZ2. Ainsi, la première sous-zone SZ1 définie initialement par la position a1 de l'auditeur se trouve dans la deuxième sous-zone SZ2.

[0073] Ainsi, sur le système illustré figure 3, l'unité de traitement TRAIT reçoit en entrée la position des microphones MIC, les données de géolocalisation de l'auditeur U, les positions de chaque haut-parleur HP, le signal audio à reproduire S(U) destiné à l'auditeur U et les champs sonores cibles Pt1, Pt2 à atteindre dans chaque sous-zone. A partir de ces données, l'unité de traitement TRAIT calcul le filtre FILT à appliquer au signal S(U) afin de restituer les champs sonores cibles Pt1, Pt2 dans les sous-zones. L'unité de traitement TRAIT reçoit également les pressions acoustiques P1, P2 estimées dans chacune des sous-zones. L'unité de traitement TRAIT délivre en sortie les signaux filtrés S(HP1...HPN) à diffuser respectivement sur les haut-parleurs HP1 à HPN.

[0074] Les figures 4a et 4b illustrent les principales étapes du procédé selon l'invention. Les étapes du procédé sont mises en oeuvre par l'unité de traitement TRAIT de manière continue et en temps réel.

[0075] Le procédé a pour but de rendre inaudible le champ sonore choisi dans l'une des sous-zones, par exemple dans la deuxième sous-zone SZ2 tout en suivant le déplacement d'un auditeur dont la position définit les sous-zones. Le procédé est basé sur une estimation de pressions acoustiques dans chacune des sous-zones, de manière à appliquer un niveau de contraste sonore souhaité entre les deux sous-zones. A chaque itération, le signal audio S(U) est filtré en fonction des pressions acoustiques estimées et du niveau de contraste sonore pour obtenir les signaux de commande S(HP1...HPN) à diffuser sur les haut-parleurs.

[0076] A l'étape S20, la position de l'auditeur U est déterminée, par exemple au moyen d'un capteur de position POS. A partir de cette position, les deux sous-zones SZ1, SZ2 sont définies. Par exemple, la première sous-zone correspond à la position de l'auditeur U. La première sous-zone SZ1 est par exemple définie comme étant une zone de quelques dizaines de centimètres à quelques dizaines de mètres de circonférence, dont le premier auditeur U1 est le centre. La deuxième sous-zone SZ2 peut être définie comme étant complémentaire de la première sous-zone SZ1.

[0077] En variante, c'est la deuxième sous-zone SZ2 qui est définie par la position de l'auditeur, la première sous-zone SZ1 étant complémentaire de la deuxième sous-zone SZ2.

[0078] A l'étape S21, le réseau de microphones MIC est défini, au moins un microphone couvrant chacune des sous-zones SZ1, SZ2.

[0079] A l'étape S22, la position de chaque haut-parleur HP est déterminée, tel que décrit ci-avant en référence aux figures 2a et 2b.

[0080] A l'étape S23, une distance entre chaque couple de haut-parleur HP et de microphone MIC est calculée. Cela permet de pouvoir calculer chacune des fonctions de transfert Ftransf, pour chaque couple haut-parleur HP/microphone MIC, à l'étape S4.

[0081] Plus précisément, le champ sonore cible peut être défini comme un vecteur

, pour l'ensembles des microphones MIC, à chaque instant n pour une pulsation ω = 2πf, f étant la fréquence. Les microphones MIC1 à MICM sont disposés aux positions xMIC = [MIC1,...,MICM] et capturent un ensemble de pressions acoustiques regroupés dans le vecteur P(ω, n).

[0082] Le champ sonore est reproduit par les haut-parleurs (HP1,...,HPN) fixes et ayant comme position respective xHP = [HP1,...,HPN] . Les haut-parleurs (HP1,...,HPN) sont pilotés par un ensemble de poids regroupés dans le vecteur q(ω, n) = [q1(ω, n),...,qN(ω, n)]T. L'exposant T est l'opérateur de transposition.

[0083] Le trajet de propagation du champ sonore entre chaque couple de haut-parleur HP et microphone MIC peut être défini par un ensemble de fonctions de transferts G(ω, n) assemblées dans la matrice



[0084] Avec les fonctions de transfert définies comme étant :

, avec Rml la distance entre un couple haut-parleur et microphone, k le nombre d'onde, ρ la masse volumique de l'air et c la célérité du son.

[0085] A l'étape S25, les pressions acoustiques P1 et P2 sont déterminées respectivement dans la première sous-zone SZ1 et dans la deuxième sous-zone SZ2.

[0086] Selon un exemple de réalisation, la pression acoustique P1 dans la première sous-zone SZ1 peut être la pression acoustique issue des signaux diffusés par les haut-parleurs dans la première sous-zone. La pression acoustique P2 dans la deuxième sous-zone, dans laquelle les signaux sonores sont à rendre inaudibles, peut correspondre à la pression acoustique induite issue des signaux diffusés par les haut-parleurs alimentés par les signaux de commande associés à la pression P1 induite dans la première sous-zone.

[0087] Les pressions acoustiques P1, P2 sont déterminées à partir des fonctions de transfert Ftransf calculées à l'étape S24, et d'un poids initial appliqué aux signaux de commande de chaque haut-parleur. Le poids initial appliqué aux signaux de commande de chacun des haut-parleurs est égal à zéro. Puis, le poids appliqué aux signaux de commande tend à varier à chaque itération, tel que décrit ci-après.

[0088] Selon cet exemple de réalisation, les pressions acoustiques P1, P2 comprennent chacun l'ensemble des pression acoustiques déterminées en chacune des positions des microphones virtuels. Ainsi, la pression acoustique estimée dans les sous-zones est plus représentative. Cela permet d'obtenir un résultat homogène en sortie de procédé.

[0089] En variante, une pression acoustique déterminée en une seule position P1 , P2 est respectivement estimée pour la première sous-zone SZ1 et pour la deuxième sous-zone SZ2. Cela permet de limiter le nombre de calculs, et donc de diminuer le temps de traitement et par conséquent la réactivité du système.

[0090] Plus précisément, les pressions acoustiques P1 , P2 dans chacune des sous-zones peuvent être rassemblées sous la forme d'un vecteur défini comme :





[0091] A l'étape S26, les niveaux sonores L1 et L2 sont déterminés respectivement dans la première sous-zone SZ1 et dans la deuxième sous-zone SZ2. Les niveaux sonores L1 et L2 sont déterminés en chaque position des microphones MIC. Cette étape permet de convertir les valeurs des pressions acoustiques estimées P1, P2 en des valeurs mesurables en décibels. De cette manière, le contraste sonore entre la première et la deuxième sous-zone peut être calculé. A l'étape S27, un niveau de contraste sonore souhaité CC entre la première sous-zone et la deuxième sous-zone est défini. Par exemple, le contraste sonore souhaité CC entre la première sous-zone SZ1 et la deuxième sous-zone SZ2 est préalablement défini par un concepteur en fonction du champ sonore choisi et/ou de la perception d'un auditeur U.

[0092] Plus précisément, le niveau sonore L pour un microphone peut être défini par

, avec p0 la pression acoustique de référence, c'est-à-dire le seuil de perception.

[0093] Ainsi, le niveau sonore moyen dans une sous-zone peut être défini comme :

, avec PH la transposée conjuguée du vecteur de pressions acoustiques dans la sous-zone et M le nombre de microphones dans cette sous-zone.

[0094] A partir du niveau sonore L1, L2 dans les deux sous-zones, il est possible de calculer le contraste sonore estimé C entre les deux sous-zones : C = L1 - L2.

[0095] A l'étape S28, la différence entre le contraste sonore estimé entre les deux sous-zones et le contraste sonore souhaité CC est calculée. A partir de cette différence, un coefficient d'atténuation peut être calculé. Le coefficient d'atténuation est calculé et appliqué à la pression acoustique estimée P2 dans la deuxième sous-zone à l'étape S29. Plus précisément, un coefficient d'atténuation est calculé et appliqué à chacune des pressions acoustiques estimées P2 en chacune des positions des microphones MIC de la deuxième sous-zone SZ2. La pression acoustique cible Pt2 dans la deuxième sous-zone prend alors la valeur de la pression acoustique P2 atténuée de la deuxième sous-zone.

[0096] Mathématiquement, la différence Cξ entre le contraste sonore estimé C et le contraste sonore souhaité CC peut être calculée comme suit Cξ = C - CC = L1 - L2 - CC Il est alors possible de calculer le coefficient d'atténuation

.

[0097] Ce coefficient est déterminé par l'amplitude de la pression acoustique à donner à chaque microphone pour que le niveau sonore dans la deuxième sous-zone soit homogène. Lorsque le contraste est équivalent à celui correspondant au contraste sonore souhaité CC pour un microphone dans la deuxième sous-zone, alors Cξ ≈ 0 donc ξ ≈ 1. Cela signifie que la pression acoustique estimée en ce microphone correspond à la valeur de pression cible dans la deuxième sous-zone.

[0098] Lorsque la différence entre le contraste sonore estimé C et le contraste sonore souhaité CC est négative Cξ < 0, cela signifie que le contraste souhaité CC n'est pas encore atteint, et donc qu'une amplitude de pression plus faible est à obtenir en ce microphone.

[0099] Lorsque la différence entre le contraste sonore estimé C et le contraste sonore souhaité CC est positive Cξ > 0, la pression acoustique en ce point est trop faible. Elle doit donc être augmentée pour correspondre au contraste sonore souhaité dans la deuxième sous-zone.

[0100] Le principe est donc d'utiliser le champ de pression présent dans la deuxième sous-zone qui est induit par la pression acoustique dans la première sous-zone, puis d'atténuer ou d'amplifier les valeurs individuelles de pressions acoustiques estimées en chaque microphone, de sorte à ce qu'elles correspondent au champ sonore cible dans la deuxième sous-zone sur l'ensemble des microphones. Pour tous les microphones, on définit le vecteur : ξ = [ξ1,...,ξm,...,ξM]T.

[0101] Ce coefficient est calculé à chaque itération et peut donc évoluer. Il peut donc être écrit sous la forme ξ(n).

[0102] En variante, dans le cas où une unique pression acoustique P2 est estimée pour la deuxième sous-zone SZ2, un seul coefficient d'atténuation est calculé et appliqué à la pression acoustique P2.

[0103] Les coefficients d'atténuation sont calculés de manière à répondre au critère de contraste défini par le concepteur. Autrement dit, le coefficient d'atténuation est défini de sorte que la différence entre le contraste sonore entre les deux sous-zones SZ2 et le contraste sonore souhaité Ce soit proche de zéro.

[0104] Les étapes S30 à S32 permettent de définir la valeur des pressions acoustiques cibles Pt1, Pt2 dans la première et la deuxième sous-zone SZ1, SZ2.

[0105] L'étape S30 comprend l'initialisation des pressions acoustiques cibles Pt1, Pt2, respectivement dans la première et la deuxième sous-zone SZ1, SZ2. Les pressions acoustiques cibles Pt1, Pt2 caractérisent le champ sonore cible à diffuser dans les sous-zones. La pression acoustique cible Pt1 dans la première sous-zone SZ1 est définie comme étant une pression cible Pt1, choisie par le concepteur. Plus précisément, la pression cible Pt1dans la première sous-zone SZ1 est supérieure à zéro, de sorte que le champ sonore cible soit audible dans cette première sous-zone. La pression acoustique cible Pt2 dans la seconde sous-zone est initialisée à zéro. Les pressions cibles Pt1, Pt2 sont ensuite transmises à l'unité de traitement TRAIT à l'étape S31, sous la forme d'un vecteur Pt.

[0106] A chaque itération, on attribue de nouvelles valeurs de pressions cibles aux pressions cibles Pt1, Pt2 déterminées à l'itération précédente. Cela correspond à l'étape S32. Plus précisément, la valeur de la pression cible Pt1dans la première sous-zone est celle définie à l'étape S30 par le concepteur. Le concepteur peut modifier cette valeur à tout moment. La pression acoustique cible Pt2 dans la deuxième sous-zone prend la valeur de la pression acoustique P2 atténuée (étape S29). Cela permet, à chaque itération, de redéfinir le champ sonore cible à restituer dans la deuxième sous-zone, en tenant compte de la perception de l'auditeur et des signaux de commande des haut-parleurs. Ainsi, la pression acoustique cible Pt2 de la deuxième sous-zone n'est égale à zéro que lors de la première itération. En effet, dès lors que les haut-parleurs diffusent un signal, un champ sonore est perçu dans la première sous-zone, mais également dans la deuxième sous-zone.

[0107] Mathématiquement, la pression cible Pt2 dans la deuxième sous-zone est calculée comme suit.

[0108] A la première itération, Pt2 est égale à zéro : Pt2 (0) = 0 .

[0109] A chaque itération, la pression acoustique P2 estimée dans la deuxième sous-zone est calculée. Cette pression acoustique correspond à la pression acoustique induite dans la seconde sous-zone par le rayonnement des haut-parleurs dans la première sous-zone. Ainsi, à chaque itération on a : P2(ω, n) = G2(ω, n)q(ω, n), avec G2(ω, n) la matrice de fonctions de transfert dans la deuxième sous-zone à l'itération n.

[0110] La pression cible Pt2 à l'itération n + 1 peut donc être calculée comme Pt2(n + 1) = ξ(n) × P2.

[0111] A l'étape S33, l'erreur entre la pression cible Pt2 et la pression estimée P2 dans la deuxième sous-zone est calculée. L'erreur est due au fait qu'un pas d'adaptation µ est appliqué de manière à ce que la pression cible Pt2 ne soit pas atteinte immédiatement. La pression cible Pt2 est atteinte au bout d'un certain nombre d'itérations du procédé. Cela permet de minimiser les ressources en calcul nécessaires pour atteindre la pression cible Pt2 dans la deuxième sous-zone SZ2. Cela permet en outre d'assurer la stabilité de l'algorithme. De la même manière, le pas d'adaptation µ est également choisi de sorte que l'erreur calculée à l'étape S33 ait une petite valeur, afin de stabiliser le filtre.

[0112] Le facteur d'oubli γ(n) est ensuite calculé afin de calculer les poids à appliquer à chaque signal de commande des haut-parleurs.

[0113] Comme décrit ci-avant, le facteur d'oubli γ(n) permet de régulariser le problème et d'atténuer les poids calculés aux itérations précédentes. Ainsi, lorsque l'auditeur se déplace, les poids précédents n'influent pas sur les poids futurs.

[0114] Le facteur d'oubli γ(n) est déterminé en se basant directement sur un éventuel déplacement de l'auditeur. Ce calcul est illustré aux étapes S34 à S36. A l'étape S34, la position de l'auditeur aux itérations précédentes est récupérée. Il est par exemple possible de récupérer la position de l'auditeur à toutes les itérations précédentes. En variante, il est possible de ne récupérer la position de l'auditeur que pour une partie des précédentes itérations, par exemple les dix dernières ou les cent dernières itérations.

[0115] A partir de ces données, une vitesse de déplacement de l'auditeur est calculée à l'étape S35. La vitesse de déplacement peut être calculée en mètres par itération. La vitesse de l'auditeur peut être nulle.

[0116] A l'étape S36, le facteur d'oubli γ(n) est calculé selon la formule décrite ci-avant :



[0117] A l'étape S33, le facteur d'oubli γ(n) est modifié si nécessaire, en fonction du résultat du calcul de l'étape S36.

[0118] Le calcul et la modification du facteur d'oubli à l'étape S37 sert à calculer les poids à appliquer aux signaux de commande des haut-parleurs HP. Plus précisément, à la première itération les poids sont initialisés à zéro (étape S38). Chaque haut-parleur diffuse un signal de commande non pondéré. Puis, à chaque itération, la valeur des poids varie en fonction de l'erreur et du facteur d'oubli (étape S39). Les haut-parleurs diffusent alors le signal de commande ainsi pondéré.

[0119] Les poids sont calculés tels que décrit ci-avant en référence aux figures 2a et 2b, selon la formule :



[0120] Les filtres FILT à appliquer aux haut-parleurs sont alors déterminés à l'étape S40. Un filtre par haut-parleur HP est par exemple calculé. Il peut donc y avoir autant de filtres que de haut-parleurs. Le type de filtres appliqués à chaque haut-parleur comprend par exemple une transformée de Fourier inverse.

[0121] Les filtres sont alors appliqués au signal audio à reproduire S(U) qui a été obtenu à l'étape S41. L'étape S41 est une étape d'initialisation, mise en oeuvre uniquement à la première itération du procédé. Le signal audio à reproduire S(U) est destiné respectivement à l'auditeur U. A l'étape 542, les filtres FILT sont appliqués au signal S(U), en vue d'obtenir N signaux de commande S(HP1,...,HPN) filtrés à diffuser respectivement par les haut-parleurs (HP1,...,HPN) à l'étape S43. Les signaux de commande S(HP1,...,HPN) sont diffusés respectivement par chaque haut-parleur (HP1,...,HPN) du réseau de haut-parleurs à l'étape S44. De manière générale, les haut-parleurs HP diffusent les signaux de commande en continu.

[0122] Puis, à chaque itération, les filtres FILT sont calculés en fonction des signaux S(HP1,...,HPN) filtrés à l'itération précédente et diffusés par les haut-parleurs, tels que perçus par le réseau de microphones. Les filtres FILT sont appliqués au signal S(U) pour obtenir de nouveaux signaux de commande S(HP1,...,HPN) à diffuser respectivement sur chaque haut-parleur du réseau de haut-parleurs.

[0123] Le procédé est alors relancé à partir de l'étape S35 dans laquelle les pressions acoustiques P1, P2 des deux sous-zones SZ1, SZ2 sont estimées.

[0124] Bien entendu, la présente invention ne se limite pas aux modes de réalisation décrits ci-avant. Elle s'étend à d'autres variantes.

[0125] Par exemple, le procédé peut être mis en oeuvre pour une pluralité d'auditeurs U1 à UN. Dans ce mode de réalisation, un signal audio S(U1, UN) peut être prévu respectivement pour chaque auditeur. Ainsi, les étapes du procédé peuvent être mises en oeuvre pour chacun des auditeurs, de manière à ce que le champ sonore choisi de chaque auditeur lui soit restitué en sa position, et en tenant compte de ses déplacements. Ainsi, une pluralité de facteurs d'oubli peut être calculée pour chacun des auditeurs.

[0126] Selon une autre variante, le champ sonore choisi est un premier champ sonore, au moins un deuxième champ sonore choisi étant diffusé par le réseau de haut-parleurs HP. Le deuxième champ sonore choisi est audible dans la deuxième sous-zone pour un deuxième auditeur et est à rendre inaudible dans la première sous-zone pour un premier auditeur. Les haut-parleurs sont alimentés par les premiers signaux de commande pour émettre chacun un signal audio en continu correspondant au premier champ sonore choisi, et sont également alimentés par des deuxièmes signaux de commande pour émettre chacun un signal audio en continu correspondant au deuxième champ sonore choisi. Les étapes du procédé telles que décrites ci-avant peuvent être appliquées à la première sous-zone SZ1, de sorte que le deuxième champ sonore choisi soit rendu inaudible dans la première sous-zone SZ1 en tenant compte des déplacements des deux auditeurs.

[0127] Selon un autre exemple de réalisation, les première et deuxième sous-zones ne sont pas complémentaires. Par exemple, dans une zone, une première sous-zone peut être définie par rapport à un premier auditeur U1 et une deuxième sous-zone peut être définie par rapport à un deuxième auditeur U2. Le champ sonore est à rendre audible dans la première sous-zone et inaudible dans la deuxième sous-zone. Le champ sonore dans le restant de la zone peut ne pas être contrôlé.


Revendications

1. Procédé mis en oeuvre par des moyens informatiques, pour une restitution sonore spatialisée à partir d'un réseau de haut-parleurs (HP1, HPN) couvrant une zone (Z), en vue d'une diffusion d'un champ sonore choisi, audible au moins en une position d'au moins un auditeur (U) dans la zone, dans lequel, les haut-parleurs (HP1, HPN) sont alimentés par des signaux de commande (S(HP1,...,HPN)) respectifs pour émettre chacun un signal audio en continu, le procédé comprend itérativement et en continu pour chaque auditeur :

- obtention de la position courante d'un auditeur (U) dans la zone (Z) au moyen d'un capteur de position (CAPT) ;

- détermination de distances entre au moins un point de la zone et des positions respectives des haut-parleurs (HP1,...,HPN) pour en déduire des fonctions de transfert acoustiques respectives des haut-parleurs en ledit point, ledit point correspondant à une position de microphone virtuel (MIC),

- estimation d'une pression acoustique (P) en ledit microphone virtuel (MIC), au moins en fonction des fonctions de transfert acoustiques et d'un poids initial respectif des signaux de commande (S(HP1,...,HPN)) des haut-parleurs (HP1,...,HPN)

- calcul d'une erreur entre ladite pression acoustique estimée (P) et une pression acoustique cible (Pt), souhaitée en ledit microphone virtuel (MIC) ;

- calcul et application de poids respectifs aux signaux de commande (S(HP1,...,HPN)) des haut-parleurs (HP1,...,HPN), en fonction de ladite erreur

caractérisé en ce que le calcul et l'application de poids respectifs aux signaux de commande (S(HP1,...,HPN)) des haut-parleurs (HP1,...,HPN) sont en outre effectués en fonction d'un facteur d'oubli de poids, ledit facteur d'oubli étant calculé en fonction d'un déplacement de l'auditeur, ledit déplacement étant déterminé par une comparaison entre une position précédente de l'auditeur et la position courante de l'auditeur ;

en ce que le calcul de la pression acoustique (P) en la position courante de l'auditeur étant mis en oeuvre à nouveau en fonction des signaux de commande respectifs (S(HP1,...,HPN)), ainsi pondérés, des haut-parleurs (HP1,...,HPN),

en ce que l'estimation d'une pression acoustique (P) en ledit microphone virtuel (MIC) est également effectuée en fonction des signaux de commande (S(HP1,...,HPN)) respectifs des haut-parleurs (HP1,...,HPN),

et en ce qu'une position dudit point est définie dynamiquement en fonction de la position courante de l'auditeur.


 
2. Procédé selon la revendication 1, dans lequel une pluralité de points formant les positions respectives d'une pluralité de microphones virtuels (MIC) est définie dans la zone (Z) pour estimer une pluralité de pressions acoustiques (P) respectives dans la zone en tenant compte du poids respectif appliqué à chaque haut-parleur (HP1,...,HPN), comprenant chacun respectivement un facteur d'oubli, et des fonctions de transfert propres à chaque haut-parleur (HP1,...,HPN) en chaque microphone virtuel (MIC), la pluralité de points étant centrée sur la position de l'auditeur.
 
3. Procédé selon l'une des revendications 1 à 2, dans lequel la zone (Z) comprend une première sous-zone (SZ1) dans laquelle le champ sonore choisi est à rendre audible et une deuxième sous-zone (SZ2) dans laquelle le champ sonore choisi est à rendre inaudible, la première sous-zone (SZ1) étant définie dynamiquement par la position de l'auditeur et dudit microphone virtuel (MIC), le microphone virtuel (MIC) étant un premier microphone virtuel, et la deuxième sous-zone (SZ2) étant définie dynamiquement comme étant complémentaire de la première sous-zone, la deuxième sous-zone (SZ2) étant couverte par au moins un deuxième microphone virtuel dont une position est définie dynamiquement en fonction de ladite deuxième sous-zone (SZ2), le procédé comprenant en outre itérativement :

- une estimation d'une pression acoustique (P2) dans la deuxième sous-zone, au moins en fonction des fonctions de transfert acoustiques, des signaux de commande (S(HP1,...,HPN)) respectifs des haut-parleurs, et d'un poids initial respectif des signaux de commande (S(HP1,...,HPN)) des haut-parleurs ;

- calcul d'une erreur entre ladite pression acoustique estimée (P2) dans la deuxième sous-zone et une pression acoustique cible (Pt2), souhaitée dans la deuxième sous-zone ;

- calcul et application de poids respectifs aux signaux de commande (S(HP1,...,HPN)) des haut-parleurs, en fonction de ladite erreur et d'un facteur d'oubli de poids, ledit facteur d'oubli étant calculé en fonction d'un déplacement de l'auditeur, ledit déplacement étant déterminé par une comparaison entre une position précédente de l'auditeur et la position courante de l'auditeur ;

- le calcul de la pression acoustique (P2) dans la deuxième sous-zone étant mis en oeuvre à nouveau en fonction des signaux de commande respectifs (S(HP1,...,HPN)), ainsi pondérés, des haut-parleurs.


 
4. Procédé selon l'une des revendications 1 à 2, dans lequel la zone (Z) comprend une première sous-zone (SZ1) dans laquelle le champ sonore choisi est à rendre audible et une deuxième sous-zone (SZ2) dans laquelle le champ sonore choisi est à rendre inaudible, la deuxième sous-zone (SZ2) étant définie dynamiquement par la position de l'auditeur et dudit microphone virtuel (MIC), le microphone virtuel (MIC) étant un premier microphone virtuel, et la première sous-zone (SZ1) étant définie dynamiquement comme étant complémentaire de la deuxième sous-zone (SZ2), la première sous-zone (SZ1) étant couverte par au moins un deuxième microphone virtuel (MIC) dont une position est définie dynamiquement en fonction de ladite première sous-zone (SZ1), le procédé comprenant en outre itérativement :

- une estimation d'une pression acoustique (P2) dans la deuxième sous-zone, au moins en fonction des fonctions de transfert acoustiques, des signaux de commande (S(HP1,...,HPN)) respectifs des haut-parleurs, et d'un poids initial respectif des signaux de commande (S(HP1,...,HPN)) des haut-parleurs ;

- calcul d'une erreur entre ladite pression acoustique estimée (P2) dans la deuxième sous-zone et une pression acoustique cible (Pt2), souhaitée dans la deuxième sous-zone (SZ2) ;

- calcul et application de poids respectifs aux signaux de commande (S(HP1,...,HPN)) des haut-parleurs, en fonction de ladite erreur et d'un facteur d'oubli de poids, ledit facteur d'oubli étant calculé en fonction d'un déplacement de l'auditeur, ledit déplacement étant déterminé par une comparaison entre une position précédente de l'auditeur et la position courante de l'auditeur ;

le calcul de la pression acoustique dans la deuxième sous-zone (SZ2) étant mis en oeuvre à nouveau en fonction des signaux de commande respectifs (S(HP1,...,HPN)), pondérés, des haut-parleurs.
 
5. Procédé selon l'une des revendications 3 ou 4, dans lequel chaque sous-zone comprend au moins un microphone virtuel (MIC) et deux haut-parleurs (HP1,...,HPN), et de préférence chaque sous-zone comprend au moins une dizaine de microphones (MIC) virtuels et au moins une dizaine de haut-parleurs (HP1,...,HPN).
 
6. Procédé selon l'une des revendications 1 à 5, dans lequel une valeur du facteur d'oubli :

- augmente si l'auditeur se déplace ;

- diminue si l'auditeur ne se déplace pas.


 
7. Procédé selon l'une des revendications 1 à 6, dans lequel le facteur d'oubli est défini par :

avec γ(n) le facteur d'oubli, n l'itération courante, γmax le facteur d'oubli maximal, χ un paramètre défini égal à µ un pas d'adaptation, m une variable définie en fonction d'un déplacement de l'auditeur ayant comme maximum χ et α une variable permettant d'ajuster la vitesse d'augmentation ou de diminution du facteur d'oubli.
 
8. Procédé selon la revendication 7, dans lequel un pas de montée lu et un pas de descente ld du facteur d'oubli sont définis tels que :

- si un déplacement de l'auditeur est déterminé, m = min(m + lu, 1)

- si aucun déplacement de l'auditeur n'est déterminé, m = max(m - ld, 0),

avec 0< lu <1 et 0< ld <1, les pas de montée et de descente étant définis en fonction d'une vitesse de déplacement d'un auditeur et/ou d'une modification du champ sonore choisi à restituer.
 
9. Procédé selon l'une des revendications 1 à 8, dans lequel le facteur d'oubli est compris entre 0 et 1.
 
10. Système de restitution sonore spatialisée à partir d'un réseau de haut-parleurs couvrant une zone, en vue d'une diffusion d'un champ sonore choisi, audible sélectivement en une position d'un auditeur dans la zone, caractérisé en ce qu'il comprend un capteur de position (CAPT) et une unité de traitement adaptés pour le traitement et la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 9.
 
11. Support de stockage d'un programme d'ordinateur, chargeable dans une mémoire associée à un processeur dans un système selon la revendication 10, et comprenant des portions de code pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 9 lors de l'exécution dudit programme par le processeur.
 


Ansprüche

1. Durch Computermittel implementiertes Verfahren zur räumlichen Schallwiedergabe mit Hilfe eines Netzes von Lautsprechern (HP1, HPN), die einen Bereich (Z) abdecken, mit dem Ziel einer Übertragung eines ausgewählten Schallfelds, das mindestens an einer Position mindestens eines Hörers (U) in dem Bereich hörbar ist, wobei den Lautsprechern (HP1, HPN) jeweilige Steuersignale (S(HP1,...,HPN)) zugeführt werden, damit diese jeweils dauerhaft ein Audiosignal ausgeben, wobei das Verfahren für jeden Hörer iterativ und dauerhaft Folgendes beinhaltet:

- Erhalten der aktuellen Position eines Hörers (U) in dem Bereich (Z) mittels eines Positionssensors (CAPT);

- Bestimmen von Abständen zwischen mindestens einem Punkt des Bereichs und jeweiligen Positionen der Lautsprecher (HP1,...,HPN), um daraus jeweilige akustische Transferfunktionen der Lautsprecher an diesem Punkt abzuleiten, wobei der Punkt einer Position eines virtuellen Mikrofons (MIC) entspricht,

- Schätzen eines Schalldrucks (P) an dem virtuellen Mikrofon (MIC) mindestens in Abhängigkeit von den akustischen Transferfunktionen und einer jeweiligen anfänglichen Gewichtung der Steuersignale (S(HP1,...,HPN)) der Lautsprecher (HP1,...,HPN),

- Berechnen eines Fehlers zwischen dem geschätzten Schalldruck (P) und einem Zielschalldruck (Pt), der an dem virtuellen Mikrofon (MIC) gewünscht ist;

- Berechnen und Anwenden jeweiliger Gewichtungen auf die Steuersignale (S(HP1,...,HPN)) der Lautsprecher (HP1,...,HPN) in Abhängigkeit von dem Fehler,

dadurch gekennzeichnet, dass das Berechnen und Anwenden jeweiliger Gewichtungen auf die Steuersignale (S(HP1,...,HPN)) der Lautsprecher (HP1,...,HPN) ferner in Abhängigkeit von einem Gewichtungsvergessensfaktor durchgeführt wird, wobei der Vergessensfaktor in Abhängigkeit von einer Bewegung des Hörers berechnet wird, wobei die Bewegung durch einen Vergleich zwischen einer vorherigen Position des Hörers und der aktuellen Position des Hörers bestimmt wird;

dass das Berechnen des Schalldrucks (P) an der aktuellen Position des Hörers in Abhängigkeit von den jeweiligen, nun gewichteten, Steuersignalen (S(HP1,...,HPN)) der Lautsprecher (HP1,...,HPN) erneut implementiert wird,

dass das Schätzen eines Schalldrucks (P) an dem virtuellen Mikrofon (MIC) ebenfalls in Abhängigkeit von den jeweiligen Steuersignalen (S(HP1,...,HPN)) der Lautsprecher (HP1,...,HPN) durchgeführt wird

und dass eine Position des Punkts in Abhängigkeit von der aktuellen Position des Hörers dynamisch definiert wird.


 
2. Verfahren nach Anspruch 1, wobei eine Vielzahl von Punkten, die die jeweiligen Positionen einer Vielzahl von virtuellen Mikrofonen (MIC) bilden, in dem Bereich (Z) definiert wird, um an jedem virtuellen Mikrofon (MIC) eine Vielzahl von jeweiligen Schalldrücken (P) in dem Bereich unter Berücksichtigung der jeweiligen Gewichtung, die auf jeden Lautsprecher (HP1,...,HPN) angewendet wird und jeweils einen Vergessensfaktor beinhaltet, und der jedem Lautsprecher (HP1,...,HPN) eigenen Transferfunktionen zu schätzen, wobei die Vielzahl von Punkten auf die Position des Hörers zentriert ist.
 
3. Verfahren nach einem der Ansprüche 1 bis 2, wobei der Bereich (Z) einen ersten Unterbereich (SZ1), in dem das ausgewählte Schallfeld hörbar zu machen ist, und einen zweiten Unterbereich (SZ2), in dem das ausgewählte Schallfeld unhörbar zu machen ist, beinhaltet, wobei der erste Unterbereich (SZ1) durch die Position des Hörers und des virtuellen Mikrofons (MIC) dynamisch definiert wird, wobei das virtuelle Mikrofon (MIC) ein erstes virtuelles Mikrofon ist, und der zweite Unterbereich (SZ2) als zu dem ersten Unterbereich komplementär dynamisch definiert wird, wobei der zweite Unterbereich (SZ2) durch mindestens ein zweites virtuelles Mikrofon abgedeckt wird, dessen Position in Abhängigkeit von dem zweiten Unterbereich (SZ2) dynamisch definiert wird, wobei das Verfahren ferner iterativ Folgendes beinhaltet:

- Schätzen eines Schalldrucks (P2) in dem zweiten Unterbereich mindestens in Abhängigkeit von den akustischen Transferfunktionen, den jeweiligen Steuersignalen (S(HP1,...,HPN)) der Lautsprecher und einer jeweiligen anfänglichen Gewichtung der Steuersignale (S(HP1,...,HPN)) der Lautsprecher;

- Berechnen eines Fehlers zwischen dem geschätzten Schalldruck (P2) in dem zweiten Unterbereich und einem Zielschalldruck (Pt2), der in dem zweiten Unterbereich gewünscht ist;

- Berechnen und Anwenden jeweiliger Gewichtungen auf die Steuersignale (S(HP1,...,HPN)) der Lautsprecher in Abhängigkeit von dem Fehler und einem Gewichtungsvergessensfaktor, wobei der Vergessensfaktor in Abhängigkeit von einer Bewegung des Hörers berechnet wird, wobei die Bewegung durch einen Vergleich zwischen einer vorherigen Position des Hörers und der aktuellen Position des Hörers bestimmt wird;

- wobei das Berechnen des Schalldrucks (P2) in dem zweiten Unterbereich in Abhängigkeit von den jeweiligen, nun gewichteten, Steuersignalen (S(HP1, ...,HPN)) der Lautsprecher erneut implementiert wird.


 
4. Verfahren nach einem der Ansprüche 1 bis 2, wobei der Bereich (Z) einen ersten Unterbereich (SZ1), in dem das ausgewählte Schallfeld hörbar zu machen ist, und einen zweiten Unterbereich (SZ2), in dem das ausgewählte Schallfeld unhörbar zu machen ist, beinhaltet, wobei der zweite Unterbereich (SZ2) durch die Position des Hörers und des virtuellen Mikrofons (MIC) dynamisch definiert wird, wobei das virtuelle Mikrofon (MIC) ein erstes virtuelles Mikrofon ist, und der erste Unterbereich (SZ1) als zu dem zweiten Unterbereich (SZ2) komplementär dynamisch definiert wird, wobei der erste Unterbereich (SZ1) durch mindestens ein zweites virtuelles Mikrofon (MIC) abgedeckt wird, dessen Position in Abhängigkeit von dem ersten Unterbereich (SZ1) dynamisch definiert wird, wobei das Verfahren ferner iterativ Folgendes beinhaltet:

- Schätzen eines Schalldrucks (P2) in dem zweiten Unterbereich mindestens in Abhängigkeit von den akustischen Transferfunktionen, den jeweiligen Steuersignalen (S(HP1,...,HPN)) der Lautsprecher und einer jeweiligen anfänglichen Gewichtung der Steuersignale (S(HP1,...,HPN)) der Lautsprecher;

- Berechnen eines Fehlers zwischen dem geschätzten Schalldruck (P2) in dem zweiten Unterbereich und einem Zielschalldruck (Pt2), der in dem zweiten Unterbereich (SZ2) gewünscht ist;

- Berechnen und Anwenden jeweiliger Gewichtungen auf die Steuersignale (S(HP1,...,HPN)) der Lautsprecher in Abhängigkeit von dem Fehler und einem Gewichtungsvergessensfaktor, wobei der Vergessensfaktor in Abhängigkeit von einer Bewegung des Hörers berechnet wird, wobei die Bewegung durch einen Vergleich zwischen einer vorherigen Position des Hörers und der aktuellen Position des Hörers bestimmt wird;

wobei das Berechnen des Schalldrucks in dem zweiten Unterbereich (SZ2) in Abhängigkeit von den jeweiligen, nun gewichteten, Steuersignalen (S(HP1,...,HPN)) der Lautsprecher erneut implementiert wird.
 
5. Verfahren nach einem der Ansprüche 3 oder 4, wobei jeder Unterbereich mindestens ein virtuelles Mikrofon (MIC) und zwei Lautsprecher (HP1,...,HPN) beinhaltet und vorzugsweise jeder Unterbereich mindestens etwa zehn virtuelle Mikrofone (MIC) und mindestens etwa zehn Lautsprecher (HP1,...,HPN) beinhaltet.
 
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei ein Wert des Vergessensfaktors:

- zunimmt, wenn sich der Hörer bewegt;

- abnimmt, wenn sich der Hörer nicht bewegt.


 
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei der Vergessensfaktor folgendermaßen definiert ist:


wobei γ(n) der Vergessensfaktor ist, n die aktuelle Iteration ist, γmax der maximale Vergessensfaktor ist, X ein Parameter ist, der gleich µ, einem Anpassungsschritt, definiert ist, m eine Variable ist, die in Abhängigkeit von einer Bewegung des Hörers definiert ist und als Maximum X aufweist, und α eine Variable ist, die es gestattet, die Zunahme- oder Abhnamegeschwindigkeit des Vergessensfaktors anzupassen.
 
8. Verfahren nach Anspruch 7, wobei ein Aufwärtsschritt lu und ein Abwärtsschritt ld des Vergessensfaktors so definiert sind, dass:

- wenn eine Bewegung des Hörers bestimmt wird, m = min(m + lu, 1)

- wenn keine Bewegung des Hörers bestimmt wird, m = max(m - ld, 0),

wobei 0 < lu < 1 und 0 < ld < 1, wobei die Aufwärts- und Abwärtsschritte in Abhängigkeit von einer Bewegungsgeschwindigkeit eines Hörers und/oder einer Veränderung des wiederzugebenden ausgewählten Schallfelds definiert werden.
 
9. Verfahren nach einem der Ansprüche 1 bis 8, wobei der Vergessensfaktor zwischen 0 und 1 beträgt.
 
10. System zur räumlichen Schallwiedergabe mit Hilfe eines Netzes von Lautsprechern, die einen Bereich abdecken, mit dem Ziel einer Übertragung eines ausgewählten Schallfelds, das an einer Position eines Hörers in dem Bereich selektiv hörbar ist, dadurch gekennzeichnet, dass es einen Positionssensor (CAPT) und eine Verarbeitungseinheit beinhaltet, die für die Verarbeitung und Implementierung des Verfahrens nach einem beliebigen der Ansprüche 1 bis 9 angepasst sind.
 
11. Speicherungsmedium für ein Computerprogramm, das in einen Speicher geladen werden kann, der mit einem Prozessor in einem System nach Anspruch 10 assoziiert ist, und das Codeabschnitte zur Implementierung eines Verfahrens nach einem beliebigen der Ansprüche 1 bis 9 beinhaltet, wenn das Programm von dem Prozessor ausgeführt wird.
 


Claims

1. Method implemented by computational means, for spatialized audio rendering using an array of loudspeakers (HP1, HPN) covering a region (Z), with a view to diffusing a chosen audio field, audible in at least one position of at least one listener (U) in the region, wherein the loudspeakers (HP1, HPN) are fed with respective command signals (S(HP1,...,HPN)) so as to each continuously emit an audio signal, the method comprises, iteratively and continuously for each listener:

- obtaining the current position of a listener (U) in the region (Z) by means of a position sensor (CAPT);

- determining distances between at least one point of the region and the respective positions of the loudspeakers (HP1,...,HPN), with a view to deducing therefrom respective acoustic transfer functions of the loudspeakers at said point, said point corresponding to a position of a virtual microphone (MIC),

- estimating an acoustic pressure (P) at said virtual microphone (MIC) at least depending on the acoustic transfer functions and on an initial respective weight of the command signals (S (HP1, ..., HPN)) for the loudspeakers (HP1,...,HPN),

- computing an error between said estimated acoustic pressure (P) and a target acoustic pressure (Pt), desired at said virtual microphone (MIC);

- computing and applying respective weights to the command signals (S(HP1,...,HPN)) for the loudspeakers (HP1, ..., HPN), depending on said error,

characterized in that respective weights are furthermore computed and applied to the command signals (S(HP1,...,HPN)) for the loudspeakers (HP1,...,HPN) depending on a weight forgetting factor, said forgetting factor being computed depending on a movement of the listener, said movement being determined by comparison between a previous position of the listener and the current position of the listener;

and in that the acoustic pressure (P) at the current position of the listener is computed again depending on the respective command signals (S(HP1,...,HPN)), thus weighted, for the loudspeakers (HP1,...,HPN),

and in that an acoustic pressure (P) at said virtual microphone (MIC) is also estimated depending on the respective command signals (S(HP1,...,HPN)) for the loudspeakers (HP1,...,HPN),

and in that a current position of said point is defined dynamically depending on the current position of the listener.


 
2. Method according to Claim 1, wherein a plurality of points forming the respective positions of a plurality of virtual microphones (MIC) is defined in the region (Z) with a view to estimating a plurality of respective acoustic pressures (P) in the region taking into account the respective weight applied to each loudspeaker (HP1,...,HPN), each respectively comprising a forgetting factor, and transfer functions specific to each loudspeaker (HP1,...,HPN) at each virtual microphone (MIC), the plurality of points being centred on the position of the listener.
 
3. Method according to either of Claims 1 and 2, wherein the region (Z) comprises a first sub-region (SZ1) in which the chosen audio field is to be made audible and a second sub-region (SZ2) in which the chosen audio field is to be made inaudible, the first sub-region (SZ1) being defined dynamically by the position of the listener and of said virtual microphone (MIC), the virtual microphone (MIC) being a first virtual microphone, and the second sub-region (SZ2) being defined dynamically as being complementary to the first sub-region, the second sub-region (SZ2) being covered by at least one second virtual microphone a position of which is defined dynamically depending on said second sub-region (SZ2), the method furthermore comprising, iteratively:

- estimating an acoustic pressure (P2) in the second sub-region, at least depending on the acoustic transfer functions, on the respective command signals (S(HP1, ..., HPN)) for the loudspeakers and on an initial respective weight of the command signals (S(HP1,...,HPN)) for the loudspeakers;

- computing an error between said estimated acoustic pressure (P2) in the second sub-region and a target acoustic pressure (Pt2), desired in the second sub-region;

- computing and applying respective weights to the command signals (S(HP1,...,HPN)) for the loudspeakers, depending on said error and on a weight forgetting factor, said forgetting factor being computed depending on a movement of the listener, said movement being determined by comparison between a previous position of the listener and the current position of the listener;

- the acoustic pressure (P2) in the second sub-region being computed again depending on the respective command signals (S(HP1,...,HPN)), thus weighted, for the loudspeakers.


 
4. Method according to either of Claims 1 and 2, wherein the region (Z) comprises a first sub-region (SZ1) in which the chosen audio field is to be made audible and a second sub-region (SZ2) in which the chosen audio field is to be made inaudible, the second sub-region (SZ2) being defined dynamically by the position of the listener and of said virtual microphone (MIC), the virtual microphone (MIC) being a first virtual microphone, and the first sub-region (SZ1) being defined dynamically as being complementary to the second sub-region (SZ2), the first sub-region (SZ1) being covered by at least one second virtual microphone (MIC) a position of which is defined dynamically depending on said first sub-region (SZ1), the method furthermore comprising, iteratively:

- estimating an acoustic pressure (P2) in the second sub-region, at least depending on the acoustic transfer functions, on the respective command signals (S(HP1,...,HPN)) for the loudspeakers and on an initial respective weight of the command signals (S(HP1,...,HPN)) for the loudspeakers;

- computing an error between said estimated acoustic pressure (P2) in the second sub-region and a target acoustic pressure (Pt2), desired in the second sub-region (SZ2) ;

- computing and applying respective weights to the command signals (S(HP1,...,HPN)) for the loudspeakers, depending on said error and on a weight forgetting factor, said forgetting factor being computed depending on a movement of the listener, said movement being determined by comparison between a previous position of the listener and the current position of the listener; the acoustic pressure in the second sub-region (SZ2) being computed again depending on the respective, weighted, command signals (S(HP1,...,HPN)) for the loudspeakers.


 
5. Method according to either of Claims 3 and 4, wherein each sub-region comprises at least one virtual microphone (MIC) and two loudspeakers (HP1,...,HPN), preferably each sub-region comprises at least ten virtual microphones (MIC) and at least ten loudspeakers (HP1, ..., HPN) .
 
6. Method according to one of Claims 1 to 5, wherein a value of the forgetting factor:

- increases if the listener moves;

- decreases if the listener does not move.


 
7. Method according to one of Claims 1 to 6, wherein the forgetting factor is defined by:

where γ(n) is the forgetting factor, n is the current iteration, γmax is the maximum forgetting factor, χ is a parameter defined equal to µ, an adaptation pitch, m is a variable defined depending on a movement of the listener having χ as its maximum and α is a variable for adjusting the rate of increase or decrease of the forgetting factor.
 
8. Method according to Claim 7, wherein a rise pitch lu and a fall pitch ld of the forgetting factor are defined such that:

- if movement of the listener is determined,

- if no movement of the listener is determined,

where 0 < lu < 1 and 0 < ld < 1, the rise and fall pitches being defined depending on a speed of movement of a listener and/or a change in the chosen audio field to be rendered.
 
9. Method according to one of Claims 1 to 8, wherein the forgetting factor is between 0 and 1.
 
10. System for spatialized audio rendering using an array of loudspeakers covering a region, with a view to diffusing a chosen audio field, selectively audible in a position of a listener in the region, characterized in that it comprises a position sensor (CAPT) and a processing unit that are designed for processing and implementing the method according to any one of Claims 1 to 9.
 
11. Medium for storing a computer program, loadable into a memory associated with a processor in a system according to Claim 10, and comprising code segments for implementing a method according to any one of Claims 1 to 9 on execution of said program by the processor.
 




Dessins























Références citées

RÉFÉRENCES CITÉES DANS LA DESCRIPTION



Cette liste de références citées par le demandeur vise uniquement à aider le lecteur et ne fait pas partie du document de brevet européen. Même si le plus grand soin a été accordé à sa conception, des erreurs ou des omissions ne peuvent être exclues et l'OEB décline toute responsabilité à cet égard.

Documents brevets cités dans la description