Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
AUDIO ENCODING AND DECODING METHOD AND ASSOCIATED AUDIO ENCODER, AUDIO DECODER AND COMPUTER PROGRAMS
Document Type and Number:
WIPO Patent Application WO/2008/145893
Kind Code:
A2
Abstract:
The invention relates to a method for ordering spectral components of elements to be encoded (A1,..., AQ) originating from an audio scene comprising N signals (Sii=1 to N), in which N>1, an element to be encoded comprising spectral components associated with respective spectral bands. The invention is characterised in that it comprises the following steps: calculation of the respective influence of at least some spectral components that can be calculated as a function of the spectral parameters from at least some of the N signals on the mask-to-noise ratios determined over the spectral bands as a function of the encoding of said spectral components; and allocation of a precedence order to at least one spectral component as a function of the influence calculated for said spectral component compared to the other calculated influences.

Inventors:
MOUHSSINE, Adil (1 rue Michel Behic, BAT 1, Morlaix, F-29600, FR)
BENJELLOUN TOUIMI, Abdellatif (27 Gumbeigh Road, Ealing, London W5 4UX, GB)
Application Number:
FR2008/050671
Publication Date:
December 04, 2008
Filing Date:
April 16, 2008
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (6 place d'Alleray, Paris, Paris, F-75015, FR)
MOUHSSINE, Adil (1 rue Michel Behic, BAT 1, Morlaix, F-29600, FR)
BENJELLOUN TOUIMI, Abdellatif (27 Gumbeigh Road, Ealing, London W5 4UX, GB)
International Classes:
G01L19/00; G01L19/14
Attorney, Agent or Firm:
FRANCE TELECOM/FTR & D/PIV/BREVETS (FROGER Marie-Hélène, 38/40 rue du Général Leclerc, Issy Moulineaux Cedex 9, F-92794, FR)
Download PDF:
Claims:

REVENDICATIONS

1. Procédé d'ordonnancement de composantes spectrales d'éléments à coder (Ai,..., AQ) provenant d'une scène audio comprenant N signaux

(Sii=i à N ), avec N>1 , un élément à coder comportant des composantes spectrales se rapportant à des bandes spectrales respectives, caractérisé en ce qu'il comporte les étapes suivantes : calcul de l'influence respective d'au moins certaines composantes spectrales calculables en fonction de paramètres spectraux issus de certains au moins des N signaux, sur des rapports masque à bruit déterminés sur les bandes spectrales en fonction d'un codage desdites composantes spectrales ; - attribution d'un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées.

2. Procédé selon la revendication 1 , caractérisé en ce que le calcul de l'influence d'une composante spectrale s'effectue selon les étapes : a- codage d'un premier ensemble de composantes spectrales d'éléments à coder selon un premier débit; b- détermination d'un premier rapport masque à bruit par bande spectrale; c- détermination d'un second débit inférieur au dit premier; d- suppression de ladite composante spectrale courante des éléments à coder et codage des composantes spectrales restantes des éléments à coder selon le second débit; e- détermination d'un second rapport masque à bruit par bande spectrale;

f- calcul d'une variation de rapport masque à bruit en fonction des écarts déterminés entre les premier et second rapports masque à bruit pour le premier et le second débit par bande spectrale; g- itération des étapes d à f pour chacune des composantes spectrales de l'ensemble de composantes spectrales d'éléments à coder à ordonner et détermination d'une variation de rapport masque à bruit minimum; l'ordre de priorité attribué à la composante spectrale correspondant à la variation minimum étant un ordre de priorité minimum.

3. Procédé selon la revendication 2, caractérisé en ce que on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner restreint par suppression des composantes spectrales pour lesquelles un ordre de priorité a été attribué.

4. Procédé selon la revendication 2, caractérisé en ce que on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner dans lequel les composantes spectrales pour lesquelles un ordre de priorité a été attribué sont affectées d'un débit de quantification plus réduit lors de l'utilisation d'un quantificateur imbriqué.

5. Procédé selon l'une quelconque des revendications précédentes, selon lequel les éléments à coder comprennent les paramètres spectraux calculés pour les N signaux.

6. Procédé selon l'une quelconque des revendications précédentes, selon lequel les éléments à coder comprennent des éléments (A1 ,..., AQ) obtenus par transformation spatiale des paramètres spectraux calculés pour les N signaux.

7. Procédé selon la revendication 6, selon lequel la transformation spatiale est une transformation ambiophonique.

8. Procédé selon la revendication 6 ou 7, selon lequel on détermine les rapports masque à bruit en fonction des erreurs due au codage et relatives à des éléments à coder, d'une matrice de transformation spatiale et d'une matrice déterminée en fonction de la transposée de ladite matrice de transformation spatiale.

9. Procédé selon l'une quelconque des revendications précédentes et la revendication 6, certaines des composantes spectrales étant alors des paramètres spectraux de composantes ambiophoniques, ledit procédé comportant en outre les étapes suivantes : a. calcul de l'influence respective d'au moins certains desdits paramètres spectraux, sur un vecteur d'angle défini en fonction de vecteurs d'énergie et de vélocité associés à des critères de Gerzon et calculés en fonction d'une transformation ambiophonique inverse sur lesdits composantes ambiophoniques quantifiés; b. attribution d'un ordre de priorité (PrioO) à au moins un paramètre spectral en fonction de l'influence calculée pour ledit paramètre spectral comparé aux autres influences calculées.

10. Module d'ordonnancement (5) comprenant des moyens pour mettre en œuvre un procédé selon l'une des revendications précédentes.

11. Codeur audio (1 ) adapté pour coder une scène audio 3D comprenant N signaux respectifs en un flux binaire de sortie, avec N>1 , comprenant :

un module (3,4) de transformation adapté pour déterminer, en fonction des N signaux, des composantes spectrales se rapportant à des bandes spectrales respectives;

un module (6) d'ordonnancement selon la revendication 10, adapté pour ordonner au moins certaines des composantes spectrales se rapportant à des bandes spectrales respectives; un module (8) de constitution d'une séquence binaire adapté pour constituer une séquence binaire comportant des données indiquant des composantes spectrales se rapportant à des bandes spectrales respectives en fonction de l'ordonnancement effectué par le module d'ordonnancement.

12. Programme d'ordinateur à installer dans un module d'ordonnancement (6), ledit programme comprenant des instructions pour mettre en œuvre les étapes d'un procédé selon l'une quelconque des revendications 1 à 9 lors d'une exécution du programme par des moyens de traitement dudit module.

13. Séquence binaire comportant des composantes spectrales se rapportant à des bandes spectrales respectives d'éléments à coder provenant d'une scène audio comprenant N signaux avec N>1 , caractérisé en ce que certaines au moins des composantes spectrales sont ordonnées selon un procédé d'ordonnancement conforme à l'une des revendications 1 à 9.

Description:

PROCEDE DE CODAGE ET DECODAGE AUDIO, CODEUR AUDIO, DECODEUR AUDIO ET PROGRAMMES D'ORDINATEUR ASSOCIES

La présente invention concerne les dispositifs de codage de signaux audio, destinés notamment à prendre place dans des applications de transmission ou de stockage de signaux audio numérisés et compressés.

L'invention est relative plus précisément aux systèmes de codage hiérarchique audio, ayant la capacité de fournir des débits variés, en répartissant les informations relatives à un signal audio à coder dans des sous- ensembles hiérarchisés, de telle sorte qu'elles puissent être utilisées par ordre d'importance sur le plan de la qualité audio. Le critère pris en compte pour déterminer l'ordre est un critère d'optimisation (ou plutôt de moindre dégradation) de la qualité du signal audio codé. Le codage hiérarchique est particulièrement adapté à la transmission sur des réseaux hétérogènes ou présentant des débits disponibles variables au cours du temps, ou encore à la transmission à destination de terminaux présentant des caractéristiques différentes ou variables.

L'invention concerne plus particulièrement le codage hiérarchique de scène sonore 3D. Une scène sonore 3D comprend une pluralité de canaux audio correspondant à des signaux monophoniques audio et est encore appelée son spatialisé.

Une scène sonore codée est destinée à être reproduite sur un système de rendu sonore, qui peut comprendre un simple casque, deux haut-parleurs d'un ordinateur ou encore un système de type Cinéma maison 5.1 (en anglais « Home Cinéma ») avec cinq haut-parleurs (un haut-parleur au niveau de l'écran et à l'avant de l'auditeur théorique : un haut-parleur à gauche et un haut-parleur à droite ; à l'arrière de l'auditeur théorique : un haut-parleur à gauche et un haut-parleur à droite), etc. Par exemple, considérons une scène sonore d'origine comportant trois sources sonores distinctes, localisées à différents endroits dans l'espace. Les signaux de description de cette scène sonore sont codés. Les données issues de ce codage sont transmises au décodeur, puis sont décodées. Les données décodées sont exploitées afin de générer cinq signaux destinés aux cinq haut-

parleurs du système de rendu sonore. Chacun des cinq haut-parleurs diffusent un des signaux, l'ensemble des signaux diffusés par les haut-parleurs synthétisant la scène sonore 3D et donc positionnant dans l'espace trois sources sonores virtuelles. II existe différentes techniques de codage de scènes sonores.

Par exemple, une technique utilisée comprend la détermination d'éléments de description de la scène sonore, puis des opérations de compression de chacun des signaux monophoniques. Les données issues de ces compressions et les éléments de description sont alors fournis au décodeur.

L'adaptabilité (encore appelée scalabilité) en débit selon cette première technique est donc réalisable, en adaptant le débit lors des opérations de compression, mais elle est réalisée selon des critères d'optimisation de la qualité de chaque signal considéré individuellement. Une autre technique de codage, qui est utilisée dans le codeur

« MPEG Audio Surround » (cf. « Text of ISO/IEC FDIS 23003-1 , MPEG Surround », ISO/IEC JTC1 / SC29 / WG11 N8324, JuIy 2006, Klagenfurt, Austria), comprend l'extraction et le codage de paramètres spatiaux à partir de l'ensemble des signaux audio monophoniques sur les différents canaux. Ces signaux sont ensuite mélangés pour obtenir un signal monophonique ou stéréophonique, qui est alors comprimé par un codeur mono ou stéréo classique (par exemple de type MPEG-4 AAC, HE-AAC, etc). Au niveau du décodeur, la synthèse de la scène sonore 3D se fait à partir des paramètres spatiaux et du signal mono ou stéréo décodé. L'adaptabilité en débit avec cette autre technique est ainsi réalisable en utilisant un codeur mono ou stéréo hiérarchique, mais elle est réalisée selon un critère d'optimisation de la qualité du signal monophonique ou stérophonique.

Par ailleurs, la méthode PSMAC (en anglais « Progressive Syntax-rich Multichannel Audio Codée ») permet de coder les signaux de différents canaux en utilisant la transformée KLT (en anglais « Karhunen Loeve Transform »), utile principalement pour la décorrélation des signaux et qui correspond à une décomposition sur des composantes principales dans un espace représentant

les statistiques des signaux. Elle permet de distinguer les composantes les plus énergétiques des composantes les moins énergétiques.

L'adaptabilité en débit est basée sur une annulation des composantes les moins énergétiques. Toutefois, ces composantes peuvent parfois avoir une grande importance quant à la qualité audio globale.

Ainsi, si les techniques connues donnent de bons résultats en termes d'adaptabilité en débit, aucune ne propose une méthode d'adaptabilité en débit pleinement satisfaisante sur la base d'un critère d'optimisation de la qualité audio globale, en vue de définir des données compressées optimisant la qualité audio globale perçue, lors de la restitution de la scène sonore 3D décodée.

Par ailleurs, aucune des techniques de codage de scène sonore 3D connues ne permet d'adaptabilité en débit sur la base d'un critère d'optimisation de la résolution spatiale, lors de la restitution de la scène sonore 3D. Cette adaptabilité permet de garantir que chaque réduction de débit dégradera le moins possible la précision de la localisation des sources sonores dans l'espace, ainsi que la dimension de la zone de restitution, qui doit être la plus large possible autour de la tête de l'auditeur.

En outre, aucune des techniques de codage de scène sonore 3D connues ne permet d'adaptabilité en débit qui permette de garantir directement une qualité optimale quel que soit le système de rendu sonore utilisé pour la restitution de la scène sonore 3D. Les algorithmes de codage actuels sont définis pour optimiser la qualité par rapport à une configuration particulière du système de rendu sonore. En effet, par exemple dans le cas du codeur « MPEG Audio Surround » décrit ci-dessus mis en œuvre avec un codage hiérarchique, une écoute directe sur casque ou deux haut-parleurs, ou encore en monophonique est possible. Si on souhaite exploiter le flux binaire compressé avec un système de rendu sonore de type 5.1 ou 7.1 , il faut mettre en œuvre des traitements supplémentaires au niveau du décodeur, par exemple à l'aide de boîtiers OTT (en anglais « One-To-Two ») pour générer les cinq signaux à partir des deux signaux décodés. Ces boîtiers permettent d'obtenir le nombre désiré de signaux dans le cas d'un système de rendu sonore de type 5.1 ou 7.1 , mais ne permettent pas de reproduire l'aspect

spatial réel. En outre, ces boîtiers ne garantissent pas l'adaptabilité à des systèmes de rendu sonores autres que ceux du type 5.1 et 7.1. La présente invention vient améliorer la situation. A cet effet la présente invention vise à proposer, suivant un premier aspect, un procédé d'ordonnancement de composantes spectrales d'éléments à coder provenant d'une scène audio comprenant N signaux avec N>1 , un élément à coder comportant des composantes spectrales se rapportant à des bandes spectrales respectives.

Le procédé comporte les étapes suivantes : - calcul de l'influence respective d'au moins certaines composantes spectrales calculables en fonction de paramètres spectraux issus de certains au moins des N signaux, sur des rapports masque à bruit déterminés sur les bandes spectrales en fonction d'un codage desdites composantes spectrales ; attribution d'un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées. Un procédé selon l'invention permet ainsi d'ordonner par ordre d'importance quant à la qualité audio globale des composantes d'élément à coder.

Une séquence binaire est constituée après comparaison entre elles des différentes composantes spectrales des différents éléments à coder de la scène globale comparées entre elles sur le plan de leur apport quant à la qualité audio globale perçue. L'interaction entre signaux est ainsi prise en compte pour les comprimer de façon conjointe.

Le flux binaire peut ainsi être ordonné de manière à ce que chaque réduction de débit dégrade le moins possible la qualité audio globale perçue de la scène sonore 3D, puisque les éléments les moins importants sur le plan de leur apport au niveau de la qualité audio globale sont détectés, afin de pouvoir ne pas être insérés (lorsque le débit alloué pour la transmission est insuffisant pour transmettre toutes les composantes des éléments à coder) ou être mis en

fin de séquence binaire (permettant de minimiser les défauts générés par une troncature ultérieure).

Dans un mode de réalisation, le calcul de l'influence d'une composante spectrale s'effectue selon les étapes : a- codage d'un premier ensemble de composantes spectrales d'éléments à coder selon un premier débit; b- détermination d'un premier rapport masque à bruit par bande spectrale; c- détermination d'un second débit inférieur au dit premier; d- suppression de ladite composante spectrale courante des éléments à coder et codage des composantes spectrales restantes des éléments à coder selon le second débit; e- détermination d'un second rapport masque à bruit par bande spectrale; f- calcul d'une variation de rapport masque à bruit en fonction des écarts déterminés entre les premier et second rapports masque à bruit pour le premier et le second débit par bande spectrale; g- itération des étapes d à f pour chacune des composantes spectrales de l'ensemble de composantes spectrales d'éléments à coder à ordonner et détermination d'une variation de rapport masque à bruit minimum; l'ordre de priorité attribué à la composante spectrale correspondant à la variation minimum étant un ordre de priorité minimum.

Un tel processus permet ainsi de déterminer au moins une composante d'un élément à coder qui est la moins importante sur le plan de l'apport à la qualité audio globale, comparée à l'ensemble des autres composantes d'éléments à coder à ordonner. Dans un mode de réalisation, on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner restreint par suppression des composantes spectrales pour lesquelles un ordre de priorité a été attribué.

Dans un autre mode de réalisation, on réitère les étapes a à g avec un ensemble de composantes spectrales d'éléments à coder à ordonner dans lequel les composantes spectrales pour lesquelles un ordre de priorité a été

attribué sont affectées d'un débit de quantification plus réduit lors de l'utilisation d'un quantificateur imbriqué.

Dans un mode de réalisation, les éléments à coder comprennent les paramètres spectraux calculés pour les N canaux. Ce sont alors, par exemple, les composantes spectrales des signaux qui sont codées directement.

Dans un autre mode de réalisation, les éléments à coder comprennent des éléments obtenus par transformation spatiale, par exemple de type ambiophonique, appelé en anglais « ambisonic », des paramètres spectraux calculés pour les N signaux. Cette disposition permet d'une part de réduire le nombre de données à transmettre puisque, en général, les N signaux peuvent être décrits d'une manière très satisfaisante par un nombre de composantes ambiophoniques réduit (par exemple, un nombre égal à 3 ou 5), inférieur à N. Cette disposition permet en outre une adaptabilité à tout type de système de rendu sonore, puisqu'il suffit au niveau du décodeur, d'appliquer une transformée ambiophonique inverse de taille Q'x(2p'+1 ), (où Q' est égal au nombre de haut-parleurs du système de rendu sonore utilisé en sortie du décodeur et 2p'+1 le nombre de composantes ambiophoniques reçues), pour déterminer les signaux à fournir au système de rendu sonore, tout en préservant la qualité audio globale. Dans un mode de réalisation, on utilise à la place de la transformée spatiale d'autres transformées linéaires telles que KLT etc.

Dans un mode de réalisation, on détermine les rapports masque à bruit en fonction des erreurs due au codage et relatives à des éléments à coder et en fonction en outre d'une matrice de transformation spatiale et d'une matrice déterminée en fonction de la transposée de ladite matrice de transformation spatiale.

Dans un mode de réalisation, des éléments à coder sont des composantes ambiophoniques, certaines des composantes spectrales étant alors des paramètres spectraux de composantes ambiophoniques. Le procédé comporte les étapes suivantes: a. calcul de l'influence de certaines au moins desdites composantes spectrales, sur un vecteur d'angle défini en fonction de vecteurs d'énergie et de vélocité associés à des

critères de Gerzon et calculés en fonction d'une transformation ambiophonique inverse sur lesdits composantes ambiophoniques quantifiés; b. attribution d'un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées.

Un procédé selon l'invention permet ainsi d'ordonner certains au moins des paramètres spectraux de composantes ambiophoniques de l'ensemble à ordonner, en fonction de leur importance relative sur le plan de l'apport à la précision spatiale.

La résolution spatiale ou précision spatiale mesure la finesse de la localisation des sources sonores dans l'espace. Une résolution spatiale accrue permet une localisation plus fine des objets sonores dans la pièce et permet d'avoir une zone de restitution plus large autour de la tête de l'auditeur.

Les interactions entre signaux et leur conséquence sur le plan de la précision spatiale sont prises en compte pour les comprimer de façon conjointe.

Le flux binaire peut ainsi être ordonné de manière à ce que chaque réduction de débit dégrade le moins possible la précision spatiale perçue de la scène sonore 3D, puisque les éléments les moins importants sur le plan de leur apport sont détectés, afin d'être mis en fin de séquence binaire (permettant de minimiser les défauts générés par une troncature ultérieure).

Dans un mode de réalisation d'un tel procédé, on exploite, de la façon indiquée ci-dessous, les angles ξ v et ξ E associés aux vecteurs vélocité V et énergie é des critères de Gerzon pour identifier des éléments à coder les moins pertinents sur le plan de l'apport, en termes de précision spatiale, à la scène sonore 3D. Ainsi contrairement à l'usage habituel, les vecteurs vélocité

V et énergie é ne sont pas utilisés pour optimiser un système de rendu sonore considéré.

Dans un mode de réalisation, le calcul de l'influence d'un paramètre spectral s'effectue selon les étapes suivantes :

a- codage d'un premier ensemble de paramètres spectraux de composantes ambiophoniques à coder selon un premier débit; b- détermination d'un premier vecteur d'angle par bande spectrale; c- détermination d'un second débit inférieur au dit premier; d- suppression dudit paramètre spectral courant des composantes à coder et codage des paramètres spectraux restants des composantes à coder selon le second débit; e- détermination d'un second vecteur d'angle par bande spectrale; f- calcul d'une variation de vecteur d'angle en fonction des écarts déterminés entre les premier et second vecteurs d'angle pour le premier et le second débit par bande spectrale; g- itération des étapes d à f pour chacun des paramètres spectraux de l'ensemble de paramètres spectraux de composantes à coder à ordonner et détermination d'une variation de vecteur d'angle minimum; l'ordre de priorité attribué au paramètre spectral correspondant à la variation minimum étant un ordre de priorité minimum.

Cette disposition permet, en un nombre limité de calculs, de déterminer le paramètre spectral de la composante à déterminer dont l'apport à la précision spatiale est minimum.

Dans un mode de réalisation, on réitère les étapes a à g avec un ensemble de paramètres spectraux de composantes à coder à ordonner restreint par suppression des paramètres spectraux pour lesquelles un ordre de priorité a été attribué. Dans un autre mode de réalisation, on réitère les étapes a à g avec un ensemble de paramètres spectraux de composantes à coder à ordonner dans lequel les paramètres spectraux pour lesquels un ordre de priorité a été attribué sont affecté d'un débit de quantification plus réduit lors de l'utilisation d'un quantificateur imbriqué. De tels processus itératifs permettent d'identifier successivement, parmi les paramètres spectraux des composantes ambiophoniques auxquels

n'ont pas encore été affectés des ordres de priorité, ceux qui apportent le moins sur le plan de la précision spatiale.

Dans un mode de réalisation, une première coordonnée du vecteur

d'énergie est fonction de la formule , une seconde coordonnée

V i≤ι≤0 Ti 2 sin^ du vecteur d'énergie est fonction de la formule — — — , une première

V ι≤ ≤0 Ti cos ξ coordonnée du vecteur de vélocité est fonction de la formule et

σ l≤'≤Q Ti une seconde coordonnée du vecteur de vélocité est fonction de la formule

V , < <0 Ti sin ξ

" , dans lesquelles les Ti, i=1 à Q, représentent les signaux

σ l≤'≤Q Ti déterminés en fonction de la transformation ambiophonique inverse sur lesdits paramètres spectraux quantifiés selon le débit considéré et les ξ ι i=1 à Q, sont des angles déterminés.

Dans un mode de réalisation, une première coordonnée d'un vecteur d'angle indique un angle fonction du signe de la deuxième coordonnée du vecteur de vélocité et de l'arccosinus de la première coordonnée du vecteur de vélocité et selon lequel une deuxième coordonnée d'un vecteur d'angle indique un angle fonction du signe de la deuxième coordonnée du vecteur d'énergie et de l'arccosinus de la première coordonnée du vecteur d'énergie.

Suivant un second aspect, l'invention propose un module d'ordonnancement comprenant des moyens pour mettre en œuvre un procédé suivant le premier aspect de l'invention.

Suivant un troisième aspect, l'invention propose un codeur audio adapté pour coder une scène audio 3D comprenant N signaux respectifs en un flux binaire de sortie, avec N>1 , comprenant : un module de transformation adapté pour déterminer, en fonction des N signaux, des composantes spectrales se rapportant à des bandes spectrales respectives;

un module d'ordonnancement suivant le deuxième aspect de l'invention, adapté pour ordonner au moins certaines des composantes spectrales se rapportant à des bandes spectrales respectives; - un module de constitution d'une séquence binaire adapté pour constituer une séquence binaire comportant des données indiquant des composantes spectrales se rapportant à des bandes spectrales respectives en fonction de l'ordonnancement effectué par le module d'ordonnancement. Suivant un quatrième aspect, l'invention propose un programme d'ordinateur à installer dans un module d'ordonnancement, ledit programme comprenant des instructions pour mettre en œuvre les étapes d'un procédé suivant le premier aspect de l'invention lors d'une exécution du programme par des moyens de traitement dudit module. Suivant un cinquième aspect, l'invention propose un procédé de décodage d'un flux binaire, codé selon un procédé suivant le premier aspect de l'invention, en vue de déterminer un nombre Q' de signaux audio pour la restitution d'une scène audio 3D à l'aide de Q' haut-parleurs, selon lequel : on reçoit une séquence binaire ; - on extrait les données de codage et on détermine en fonction desdites données extraites un ensemble de paramètres qui se rapportent à des bandes spectrales respectives pour chacun des Q' canaux ; on détermine au moins une trame de signal en fonction de chaque ensemble de paramètres.

Suivant un sixième aspect, l'invention propose un décodeur audio adapté pour décoder un flux binaire codé selon un procédé suivant le premier aspect de l'invention, en vue de déterminer un nombre Q' de signaux audio pour la restitution d'une scène audio 3D à l'aide de Q' haut-parleurs, comprenant des moyens pour mettre en œuvre les étapes d'un procédé suivant le quatrième aspect de l'invention.

Suivant un septième aspect, l'invention propose un programme d'ordinateur à installer dans un décodeur adapté pour décoder un flux binaire codé selon un procédé suivant le premier aspect de l'invention, en vue de déterminer un nombre Q' de signaux audio pour la restitution d'une scène audio 3D à l'aide de Q' haut-parleurs, ledit programme comprenant des instructions pour mettre en œuvre les étapes d'un procédé suivant le quatrième aspect de l'invention lors d'une exécution du programme par des moyens de traitement dudit décodeur.

Suivant un huitième aspect, l'invention propose une séquence binaire comportant des composantes spectrales se rapportant à des bandes spectrales respectives d'éléments à coder provenant d'une scène audio comprenant N signaux avec N>1 , caractérisé en ce que certaines au moins des composantes spectrales sont ordonnées selon un procédé d'ordonnancement suivant le premier aspect de l'invention. D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : la figure 1 représente un codeur dans un mode de réalisation de l'invention ; - la figure 2 représente un décodeur dans un mode de réalisation de l'invention ; la figure 3 illustre la propagation d'une onde plane dans l'espace ; la figure 4 est un organigramme représentant des étapes d'un premier processus Prod dans un mode de réalisation de l'invention ; la figure 5a représente une séquence binaire construite dans un mode de réalisation de l'invention ; la figure 5b représente une séquence binaire Seq construite dans un autre mode de réalisation de l'invention ; la figure 6 est un organigramme représentant des étapes d'un second processus Proc2 dans un mode de réalisation de l'invention ;

la figure 7 représente un exemple de configuration d'un système de rendu sonore comprenant 8 haut-parleurs h1 , h2,..., h8 ; la figure 8 représente une chaîne de traitement ; - la figure 9 comporte une deuxième chaîne de traitement ; la figure 10 représente une troisième chaîne de traitement ; la figure 11 est un organigramme représentant des étapes d'un processus Proc dans un mode de réalisation de l'invention.

La figure 1 représente un codeur audio 1 dans un mode de réalisation de l'invention.

Le codeur 1 comprend un module 3 de transformation temps/fréquence, un module 7 de calcul de courbe de masquage, un module 4 de transformation spatiale, un module 5 de définition des éléments à coder les moins pertinents combiné avec un module 10 de quantification, un module 6 d'ordonnancement des éléments, un module 8 de constitution d'une séquence binaire, en vue de la transmission d'un flux binaire φ.

Une scène sonore 3D comprend N canaux sur chacun un signal respectif S1 , ... , SN est délivré.

La figure 2 représente un décodeur audio 100 dans un mode de réalisation de l'invention.

Le décodeur 100 comprend un module 104 de lecture de séquence binaire, un module 105 de quantification inverse, un module 101 de transformation ambiophonique inverse, un module 102 de transformation fréquence/temps.

Le décodeur 100 est adapté pour recevoir en entrée le flux binaire φ transmis par le codeur 1 et pour délivrer en sortie Q' signaux S'1 , S'2, ..., S'Q' destinés à alimenter les Q' haut-parleurs H1 , H2 ..., HQ' respectifs d'un système de rendu sonore 103.

A chaque haut-parleur Hi, i=1 à Q', est associé un angle βi indiquant l'angle de propagation acoustique depuis le haut-parleur.

Opérations réalisées au niveau du codeur :

Le module 3 de transformation temps/fréquence du codeur 1 reçoit en entrée les N signaux S1 ,..., SN de la scène sonore 3D à coder.

Chaque signal Si, i = 1 à N, est représenté par la variation de sa pression omnidirectionnelle acoustique Pi et l'angle θi de propagation de l'onde acoustique dans l'espace de la scène 3D.

Sur chaque trame temporelle de chacun de ces signaux indiquant les différentes valeurs prises au cours du temps par la pression acoustique Pi, le module 3 de transformation temps/fréquence effectue une transformation temps/fréquence, dans le cas présent, une transformée en cosinus discrète modifiée (MDCT).

Ainsi il détermine, pour chacun des signaux Si, i=1 à N, sa représentation spectrale Xi, caractérisée par M coefficients MDCT X(i, j), avec j= 0 à M-1. Un coefficient MDCT X(i,j) représente ainsi le spectre du signal Si pour la bande de fréquence Fj.

Les représentations spectrales Xi des signaux Si, i= 1 à N, sont fournies en entrée du module 4 de transformation spatiale, qui reçoit en outre en entrée les angles θi de propagation acoustique caractérisant les signaux d'entrée Si. Les représentations spectrales Xi des signaux Si, i= 1 à N, sont en outre fournies en entrée du module 7 de calcul des courbes de masquage.

Le module 7 de calcul de courbe de masquage est adapté pour déterminer la courbe de masquage spectrale de chaque signal Si considéré individuellement, à l'aide de sa représentation spectrale Xi et d'un modèle psychoacoustique, ce qui fournit un niveau de masquage pour chaque bande de fréquence Fj, j=0 à M-1 de chaque représentation spectrale Xi. Les éléments de définition de ces courbes de masquages sont délivrés au module 5 de définition des éléments à coder les moins pertinents.

Le module 4 de transformation spatiale est adapté pour effectuer une transformation spatiale des signaux d'entrée fournies, c'est-à-dire déterminer les composantes spatiales de ces signaux résultant de la projection sur un référentiel spatial dépendant de l'ordre de la transformation. L'ordre d'une

transformation spatiale se rattache à la fréquence angulaire selon laquelle elle « scrute » le champ sonore.

Dans un mode de réalisation, le module 4 de transformation spatiale effectue une transformation ambiophonique, qui donne une représentation spatiale compacte d'une scène sonore 3D, en réalisant des projections du champ sonore sur les fonctions harmoniques sphériques ou cylindriques associées.

Pour plus d'information sur les transformations ambiophoniques, on pourra se référer aux documents suivants : « Représentation de champs acoustiques, application à la transmission et à la reproduction de scènes sonores complexes dans un contexte multimédia », Thèse de doctorat de l'université Paris 6, Jérôme DANIEL, 31 juillet 2001 , « A highly scalable spherical microphone array based on an orthonormal décomposition of the sound field », Jens Meyer - Gary Elko, Vol. Il - pp. 1781-1784 in Proc. ICASSP 2002.

En référence à la figure 3, la formule suivante donne la décomposition en harmoniques cylindriques à un ordre infini d'un signal Si de la scène sonore :

Si(r, φ) = Pi.[J 0 (kr) + ∑2.j m J m (kr).(cosm.θi.cos m.φ + smm.θi.sm m.φ) ]

où (J m ) représentent les fonctions de Bessel, r la distance entre le centre du repère et la position d'un auditeur placé en un point M, Pi la pression acoustique du signal Si, θi l'angle de propagation de l'onde acoustique correspondant au signal Si et φ l'angle entre la position de l'auditeur et l'axe du repère. Si la transformation ambiophonique est d'ordre p (p entier positif quelconque), pour une transformation ambiophonique 2D (selon le plan horizontal), la transformée ambiophonique d'un signal Si exprimée dans le domaine temporel comprend alors les 2p+1 composantes suivantes :

(Pi, Pi.cosθi, Pi.sinθi, Pi.cos2θi, Pi.sin2θi, Pi.cos3θi, Pi.sin3θi, ..., Pi.cospθi, Pi.sinpθi).

Dans ce qui suit, il a été considéré une transformation ambiophonique 2D. Néanmoins l'invention peut être mise en œuvre avec une transformation

ambiophonique 3D (dans un tel cas, on considère que les haut-parleurs sont disposés sur une sphère).

Les composantes ambiophoniques Ak, k=1 à Q = 2p + 1, considérées dans le domaine fréquentiel, comportent chacune M paramètres spectraux A(kj), j= 0 à M-1 se rapportant respectivement aux bandes Fj telles que : si A est la matrice comportant les composantes Ak, k=1 à Q issues de la transformation ambiophonique d'ordre p des signaux Si, i= 1 à N, Amb(p) est la matrice de transformation ambiophonique d'ordre p pour la scène sonore spatiale, et X est la matrice des composantes fréquentielles des signaux Si, i= 1 à N, alors :

A(l,0) λ(l,l) A(I, M-I) A(2,0) A(2, Af-I)

A=

A(Q,0) A(Q,\) A(Q 5 Af-I)

Amb(p)=[Amb(p)(U)l, avec i=1 à Q et j=1 à N, avec: Amb(p)(1,j)= 1,

θ. si i impair, soit

1 V2cos# 2 y[2œsθ N V2sin# 2 4lûnθ N V2cos2# 2 yfïœs2θ N

yf2cospθ 2 . . j2cospθ N y/2ήnpθ 2 . . 4ïύr\pθ N

et on a A= Amb(p) x X Equation (1 ).

Le module 4 de transformation spatiale est adapté pour déterminer la matrice A, à l'aide de l'équation (1 ) en fonction des données X(i, j) et θi (i=1 à N, j= 0 à M-1 ) qui lui sont fournies en entrée.

Dans le cas particulier considéré, les composantes ambiophoniques Ak, k=1 à Q, soit les paramètres A(k, j), k=1 à Q et j=0 à M-1 , de cette matrice A 1 sont les éléments à coder par le codeur 1 dans une séquence binaire.

Les composantes ambiophoniques Ak, k=1 à Q, sont délivrées au module 5 de définition des éléments les moins pertinents pour quantification et détermination d'un ordonnancement des composantes ambiophoniques.

Ce module 5 de définition des éléments les moins pertinents est adapté pour mettre en œuvre des opérations, suite à l'exécution sur des moyens de traitement du module 5, d'un premier algorithme et/ou un second algorithme, en vue de définir des éléments à coder les moins pertinents et d'ordonner les éléments à coder entre eux.

Cet ordonnancement des éléments à coder est utilisé ultérieurement lors de la constitution d'une séquence binaire à transmettre.

Le premier algorithme comprend des instructions adaptées pour mettre en œuvre, lorsqu'elles sont exécutées sur les moyens de traitement du module 5, les étapes du processus Prod décrit ci-dessous en référence à la figure 4.

Processus Prod

Le principe du processus Prod est le suivant : on calcule l'influence respective d'au moins certaines composantes spectrales calculables en fonction de paramètres spectraux issus de certains au moins des N signaux, sur des rapports masque à bruit déterminés sur les bandes spectrales en

fonction d'un codage desdites composantes spectrales. Puis on attribue un ordre de priorité à au moins une composante spectrale en fonction de l'influence calculée pour ladite composante spectrale comparée aux autres influences calculées.

Dans un mode de réalisation, le processus Prod détaillé est le suivant:

Initialisation

• Etape 1a: Dans cette étape, on définit un premier débit Do=D max et une allocation de parties de ce débit D 0 entre les éléments à coder A(kj), (k, j) e E 0 = {(k, j) tel que £ = l à. Q et j = 0 àλf -l} . On nomme d k j le débit attribué à l'élément à coder A(kj), [k, JJ e E 0 , lors de cette allocation (la somme de ces débits d k j| k =1 ào, j=oà M-i est égale à D 0 ) et S 0 = min<i t ; pour (£, j) <≡ E 0 . Puis les éléments à coder A(kj), (fc, j) <≡ E 0 , sont quantifiés par le module 10 de quantification en fonction de l'allocation définie pour le débit Do.

• Etape 1b :

Ensuite, on calcule le rapport entre le masque et l'erreur (ou bruit) de quantification (« Mask to noise Ratio » en anglais ou MNR) pour chaque signal Si et pour chaque sous-bande Fj, avec i= 1 à N et j = 0 à M-1 , qui est égal à la puissance du masque du signal Si dans la bande Fj divisée par la puissance du bruit de quantification (E(i,j)) relative au signal Si dans cette bande Fj.

Pour ce faire, on détermine d'abord l'erreur de quantification b(k,j) dans chaque bande Fj des éléments à coder A(k,j), (έ,j) e E 0 , de la façon suivante : b(k,j) = A(k,j) - A (k, j) , avec A(k, j) le résultat de la quantification, puis quantification inverse de l'élément A(k,j) (en général la quantification fournit un indice de quantification indiquant la valeur de l'élément quantifié dans un dictionnaire, le quantificateur inverse fournit la valeur de l'élément quantifié en fonction de l'indice). Puis on détermine l'erreur de quantification E(i,j) dans chaque bande Fj pour chaque signal Si avec i= 1 à N et j = 0 à M-1 , due à la quantification des

éléments à coder selon le débit D 0 , en calculant la matrice E comportant les éléments E (ij) :

E = \ (Ambfp).Ambfp)V .Ambfp) t .B, Equation (2)

où Q= 2p+1 , Amb(p) est la matrice de transformation ambiophonique d'ordre p et

£(1,0) £(1,1) E(l, M -l)

£(2,0) E(2,l) £(2, M -I)

E= - [E(Jj)] i= 1 à N, j = O à M-1 θt

E(N,0) . E(N, M -I)

W) b(i,i) b(\,M - \) b(2,0) b(2,M ~ l)

B= - [b(k,j)]k=1 à Q, j=0 à M-1

b(Q,0) b(Q,\) . . . b(Q,M - \)

Puis le rapport entre le masque et l'erreur de quantification pour chaque signal Si et pour chaque bande Fj, avec i= 1 à N et j = 0 à M-1 est déterminé en fonction du bruit de quantification Eξ(iJ) ainsi calculé relatif au signal Si dans cette bande Fj et du masque du signal Si dans la bande Fj fourni par le module 7 de calcul de masque.

On appelle MNR(O, D 0 ) la matrice telle que l'élément (i,j) de la matrice MNR(O 1 Do), i= 1 à N et j = 0 à M-1 , indique le rapport entre le masque et l'erreur de quantification pour le signal Si et pour la bande Fj pour la quantification précédemment effectuée.

Avant de décrire l'itération n°1 du processus Prod , on indique ci- dessous comment l'équation (2) a été déterminée.

La figure 8 représente une chaîne de traitement 200 comportant un module 201 de transformation ambiophonique d'ordre p (similaire au module 4 de transformation ambiophonique d'ordre p de la figure 1 ) suivi d'un module

202 de transformation ambiophonique inverse d'ordre p. Le module 201 de transformation ambiophonique d'ordre p reçoit en entrée les représentations spectrales X1 ,..., XN des signaux S1 , ..., SN, effectue sur ces signaux une transformation ambiophonique d'ordre p, délivre les signaux ambiophoniques obtenus A1 à AQ au module 202 de transformation ambiophonique inverse d'ordre Q, lequel délivre N signaux de pressions acoustiques respectives FIi, i=1 à N.

On a alors où Amb(p) est la

matrice de transformation ambiophonique d'ordre p et Amblnv(p) est la matrice de transformation ambiophonique inverse d'ordre p (encore appelée matrice de décodage ambiophonique) .

La figure 9 représente une chaîne de traitement 210 comportant le module 201 de transformation ambiophonique d'ordre p suivi d'un module 203 de quantification, puis un module 204 de quantification inverse, et d'un module 202 de transformation ambiophonique inverse d'ordre p. Le module 201 de transformation ambiophonique d'ordre p en entrée de la chaîne de traitement 210 reçoit en entrée les représentations spectrales X1 ,..., XN des signaux S1 , ..., SN et délivre les signaux ambiophoniques obtenus A1 à AQ, qui sont fournis en entrée du module 203 de quantification. Les signaux Al , ..., AQ sont les signaux délivrés au module 202 de transformation ambiophonique inverse par le module 204 de quantification inverse, résultant de la quantification inverse effectuées sur les signaux délivrés par le module 203 de quantification. Le module 202 de transformation ambiophonique inverse d'ordre Q délivre N signaux de pressions acoustiques respectives ITi, i=1 à N. La chaîne de traitement 210 de la figure 9 fournit les mêmes pressions acoustiques ITi de sortie que la chaîne de traitement 211 représentée en figure 10, dans laquelle le module 201 de transformation ambiophonique d'ordre p se situe entre le module de quantification inverse 204 et le module 202 de transformation ambiophonique inverse d'ordre p. Dans la chaîne de traitement 211 , le module 203 de quantification en entrée de la chaîne de traitement 211

reçoit en entrée les représentations spectrales X1 , ..., XN, les quantifie puis délivre le résultat de cette quantification au module 204 de quantification inverse, qui délivre les N signaux Zl , ..., XN . Ces signaux Zl , ..., XN sont ensuite fournis aux modules 201 et 202 de transformation ambiophonique et de transformation ambiophonique inverse mis en cascade. Le module 202 de transformation ambiophonique inverse d'ordre p délivre les N signaux de pressions acoustiques respectives ITi, i=1 à N.

On peut alors écrire :

Amb(p) x E,

Soit E = {Amblnv(

Par ailleurs, AmbInv(p) x B.

Donc on en déduit : E = (Amblnv(p) x Amb{p) ) λ AmbInv(p) x B.

Dans le cas où la matrice de décodage ambiophonique correspond à un système à haut-parleurs réguliers, on a Amblnv(p) = — Amb(p)' (en fait, les

N erreurs de quantification E ou B_ne dépendent que du codage effectué et non du décodage. Ce qui changera au niveau du décodage, en fonction de la matrice de décodage utilisée correspondant au système de haut-parleurs utilisé, c'est la façon dont l'erreur sera répartie entre les haut-parleurs. Cela est

dû au fait que la psychoacoustique utilisée ne prend pas en compte les interactions entre les signaux. Donc si le calcul est fait pour une matrice de décodage bien définie et que le module de quantification optimise l'erreur pour cette matrice, alors pour les autres matrices de décodage l'erreur sera sous- optimale).

On en déduit donc l'équation (2).

Revenons à la description de la figure 4.

Itération n°1 : - Etape 1c :

On définit maintenant un deuxième débit Di de codage, avec Di=D 0 - S 0 , et une répartition de ce débit Di bits de codage entre les éléments à coder

A(kj), k=1 à Q et J=O a M-L

• Etape 1d : Ensuite, pour chaque couple (k, j) e E 0 , considéré successivement depuis le couple (1 ,0) jusqu'au couple (Q,M-1 ) selon l'ordre de lecture lexicographique des couples de E 0 , on réitère les opérations ai à a7 suivantes : ai- on considère que la sous-bande (k,j) est supprimée pour les opérations a2 à a5 ; a2- les éléments à coder A(i,n), avec (i,n) e E 0 \(k, j) (c'est-à-dire (i,n) égal à chacun des couples de E 0 à l'exception du couple (k,j)) sont quantifiés par le module 10 de quantification en fonction d'une répartition définie du débit Di entre lesdits éléments à coder A(i,n), avec (i, w) e E 0 \ (fc, j) ; a3- de la même façon qu'indiquée à l'étape 1b, on calcule à partir des éléments A (i,n) , (i,n) e E 0 \(k, j) issus des opérations de quantification effectuées à l'étape a2, la matrice MNR k ,j(1 ,Di) = [MNR k j(1 ,Di) (i, t)] i= 1 à N et t = o à M-i telle que chaque élément MNR k j(1 ,Di) (i, t) de la matrice indique le rapport entre le masque et l'erreur (ou bruit) de quantification pour chaque signal Si et pour chaque sous-bande Ft, avec i= 1 à N et t = 0 à M-1 suite à la quantification effectuée à l'étape a2 (la sous-bande (k,j) étant considérée

comme supprimée, le bruit de quantification b(k,j) a été considéré nul dans les calculs). On mémorise les valeurs prises par les éléments de cette matrice MNR k J(I 1 D 1 ) ; a4- puis, on calcule et on mémorise la matrice δMNR kj (1) de variation de rapport entre le masque et l'erreur de quantification

δMNR t>; (l) = MNR^ (I 5 D 1 ) - MNR*,, (0,D 0 ) ; avec MNR i>; (θ,D o ) est la matrice MNR(O 1 Do) dont on a supprimé l'élément d'indice (kj) a5- on calcule une norme |δMNR kJ (l)| de cette matrice δMNR k j(1 ). La valeur de cette norme évalue l'impact, sur l'ensemble des rapports signal à bruit des signaux Si, de la suppression de la composante A(k,j) parmi les éléments à coder A(i,n), avec (i,n) <≡ E 0 .

La norme calculée permet de mesurer l'écart entre MNR kj (1 ,Di) et

MNRt ; (0,D 0 ) et est par exemple égale à la racine carrée de la somme de chaque élément de la matrice δMNRkj(1 ) élevé au carré. a6- on considère que la sous-bande (kj) n'est plus supprimée ; a7- si (kj) ≠ maχE 0 = (Q,M-1 ), on incrémente le couple (kj) dans E 0 et on réitère les étapes ai à a7 jusqu'à atteindre maχE 0 .

• Etape 1e : On détermine (hji) correspondant à la valeur la plus petite parmi les valeurs |δMNR kJ (l)| , obtenues pour (k, j) ≡ E 0 , soit :

(/ 1 , j 1 ) = arg ( minJ|δMNR, ,; (l)| .

L'élément à coder A(H ji) est ainsi identifié comme l'élément le moins pertinent quant à la qualité audio globale parmi l'ensemble des éléments à coder A(i j) avec (ï, j) e E 0

• Etape 1f :

L'identifiant du couple (h ji) est délivrée au module d'ordonnancement 6 en tant que résultat de la première itération du processus Prod .

• Etape 1q :

On supprime alors la bande (ii Ji), de l'ensemble des éléments à coder dans la suite du processus Prod . On définit l'ensemble E 1 =

Itération 2 et suivantes :

Des étapes similaires aux étapes 1c à 1g sont effectuées pour chaque itération n, n>2, comme décrit ci-après.

• Etape 1c : on définit maintenant un (n+1)ième débit D n de codage, avec D n = D n _ 1 n _ 1 tel que δ n _ γ = min(d y ) , pour (*, ./) <= E n-1 .

• Etape 1d : ensuite, pour chaque couple (fc, j) e E n l et considéré successivement selon l'ordre lexicographique, on réitère les opérations suivantes ai à a7 : ai- on considère que la sous-bande (k,j) est supprimée dans les opérations a2 à a5 ; a2- les éléments à coder A(i,n), avec (i,n) e E B _ 1 \{(k, j)} sont quantifiés par le module 10 de quantification en fonction d'une répartition du débit D n entre les éléments à coder A(i,n), avec (i,n) ; a3- on calcule à partir des éléments A (i,n) , (i,n) e E n _ 1 \{(k, j)} déterminés en fonction de la quantification à l'étape a2, la matrice MNR k ,j(n, D n ) indiquant le rapport entre le masque et l'erreur (ou bruit) de quantification pour chaque signal Si et pour chaque sous-bande Fj, avec i= 1 à N et j = 0 à M-1 , suite à la quantification effectuée à l'étape a2 ; a4- puis on calcule et on mémorise la matrice de variation de rapport entre le masque et l'erreur de quantification

δMNR, ; («) = MNR, ; (n,D n ) - MNR*,, (n-l 5 D n J L avec MNR*,, (n-l 5 D n J correspond à la matrice MNR (n-l,D n J dont on a supprimé l'élément d'indice (k,j), et une norme |δMNR kJ (n)| de cette matrice δMNR k,j (n). La valeur de cette norme évalue l'impact, sur l'ensemble des rapports signal à bruit des

signaux Si, de la suppression de la composante A(kj) parmi les éléments à coder A(i,n), avec (i,n) ≡ E n _ 1 \{(k,j)} . a5- on considère que la sous-bande (kj) n'est plus supprimée ; a6- si (k, j) ≠ maχE n ] , on incrémente le couple (kj) dans E H _ 7 et on réitère les étapes ai à a6 jusqu'à atteindre maχE H 7 Etape 1e : on détermine (i n j n ) correspondant à la valeur la plus petite parmi les valeurs obtenues |δMNR kJ (n)| , pour (k, j) e E n _ 1 , soit

n , j n ) = arg min IIAMNR^ ; («)|| . On mémorise aussi la matrice

MNR (n,D n ) = MNR, ; (n,D n ) . L'élément à coder A(J n J n ) est ainsi identifié comme l'élément le moins pertinent quant à la qualité audio globale parmi l'ensemble des éléments à coder A(ij), tels que (i, j> E B l Etape 1f : l'identifiant du couple (i n j n ) est délivrée au module d'ordonnancement 6 en tant que résultat de la nième itération du processus Prod . Etape 1g : on supprime alors la bande (i n j n ), de l'ensemble des éléments à coder dans la suite du processus Prod . On définit l'ensemble E n = E n _ 1 \{(i n , j n )} .

On réitère le processus Prod r fois et au maximum Q * M-1 fois. Des indices de priorité sont ainsi ensuite attribués par le module 6 d'ordonnancement aux différentes bandes de fréquence, en vue de l'insertion des données de codage dans une séquence binaire.

Ordonnancement des éléments à coder et constitution d'une séquence binaire sur la base des résultats successivement fournies par les itérations successives du processus Prod :

Dans un mode de réalisation où l'ordonnancement des éléments à coder est réalisé par le module 6 d'ordonnancement sur la seule base des résultats successivement fournies par les itérations successives du processus

Prod mis en œuvre par le module 5 de définition des éléments à coder les moins pertinents à l'exclusion des résultats fournis par le processus Proc2, ce

dernier définit un ordre desdits éléments à coder, traduisant l'importance des éléments à coder sur le plan de la qualité audio globale.

En référence à la figure 5a, l'élément à coder A(h,ji) correspondant au couple (h,ji) déterminé lors de la première itération de Prod est considéré le moins pertinent sur le plan de la qualité audio globale. Il lui est donc affecté un indice de priorité minimale Priol par le module 5.

L'élément à coder A(i 2 ,J2) correspondant au couple (i 2 ,J2) déterminé lors de la deuxième itération de Prod , est considéré comme l'élément à coder le moins pertinent sur le plan de la qualité audio globale, après celui affecté à la priorité Priol . Il lui est donc affecté un indice de priorité minimale Prio2, avec

Prio2 > Priol . Lorsque le nombre r d'itération du processus est strictement inférieur à Q*M-1 , le module 6 d'ordonnancement ordonne ainsi successivement r éléments à coder affectés chacun à des indices de priorité croissants Priol , Prio2 à Prio r. Les éléments à coder n'ayant pas été affectés à un ordre de priorité au cours d'une itération du processus Prod sont plus importants sur le plan de la qualité audio globale que les éléments à coder auxquels ont été affectés des ordres de priorité.

Lorsque r est égal à Q * M -1 fois, tous les éléments à coder sont ordonnées un à un. Dans ce qui suit, on considère que le nombre d'itérations r du processus Prod effectuées est égal à Q * M -1 fois.

L'ordre de priorité affecté à un élément à coder A(kj) est également affecté à l'élément codé A(k, j) résultant d'une quantification de cet élément à coder. Le module 8 de constitution de la séquence binaire constitue une séquence binaire correspondant à une trame de chacun des signaux Si, i=1 à

N en y intégrant successivement des éléments codés A(k, j) par ordre décroissant d'indices de priorité attribués, la séquence binaire étant à transmettre dans le flux binaire φ. Ainsi la séquence binaire constituée est ordonnée conformément à l'ordonnancement effectué par le module 6.

La séquence binaire est ainsi constituée de composantes spectrales se rapportant à des bandes spectrales respectives, d'éléments à coder provenant

d'une scène audio comprenant N signaux avec N>1 , et qui sont ordonnés en fonction de leur influence sur des rapports masque à bruit déterminés sur les bandes spectrales.

Les composantes spectrales de la séquence binaire sont par exemple ordonnées selon le procédé de l'invention.

Dans un mode de réalisation, seules certaines des composantes spectrales comprises dans la séquence binaire constituée sont ordonnées à l'aide d'un procédé selon l'invention.

Dans le mode de réalisation considéré ci-dessus, une suppression d'une composante spectrale d'un élément à coder A(i,j) a lieu à chaque itération de l'algorithme Prod .

Dans un autre mode de réalisation, on utilise un quantificateur imbriqué pour les opérations de quantification. Dans un tel cas, la composante spectrale d'un élément à coder A(iojo) identifié n'est pas supprimé, mais un débit réduit est affecté au codage de cette composante par rapport au codage des autres composantes spectrales d'éléments à coder restant à ordonner.

Le codeur 1 est ainsi un codeur permettant une adaptabilité en débit prenant en compte les interactions entre les différents signaux monophoniques. Il permet de définir des données compressées optimisant la qualité audio globale perçue.

Les opérations d'ordonnancement des éléments de la séquence binaire et de constitution de la séquence binaire à l'aide du processus Prod ont été décrites ci-dessus pour un mode de réalisation de l'invention dans lequel les éléments à coder comprennent les composantes ambiophoniques des signaux.

Dans un autre mode de réalisation, un codeur selon l'invention ne code pas ces composantes ambiophoniques, mais les coefficients spectraux X(i,j), j= O a M, des signaux Si.

Dans un tel cas, on affecte à la première itération du processus 1 par exemple, un indice de priorité minimum (minimum parmi les éléments restant à ordonner) à l'élément à coder X(h, ji) tel que la suppression de la composante spectrale X(h, ji) donne lieu à une variation minimale de rapport masque à bruit. Puis on réitère le processus Prod .

Processus Proc2

Les critères de Gerzon sont généralement utilisés pour caractériser la localisation des sources sonores virtuelles synthétisées par la restitution de signaux depuis les haut-parleurs d'un système de rendu sonore donné.

Ces critères reposent sur l'étude des vecteurs de vélocité et d'énergie des pressions acoustiques générées par un système de rendu sonore utilisé.

Lorsqu'un système de rendu sonore comprend L haut-parleurs, les signaux, i=1 à L, générés par ces haut-parleurs, sont définies par une pression acoustique Ti et un angle de propagation acoustique ξ ι .

Le vecteur de vélocité V est alors défini ainsi :

II existe un couple de coordonnées polaires (r v , ξ v ) tel que :

V = Equation (3) y v = r v ήn ξ v

Le vecteur d'énergie è est défini ainsi :

II existe un couple de coordonnées polaires (r E , ξ E ) tel que

1≤i≤L Ti 2 cos ξ t

= r E cos ξ E

∑ i≤ώ ^ "2

E = Equation (4) ∑ ι≤ι≤L Ti 2 sm ξ t

= r E ύn ξ E

∑ ^ î1 ' '

Les conditions nécessaires pour que la localisation des sources sonores virtuelles soit optimale se définissent en cherchant les angles ξ ι , caractérisant la position des haut-parleurs du système de rendu sonore considéré, vérifiant les critères ci-dessous, dits critères de Gerzon, qui sont : - critère 1 , relatif à la précision de l'image sonore de la source S en basses fréquences : ξ v = ξ ; où est ξ l'angle de propagation de la source S réelle qu'on cherche à atteindre.

- critère 2, relatif à la stabilité de l'image sonore de la source S en basses fréquences : r v = 1 ; - critère 3, relatif à la précision de l'image sonore de la source S en hautes fréquences : ξ E = ξ ;

- critère 4, relatif à la stabilité de l'image sonore de la source S en hautes fréquences : r E = 1.

Les opérations décrites ci-dessous dans un mode de réalisation de l'invention utilisent les vecteurs de Gerzon dans une application autre que celle consistant à rechercher les meilleurs angles ξ ι , caractérisant la position des haut-parleurs du système de rendu sonore considéré.

Les critères de Gerzon reposent sur l'étude des vecteurs de vélocité et d'énergie des pressions acoustiques générées par un système de rendu sonore utilisé.

Chacune des coordonnées Xv, yv, XE, yE indiquées dans les équations 3 et 4 relatives aux vecteurs d'énergie et vélocité associés aux critères de Gerzon est élément de [-1 ,1]. Donc il existe un unique couple (ξ v , ξ E ) vérifiant les équations suivantes, correspondant au cas parfait (r v , r E ) = (1 ,1 ) :

- cosξ E et .

Les angles ξ v et ξ E de ce couple unique sont donc définis par les équations suivantes (équations (5)):

& = s ig n ( % ). arccos( % )

σ l ≤l <L Tl σ l ≤l <L Tl

). arccos( )

On appellera par la suite vecteur d'angles de Gerzon généralisé le

vecteur ξ tel que ξ = 'ξv

Le deuxième algorithme comprend des instructions adaptées pour mettre en œuvre, lorsqu'elles sont exécutées sur des moyens de traitement du module 5, les étapes du processus Proc2 décrit ci-dessous en référence à la figure 6.

Le principe du processus Proc2 est le suivant : on calcule l'influence de chaque paramètre spectral, parmi un ensemble de paramètres spectraux à ordonner, sur un vecteur d'angle défini en fonction de vecteurs d'énergie et de vélocité associés à des critères de Gerzon et calculés en fonction d'une transformation ambiophonique inverse sur lesdits composantes ambiophoniques quantifiés. Et on attribue un ordre de priorité à au moins un paramètre spectral en fonction de l'influence calculée pour ledit paramètre spectral comparé aux autres influences calculées.

Dans un mode de réalisation, le processus Proc2 détaillé est le suivant: Initialisation (n=0) - Etape 2a :

On définit un débit D 0 =Dm 3x et une allocation de ce débit entre les éléments à coder A(kj), pour (k,j) e E 0 = {(k,j) tel que k=1 à Q et j=0 à M-1}.

On nomme dkj le débit attribué à l'élément à coder A(kj), (k,j) e E 0 , lors de cette allocation initiale (la somme de ces débits d k j| i =1 à Q , J= O à M - I est égale à D 0 ) et S 0 = min d k j, pour (k,j) e E 0 .

- Etape 2b :

Puis chaque élément à coder A(kj), (kj) e E 0 est quantifié par le module 10 de quantification en fonction du débit dkj qui lui a été alloué à l'étape 2a.

A_ est la matrice des éléments A(k, j) , k=1 à Q et j=0 à M-1. Chaque élément A(k, j) est le résultat de la quantification, avec le débit dkj, du paramètre A(kj), relative à la bande spectrale Fj, de la composante ambiophonique A(k). L'élément A(k, j) définit donc la valeur quantifiée de la représentation spectrale pour la bande de fréquence Fj, de la composante ambiophonique Ak considérée.

A (1,0) λ(l,l) A (1,Af - I) â(2,0) J(2, Af - I) A =

λ(Q,0) A(Q,\) A ( QM - D

m Etape 2c :

Ensuite, on effectue sur ces composantes ambiophoniques quantifiées

A(k, j) , k=1 à Q et j=0 à M-1 , un décodage ambiophonique d'ordre p tel que 2p+1 =Q et qui correspond à un système régulier de N haut-parleurs, pour déterminer les pressions acoustiques T1 i, i = 1 à N, des N signaux sonores obtenus en résultat de ce décodage ambiophonique.

Dans le cas considéré, Amblnv(p) est la matrice de transformation ambiophonique inverse d'ordre p (ou décodage ambiophonique d'ordre p) délivrant N signaux T11 , ..., T1 N correspondant e N haut-parleurs H'1 , ..., H'N respectifs, disposés régulièrement autour d'un point. Par conséquent, la matrice Amblnv(p) se déduit de la transposition de la matrice Amb(p,N) qui est la matrice d'encodage ambiophonique résultante de l'encodage de la scène sonore définie par les N sources correspondant aux N haut-parleurs H'1 , ..., H'N et disposés respectivement dans les positions ξ γ , ..., ξ N . Ainsi on peut

écrire que : Amblnv(p) = — Amb(p,iV)' .

N

Xl est la matrice des composants spectraux T1(ij) des signaux T1i, i=1 à N relatifs aux bandes de fréquences Fj, j= O à M-1. Ces composants spectraux sont issus de la transformation ambiophonique inverse d'ordre p appliquée sur les composantes ambiophonique quantifiées A(k, j) , k=1 à Q et j=0 à M-1.

ri(i,θ) ri(i,i) Tl(l,M - l) ri(2,0) ri(2,i) γI(2,M -I

T1 =

TI(N,O) . Tl(N, M - I)

et on a T1 = Amblnv(p) x A = — Amb(p,N)' x A Equation (6)

— N —

Ainsi les composants T1 (ij), i=1 à N, dépendent de l'erreur de quantification relative à la quantification considérée des composantes ambiophoniques A(kj), k=1 à Q et j=0 à M-1 (en effet, chaque élément quantifié A(k, j) est la somme du paramètre spectral A(kj) de composante ambiophonique à quantifier et du bruit de quantification relatif audit paramètre).

Pour chaque bande de fréquence F j , j= 0 à M-1 , on calcule alors, à l'aide des équations (5), le vecteur d'angles de Gerzon généralisé ξ } (0) à l'initialisation du processus Proc2 (n=0), en fonction des composantes spectrales T1 (i,j), i =1 à N et j=0 à M-1 déterminées suite au décodage

ambiophonique : ξ } (0) = \ a N :

∑ i ≤1 <N T1 (iJ) sin £ ∑ I≤1≤N Tl(i,j)cos£ ξ v , = sign arccos

∑ i ≤1≤N Tl(i,j) ∑ i ≤1 <N T1 (iJ)

ξ E , = sign Et on définit ξ } (0) = ξ } (0) .

On notera qu'ici a été considérée une matrice de décodage ambiophonique pour un dispositif de rendu sonore régulier et qui comporte un nombre de haut-parleurs égal au nombre des signaux d'entrées, ce qui simplifie le calcul de la matrice de décodage ambiophonique. Néanmoins, cette étape peut être mise en œuvre en considérant une matrice de décodage ambiophonique correspondant à des dispositifs de rendu sonore non réguliers et aussi pour un nombre de haut-parleurs différents du nombre des signaux d'entrée.

Itération n °1 (n=1 )

- Etape 2d :

On définit un débit Di=D 0 -S 0 et une allocation de ce débit Di entre les éléments à coder A(kj), pour (k,j) e E 0 .

• Etape 2e :

Puis chaque élément à coder A(k,j), (k,j) e E 0 est quantifié par le module 10 de quantification en fonction du débit qui lui a été alloué à l'étape 2d.

A_ est maintenant la matrice actualisée des éléments quantifiés A(k, j) , (k,j) e E 0 résultant chacun de cette dernière quantification selon le débit global D 1 , des paramètres A(kj).

- Etape 2f :

De façon similaire à celle décrite précédemment dans l'étape 2c, après calcul d'un nouveau décodage ambiophonique d'ordre p effectué en fonction des éléments quantifiés avec le débit global Di, on calcule, pour l'itération n°1 du processus Proc2, un premier vecteur d'angles de Gerzon généralisé I 7 (I) dans chaque bande fréquentielle Fj, en fonction des composantes spectrales T1(i,j), i =1 à N, j=0 à M-1 déterminées suite au nouveau décodage ambiophonique, à l'aide de l'équation (6).

On calcule ensuite le vecteur δ£ ; (l) égal à la différence entre le vecteur d'angles de Gerzon ξ } (0) calculé à l'étape 2c de l'initialisation et le vecteur d'angles de Gerzon généralisé ξ } {\) calculé à l'étape 2f de l'itération n°1 : δ| ; (I) = I 7 (I) - | ; (0) , j=0 à M-1.

• Etape 2q :

On calcule la norme δ| ; (1) , dans chaque bande fréquentielle Fj, de la variation δ| ; (1) , j=0 à M-1.

Cette norme représente la variation du vecteur d'angles de Gerzon généralisé suite à la réduction du débit de D 0 à Di dans chaque bande fréquentielle F j .

On détermine ji l'indice de la bande fréquentielle F h telle que la norme

δ| ; (1) de la variation d'angle de Gerzon calculée dans la bande fréquentielle

F h soit inférieure ou égale à chaque norme |δ£ ; (1)| , calculée pour chaque

bande fréquentielle F j , j=0 à M-1. On a donc J 1 = arg min IUf (I)II .

7=0 M-I II II

- Etape 2h :

On considère maintenant les paramètres spectraux des composantes ambiophoniques relatifs à la bande spectrale F h , soit les paramètres A(k, J 1 ), avec k e F 0 =[I 1 Q].

Et on réitère les étapes 2h1 à 2h5 suivantes pour tout i e F 0 considéré alternativement depuis 1 jusqu'à Q :

2h1- on considère que la sous-bande (i,ji) est supprimée pour les opérations 2h2 à 2h4 : on considère donc que A(i,ji) est nul et que l'élément quantifié correspondant A(IJ 1 ) est aussi nul ;

2h2- De façon similaire à celle décrite précédemment dans l'étape 2c, après calcul d'un décodage ambiophonique d'ordre p effectué en fonction des

éléments quantifiés avec le débit global Di (A(IJ 1 ) étant nul), on détermine le vecteur d'angles de Gerzon généralisé | λ (A(Ij 1 ) = 0, 1) dans la bande fréquentielle F h en fonction des composantes spectrales T1 (ij), i =1 à N et j =

0 à M-1 déterminées suite audit décodage ambiophonique à l'aide de l'équation (6).

2h3- On calcule ensuite le vecteur Aξ l} (1) représentant la différence dans la bande fréquentielle F h entre le vecteur d'angles de Gerzon généralisé ξ h (A(IJ j ) = O, 1) calculé ci-dessus et le vecteur d'angles de Gerzon généralisé

| λ (1) calculé à l'étape 2f de l'itération n°1 ci-dessus : δ| y (l) = ξ h (A(Ij 1 ) = 0, 1) - ξ h (l) . Puis on calcule la norme IIδ| y (l) ll du vecteur δ| y (l) : IIδ| y (l) ll =

II ^ (A(Ij 1 ) = 0, 1) - | λ (1) N.

Cette norme représente la variation du vecteur d'angles de Gerzon généralisé dans la bande fréquentielle F 1 lorsque pour un débit D1 , on supprime la composante ambiophonique fréquentielle A(Jj 1 ). 2h4- Si i ≠ max F 0 , on considère que la sous-bande (iji) n'est plus supprimée et on passe à l'étape 2h5. Si i = max F 0 , on considère que la sous- bande (iji) n'est plus supprimée et on passe à l'étape 2i.

2h5- On incrémente i dans l'ensemble F 0 et on réitère les étapes 2h1 à 2h4 pour la valeur de i ainsi mise à jour jusqu'à i = max Fo.

On obtient ainsi Q valeurs de variation d'angle de Gerzon généralisé

|δ^ λ (I)II , pour chaque i e F 0 =[I , Q].

• Etape 2i : On compare entre elles les valeurs |δ| λ (1)| , pour chaque i e F 0 =[I , Q], on identifie la valeur minimale parmi ces valeurs et on détermine l'indice H e F 0 correspondant à la valeur minimale, soit J 1 = arg min jAξ (1) . ïeF n

La composante A(J 1 , ji) est ainsi identifiée comme l'élément à coder de plus faible importance sur le plan de la précision spatiale, comparé aux autres éléments à coder A(kj), (kj) e E 0 .

- Etape 2i :

On redéfinit, pour chaque bande spectrale Fj, le vecteur d'angles de

Gerzon généralisé ξ } (l) issu de l'itération 1 , calculé pour un débit Di : ξ } (l) = 1 (1) si j e [0,M-1]\{ji} ;

I 1 (X) = | A (A(i 1 ,j 1 ) = O ,l) si j = ji . Ce vecteur redéfini d'angles de Gerzon généralisé, établi pour un débit de quantification égal à Di, prend en compte la suppression de l'élément à coder A(ii, ji) et sera utilisé pour l'itération suivante du processus Proc2.

- Etape 2k : L'identifiant du couple (ii,ji) est délivré au module d'ordonnancement 6 en tant que résultat de la 1 ere itération du processus Proc2.

• Etape 2m :

On supprime alors l'élément à coder A(J 1 J 1 ) de l'ensemble des éléments à coder dans la suite du processus Proc2. On définit l'ensemble E 1 = E 0 \(ii,ji). On définit ή ≈min d kj , pour (kj) e E 1 .

Dans une itération n°2 du processus Proc2, on réitère des étapes similaires aux étapes 2d à 2n indiquées ci-dessus.

Le processus Proc2 est réitéré autant de fois que souhaité pour ordonner entre eux certains ou la totalité des éléments à coder A(kj), (kj) e E 1 restant à ordonner.

Ainsi les étapes 2d à 2n décrites ci-dessus sont réitérées pour une nième itération :

Itération n (n>1 ) :

E n -I= E 0 \{(ii ji ), ..., (in-1 ,jn-i)}.

Les éléments à coder A(kj), pour (kj) e E 0 \E n- i ont été supprimés au cours des étapes 2m des itérations précédentes.

- Etape 2d :

On définit un débit D n = D n-1 n _ γ et une allocation de ce débit D n entre les éléments à coder A(kj), pour (kj) e E n- i .

Lors du calcul des décodages ambiophoniques effectués ci-après, on considère donc que les éléments quantifiés A(k, j) , pour (kj) e E 0 \E n- i sont nuls

• Etape 2e :

Puis chaque élément à coder A(kj), (kj) e E n- i, est quantifié par le module 10 de quantification en fonction du débit alloué à l'étape 2d ci-dessus. Le résultat de cette quantification de l'élément à coder A(kj) est

A(JcJ) , (kj) e E n -i .

- Etape 2f : De façon similaire à celle décrite précédemment pour l'itération 1 , après calcul d'un décodage ambiophonique d'ordre p effectué en fonction des éléments quantifiés avec le débit global D n (on a donc considéré lors de ce décodage ambiophonique que les composantes A(I 1 J 1 ) ,..., A(i n _ 15 j n ^ sont nulles), on calcule, pour l'itération n du processus Proc2, un premier vecteur d'angles de Gerzon généralisé ξ } (n) dans chaque bande fréquentielle F j en fonction des composantes spectrales T1 i, i =1 à N déterminées suite audit décodage ambiophonique, à l'aide de l'équation (6).

On calcule ensuite le vecteur Aξ } (n) égal à la différence entre le vecteur d'angles de Gerzon ξ } (n -l) calculé à l'étape 2j de l'itération n-1 et le vecteur d'angles de Gerzon généralisé ξ } (ή) calculé à la présente étape :

} (n) = l (n) - I 7 (W -I) J=O a M-I .

• Etape 2g : On calcule la norme |δ£ ; (W)| , dans chaque bande fréquentielle Fj, de la variation Aξ } (n) , j=0 à M-1. Cette norme représente la variation du vecteur d'angles de Gerzon généralisé dans chaque bande fréquentielle F j , suite à la réduction de débit de D n à D n -i (les paramètres A(I 1 J 1 ) , ..., A(^ 1 J n-1 ) et A(I 1 J 1 ) , ..., â(i n -ιJ n -ι) étant supprimés).

On détermine J n l'indice de la bande fréquentielle F 1 telle que la norme |δ£ ; («)|| de la variation du vecteur d'angles de Gerzon calculée dans la bande

fréquentielle F 1 est inférieure ou égale à chaque norme |δ£ ; (W)| , calculée pour chaque bande fréquentielle Fj, j=0 à M-1. On a donc

- Etape 2h :

On considère maintenant les paramètres spectraux des composantes ambiophoniques relatifs à la bande spectrale F 1n , soit les paramètres A(k, j n ), avec k e F n- I= {i e [1 ,...,Q] tel que (i, J n ) e E n- i}.

Et on réitère les étapes 2h1 à 2h5 suivantes pour tout i e F n- i considéré alternativement depuis l'élément le plus petit de l'ensemble F n- i (min F n- i) jusqu'à l'élément le plus grand de l'ensemble F n- i (max F n- i) :

2h1- on considère que la sous-bande (i,j n ) est supprimée pour les opérations 2h2 à 2h4 : on considère donc que A(i,j n ) est nul et que l'élément quantifié correspondant A(IJ n ) est aussi nul ;

2h2- De façon similaire à celle décrite précédemment dans l'étape 2c, après calcul d'un décodage ambiophonique d'ordre p effectué en fonction des éléments quantifiés avec le débit global D n (A(IJ n ) étant nul), on calcule, le vecteur d'angles de Gerzon généralisé nommé ξ } (A(i,j n ) = O ,n) dans la bande

fréquentielle F 1 en fonction des composantes spectrales T1(ij) i =1 à N et j=0 à M-1 déterminées suite audit décodage ambiophonique, à l'aide de l'équation (6).

2h3- On calcule ensuite le vecteur Aξ l} (n) égal à la différence, dans la bande fréquentielle F 1 , entre le vecteur d'angles de Gerzon généralisé ξ } (A(i,j n ) = O, n) calculé ci-dessus en 2h2 et le vecteur d'angles de Gerzon généralisé ξ } (n) calculé à l'étape 2f de l'itération n ci-dessus : Aξ i3 (n) = ξ ]n (A(Ij n ) = 0, n) - ξjn) .

Puis on calcule la norme IIδ| y Jn) W du vecteur δξ l} Jn) : IIδ| jn (n) ll = II 4 (A(Ij n ) = 0, H) - IJn) II.

Cette norme représente la variation, dans la bande fréquentielle F 1 , du vecteur d'angles de Gerzon généralisé et pour un débit D n , due à la suppression de la composante ambiophonique A(i,j n ) lors de la nième itération du processus Proc2. 2h4- Si i ≠ max F n- i, on considère que la sous-bande (i,j n ) n'est plus supprimée et on va à l'étape 2h5. Si i = max F n- i, on considère que la sous- bande (ij n ) n'est plus supprimée et on va à l'étape 2i.

2h5- On incrémente i dans l'ensemble F n- i et on réitère les étapes 2h1 à 2h4 pour la valeur de i ainsi mise à jour jusqu'à i = max F n- i .

On obtient ainsi, pour chaque i e F n- i, une valeur \\δξ υ («) ll, représentant la variation du vecteur d'angles de Gerzon généralisé dans la bande fréquentielle F 1 due à la suppression de la composante A(i,j n ) .

- Etape 2i :

On compare entre elles les valeurs IIδ| y (n) II, pour chaque i e F n- i, on identifie la valeur minimale parmi ces valeurs et on détermine l'indice i n ε F n correspondant à la valeur minimale, soit i n - argmin δ| y («) . ïeF,

La composante A(J n J n ) est ainsi identifiée comme l'élément à coder de plus faible importance sur le plan de la précision spatiale, comparé aux autres éléments à coder A(kj), (kj) e E n- i .

- Etape 2i :

On redéfinit, pour chaque bande spectrale Fj, un vecteur d'angles de

Gerzon généralisé ξ } (n) issu de l'itération n : ξ } (n) = ξ } (n) si j e [0,M-1]\{j n } ; ξjn) = | λ (A(I n JJ = O , «) Si J = J n . Cet angle de Gerzon généralisé redéfini, établi pour un débit de quantification égal à D n , prend en compte la suppression de l'élément à coder A(i n , jn) et sera utilisé pour l'itération suivante.

- Etape 2k : L'identifiant du couple (J n J n ) est délivré au module d'ordonnancement 6 en tant que résultat de la nième itération du processus Proc2.

• Etape 2m :

On supprime alors la bande (i n ,j n ) de l'ensemble des éléments à coder dans la suite du processus Proc2, c'est-à-dire qu'on supprime l'élément à coder A(J n J n ).

On définit l'ensemble E n = E n- i\(i n ,j n ). Les éléments à coder A(i,j), avec (ij) e E n restent à ordonner. Les éléments à coder A(i,j), avec (ij) e {(ii,ji ),..., (i n jn)} ont déjà été ordonnés lors des itérations 1 à n.

On réitère le processus Proc2 r fois et au maximum Q * M-1 fois. Des indices de priorité sont ainsi ensuite attribués par le module 6 d'ordonnancement aux différents éléments à coder, en vue de l'insertion des données de codage dans une séquence binaire.

Ordonnancement des éléments à coder et constitution d'une séquence binaire, sur la base des résultats successivement fournies par les itérations successives du processus Proc2 :

Dans un mode de réalisation où l'ordonnancement des éléments à coder est réalisé par le module 6 d'ordonnancement sur la base des résultats successivement fournies par les itérations successives du processus Proc2 mis en œuvre par le module 5 de définition des éléments à coder les moins pertinents (à l'exclusion des résultats fournis par le processus Prod ), le module 6 d'ordonnancement définit un ordre desdits éléments à coder, traduisant l'importance des éléments à coder sur le plan de la précision spatiale.

En référence à la figure 5b, l'élément à coder A(J 1 J 1 ) correspondant au couple (J 1 J 1 ) déterminé lors de la première itération du processus Proc2 est considéré comme le moins pertinent sur le plan de la précision spatiale. Il lui est donc affecté un indice de priorité minimale Priol par le module 5.

L'élément à coder A(i 2 ,J2) correspondant au couple (i 2 ,J2) déterminé lors de la deuxième itération du processus Proc2, est considéré comme l'élément à coder le moins pertinent sur le plan de la précision spatiale, après celui affecté à la priorité Priol . Il lui est donc affecté un indice de priorité minimale Prio2, avec Prio2 > Priol . Le module 6 d'ordonnancement ordonne ainsi successivement r éléments à coder affectés chacun à des indices de priorité croissants Priol , Prio2 à Prio r.

Les éléments à coder n'ayant pas été affectés à un ordre de priorité au cours d'une itération du processus Proc2 sont plus importants sur le plan de la précision spatiale que les éléments à coder auxquels à été affecté un ordre de priorité.

Lorsque r est égal à Q * M -1 fois, l'ensemble des éléments à coder sont ordonnées un à un. Dans ce qui suit, on considère que le nombre d'itérations r du processus Proc2 effectuées est égal à Q * M -1 fois.

L'ordre de priorité affecté à un élément à coder A(kJ) est également affecté à l'élément codé en fonction du résultat A(k, j) de la quantification de

cet élément à coder. On note ci-dessous également A(k, j) l'élément codé correspondant à l'élément à coder A(kj).

Le module 8 de constitution de la séquence binaire constitue une séquence binaire Seq correspondant à une trame de chacun des signaux Si, i=1 à N en y intégrant successivement des éléments codés A(k, j) par ordre décroissant d'indices de priorité attribués, la séquence binaire Seq étant à transmettre dans le flux binaire φ.

Ainsi la séquence binaire constituée Seq est ordonnée conformément à l'ordonnancement effectué par le module 6.

Dans le mode de réalisation considéré ci-dessus, une suppression d'une composante spectrale d'un élément à coder A(ij) a lieu à chaque itération du processus Proc2.

Dans un autre mode de réalisation, on utilise un quantificateur imbriqué pour les opérations de quantification. Dans un tel cas, la composante spectrale d'un élément à coder A(ij) identifiée comme la moins importante sur le plan de la précision spatiale lors d'une itération du processus Proc2 n'est pas supprimée, mais un débit réduit est affecté au codage de cette composante par rapport au codage des autres composantes spectrales d'éléments à coder restant à ordonner.

Le codeur 1 est ainsi un codeur permettant une adaptabilité en débit prenant en compte les interactions entre les différents signaux monophoniques. Il permet de définir des données compressées optimisant la précision spatiale perçue.

Combinaison des processus Prod et Proc2

Dans un mode de réalisation, on définit les éléments à coder les moins importants à l'aide d'un processus Proc combinant les processus Prod et Proc2 décrits ci-dessus, en fonction de critères prenant en compte la qualité audio globale et la pertinence spatiale.

L'initialisation du processus Proc comporte les initialisations des processus Prod et Proc2 comment décrits plus haut.

Une itération n (n>1 ) d'un tel processus Proc va être maintenant décrite en référence à la figure 11 , en considérant un (n+1 )ième débit D n de codage et un ensemble d'éléments à coder A(kj) avec (kj) e E n- i avec à ordonner. Ces débit et ensemble d'éléments à coder sont déterminés lors d'itérations précédentes du processus Proc sur la base d'itérations précédentes du processus Proc à l'aide des processus Prod et Proc2. Les itérations précédentes ont permis la détermination d'éléments à coder déterminés les moins importants en fonction de critères définis. Ces critères définis ont été établis en fonction de la qualité audio globale et de la précision spatiale souhaitées.

On met en œuvre sur cet ensemble d'éléments à ordonner en parallèle une itération des étapes 1d et 1e du processus Prod , identifiant l'élément à coder A(i n i, j n i) le moins pertinent sur le plan de la qualité audio globale et une itération des étapes 2e à 2i du processus Proc2, identifiant l'élément à coder A(i n 2, jn2) le moins pertinent sur le plan de la précision spatiale.

En fonction des critères définis, on sélectionne à l'étape 300, un seul des deux éléments à coder identifiés ou encore les deux éléments à coder identifiés. On repère par A(i n , J n ) celui ou chaque élément à coder sélectionné. Puis, d'une part, on fournit le ou les identifiants du couple (i n ,j n ) au module d'ordonnancement 6 en tant que résultat de la nième itération du processus Proc2, qui lui attribue une priorité Prion au vu des critères définis. La priorité Prion affectée est supérieure à la priorité des éléments à coder sélectionnés au cours des itérations précédentes du processus Proc en fonction des critères définis. Cette étape remplace les étapes 1f du processus Prod et 2k du processus Proc2 tels que décrits précédemment.

Le ou les éléments à coder A(J n J n ) sélectionnés sont ensuite insérés dans la séquence binaire à transmettre avant les éléments à coder sélectionnés au cours des itérations précédentes du processus Proc (car l'élément à coder A(J n J n ) est plus important sur le plan des critères définis que les éléments à coder sélectionnés précédemment par le processus Proc). Le ou les éléments à coder A(J n J n ) sélectionnés sont insérés dans la séquence binaire à transmettre après les autres éléments à coder de l'ensemble E n- i (car

l'élément à coder A(i n J n ) est moins important sur le plan des critères définis que ces autres éléments à coder).

D'autre part, dans une étape 301 , on supprime le ou les éléments à coder A(J n J n ) sélectionné pour l'itération suivante (itération n+1 ) du processus Proc (comprenant une itération n+1 pour les processus Prod et Proc2), qui s'appliqueront alors à l'ensemble des éléments à coder E n = E n- i \ (A(J n J n ), sur la base d'un débit réduit comme défini dans l'étape 1c du processus Prod et l'étape 2n du processus Proc2.

Cette étape 301 remplace les étapes 1g du processus Prod et 2m du processus Proc2 tels que décrits précédemment.

Les critères définis permettent de sélectionner celui ou ceux des éléments les moins pertinents identifiés respectivement lors de l'étape 300 du processus Proc.

Par exemple, dans un mode de réalisation, on supprime l'élément identifié par le processus Prod à chaque itération n, avec n pair et on supprime l'élément identifié par le processus Proc2 à chaque itération n avec n impair, ce qui permet de préserver au mieux la qualité audio globale et la précision spatiale.

D'autres critères peuvent être utilisés. Un codage mettant en œuvre un tel processus Proc permet ainsi d'obtenir un flux binaire adaptable en débit sur le plan de la qualité audio et sur la plan de la précision spatiale.

Opérations réalisées au niveau du décodeur

Le décodeur 100 comprend un module de lecture de séquence binaire 104, un module de quantification inverse 105, un module 101 de transformation ambiophonique inverse et un module 102 de transformation fréquence/temps.

Le décodeur 100 est adapté pour recevoir en entrée le flux binaire φ transmis par le codeur 1 et pour délivrer en sortie Q' signaux S'1 , S'2, ..., S'Q' destinés à alimenter les Q' haut-parleurs H1 , ..., HQ' respectifs d'un système de rendu sonore 103. Le nombre de haut-parleurs Q' peut dans un mode de réalisation être différent du nombre Q de composantes ambiophoniques transmises.

A titre d'exemple, la configuration d'un système de rendu sonore comprenant 8 haut-parleurs h1 , h2,..., h8 est représentée en figure 7.

Le module 104 de lecture de séquence binaire extrait de la séquence binaire φ reçue des données indiquant les indices de quantification déterminés pour des éléments A(k, j) , k=1 à Q et j=0 à M-1 et les fournit en entrée du module 105 de quantification inverse.

Le module 105 de quantification inverse effectue une opération de quantification inverse.

Les éléments de la matrice A' des éléments A'(k, j) , k=1 à Q et j=0 à M-1 , sont déterminés, tels que A'(k, j) = A(k, j) lorsque la séquence reçue comportait des données indiquant l'indice de quantification de l'élément A(k, j) issu du codage des paramètres A(kj) des composantes ambiophoniques par le décodeur 100 et A'(k, j) = 0 lorsque la séquence reçue ne comportait pas de données indiquant l'indice de quantification de l'élément A(k, j) (par exemple ces données ont été coupés lors de la transmission de la séquence au niveau d'un serveur de streaming pour s'adapter au débit disponible dans le réseau et/ou aux caractéristiques du terminal).

Le module 101 de transformation spatiale inverse est adapté pour déterminer les éléments X'(i, j), i=1 à Q', j= 0 à M-1 , de la matrice X_ définissant les M coefficients spectraux X'(i, j), i=1 à Q', j= 0 à M-1 , de chacun des Q'i signaux S'i, à partir des composantes ambiophoniques A'(k, j) , k=1 à Q et j=0 à M-1 , déterminées par le module 105 de quantification inverse..

Amblnv(p',Q') est la matrice de transformation ambiophonique inverse d'ordre p' pour la scène 3D adaptée pour déterminer les Q' signaux S'i, i= 1 à

Q', destinés aux Q' haut-parleurs du système de rendu sonore associé au décodeur 100, à partir des Q composantes ambiophoniques reçues. Les angles βi, pour i=1 à Q', indiquent l'angle de propagation acoustique depuis le haut-parleur Hi. Dans l'exemple représenté en figure 7, ces angles correspondent aux angles entre l'axe de propagation d'un son émis par un haut-parleur et l'axe XX.

X_ est la matrice des composants spectraux X'(ij) des signaux Si', i=1 à Q' relatifs aux bandes de fréquences Fj, j= O à M-1. Ainsi :

A ' (1,O) A '(U) A' (1,M - I) A 1 (2,0) J 1 (2, Af - I)

A' =

A'(β,0) A'(Q,\) λ'(β,M - l)

et

X '(1,0) Z'(l,l) X'(l, Af - I) Z '(2,0) X '(2,1) Z'(2,M - 1

X'=

Z'(β',0) Z'(β',M - l)

et on aJç = Amblnv(p',Q') x A^_ Equation (7).

Le module 101 de transformation spatiale inverse est adapté pour déterminer les coefficients spectraux X'(i, j), i=1 à Q', j= 0 à M-1 , éléments de la matrice X_, à l'aide de l'équation (7).

Ces éléments X'(i, j), i=1 à Q', j= 0 à M-1 , une fois déterminés, sont délivrées en entrée du module 102 de transformation fréquence/temps.

Le module 102 de transformation fréquence/temps du décodeur 100 effectue une transformation de l'espace de représentation fréquentielle vers l'espace de représentation temporelle sur la base des coefficients spectraux reçus X'(i, j), i=1 à Q', j= 0 à M-1 (cette transformation est dans le cas présent,

une MDCT inverse), et il détermine ainsi une trame temporelle de chacun des Q' signaux S'1 ,..., S 1 Q'.

Chaque signal S'i, i = 1 à Q', est destiné au haut-parleur Hi du système de rendu sonore 103. Certaines au moins des opérations effectuées par le décodeur sont dans un mode de réalisation mises en œuvre suite à l'exécution sur des moyens de traitement du décodeur, d'instructions de programme d'ordinateur.

Un avantage du codage des composantes issues de la transformation ambiophonique des signaux S1 , ..., SN tel que décrit est que dans le cas où le nombre de signaux N de la scène sonore est grand, il est possible de les représenter par un nombre Q de composantes ambiophoniques bien inférieur à N, en dégradant très peu la qualité spatiale des signaux. Le volume de données à transmettre est donc réduit et ceci sans dégradation importante de la qualité audio de la scène sonore. Un autre avantage d'un codage selon l'invention est qu'un tel codage permet une adaptabilité aux différents types de systèmes de rendu sonores, quels que soient le nombre, la disposition et le type de haut-parleurs dont le système de rendu sonore est muni.

En effet, un décodeur recevant une séquence binaire comprenant Q composantes ambiophoniques opère sur celles-ci une transformation ambiophonique inverse d'ordre p' quelconque et correspondant au nombre Q' de haut-parleurs du système de rendu sonore auquel sont destinés les signaux une fois décodés.

Un codage tel qu'effectué par le codeur 1 permet d'ordonner les éléments à coder en fonction de leur apport respectif sur la qualité audio à l'aide du premier processus Prod et/ou en fonction de leur apport respectif sur la précision spatiale et le respect de la reproduction des directions contenus dans la scène sonore, à l'aide du deuxième processus Proc2.

Pour s'adapter aux contraintes de débit imposées, il suffit de tronquer la séquence des éléments de priorités inférieures disposés dans la séquence. Il est garanti qu'alors la meilleure qualité audio globale (quand le processus Prod est mis en œuvre) et/ou la meilleure précision spatiale (quand le processus Proc2 est mis en œuvre) est fournie. En effet l'ordonnancement des

éléments à été fait de façon à ce que les éléments qui apportent le moins à la qualité audio globale et/ou la précision spatiale soient mis à la fin de la séquence.

Les processus Prod et Proc 2 peuvent être mis en œuvre, suivant les modes de réalisations, en combinaison ou alors seuls, indépendamment l'un de l'autre pour définir une séquence binaire.