Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
PARAMETRIC STEREO ENCODING/DECODING HAVING DOWNMIX OPTIMISATION
Document Type and Number:
WIPO Patent Application WO/2011/073600
Kind Code:
A1
Abstract:
The present invention relates to a method for parametric encoding of a stereo digital audio signal comprising a step of encoding (312) a mono signal produced by downmixing (307) applied to the stereo signal and encoding spatialisation information (315, 316) of the stereo signal. Said method is characterised in that downmixing comprises calculating (330), using the frequency coefficient, the amplitude of the mono signal according to the amplitudes of the channels of the stereo signal, and determining (331), for a predetermined set of frequency coefficients, the phase of the mono signal by calculating the phase of the signal by means of the channels of the stereo signal. The transmission of spatialisation information is also suitable, according to the invention, for said downmixing. The invention also relates to the relevant decoding method, and to the encoder and decoder implementing said respective methods.

Inventors:
RAGOT, Stéphane (Allegoat, Lannion, F-22300, FR)
HOANG, Thi Minh Nguyet (Foyer Cosmos F, 25 rue des Hortensias, Lannion, F-22300, FR)
KOVESI, Balazs (16 chemin du Moulin à Vent, Lannion, F-22300, FR)
Application Number:
FR2010/052807
Publication Date:
June 23, 2011
Filing Date:
December 17, 2010
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (6 place d'Alleray, Paris, F-75015, FR)
RAGOT, Stéphane (Allegoat, Lannion, F-22300, FR)
HOANG, Thi Minh Nguyet (Foyer Cosmos F, 25 rue des Hortensias, Lannion, F-22300, FR)
KOVESI, Balazs (16 chemin du Moulin à Vent, Lannion, F-22300, FR)
International Classes:
G10L19/00; G10L19/02
Attorney, Agent or Firm:
FRANCE TELECOM R&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é de codage paramétrique d'un signal audionumérique stéréo comportant une étape de codage (312) d'un signal mono issu d'un traitement de réduction de canaux (307) appliqué au signal stéréo et de codage d'informations de spatialisation (315,316) du signal stéréo, le traitement de réduction des canaux comportant un calcul (330), par coefficient fréquentiel, de l'amplitude du signal mono en fonction de l'amplitude des canaux du signal stéréo, caractérisé en ce qu'il comporte en outre une détermination (331) pour un ensemble prédéterminé de coefficients fréquentiels, de la phase du signal mono par le calcul de la phase du signal moyennant les canaux du signal stéréo.

2. Procédé selon la revendication 1, caractérisé en ce que les informations de spatialisation comportent une première information (ICLD) sur l'amplitude des canaux stéréo et une seconde information sur la phase des canaux stéréo, la seconde information comportant, par coefficient fréquentiel, la différence de phase (/ [. ] ou (x j\) définie entre le signal mono et un premier canal stéréo prédéterminé.

3. Procédé selon la revendication 2, caractérisé en ce que la seconde information comporte en outre une indication (&[, ] ) permettant de déduire la différence de phase entre le signal mono et le second canal stéréo.

4. Procédé selon la revendication 3, caractérisé en ce que l'indication minimale est codée sur un bit et indique le choix entre deux différences de phase (β0[]] , ¾[. ] ) possibles entre le signal mono et le second canal stéréo.

5. Procédé selon la revendication 3, caractérisé en ce que l'indication minimale est codée sur un bit et indique le choix entre deux gains possibles (/¾[/] , ¾[/] ) à appliquer à l'intensité du signal mono pour retrouver le second canal stéréo.

6. Procédé selon la revendication 1, caractérisé en ce que les informations de spatialisation comportent une première information sur l'amplitude des canaux stéréo et une seconde information sur l'amplitude de la somme des canaux stéréo. 7. Procédé selon la revendication 6, caractérisé en ce que la seconde information comporte, par coefficient fréquentiel, la valeur de l'amplitude de la somme des canaux stéréo et une indication minimale permettant de déduire le sens de rotation des canaux stéréo.

8. Procédé selon la revendication 6, caractérisé en ce que la seconde information comporte, par coefficient fréquentiel, la valeur d'un gain à appliquer à l'amplitude du signal mono et une indication minimale permettant de déduire le sens de rotation des canaux stéréo.

9. Procédé selon l'une des revendications 2 à 8, caractérisé en ce que la première information est codée par une première couche de codage et la seconde information est codée par une seconde couche de codage.

10. Procédé de décodage paramétrique d'un signal audionumérique stéréo comportant une étape de décodage (502) d'un signal mono reçu, issu d'un traitement de réduction de canaux appliqué au signal stéréo original et de décodage (505, 506) d'informations de spatialisation du signal stéréo original,

caractérisé en ce qu'il comporte une synthèse (507) des signaux stéréo, par coefficient fréquentiel, à partir du signal mono décodé comportant une information d'amplitude obtenue en fonction des amplitudes des canaux stéréo originaux et une information de phase du signal moyennant les canaux stéréo originaux et à partir d'informations de spatialisation décodées.

11. Procédé selon la revendication 10, caractérisé en ce que les informations de spatialisation comportent une première information sur l'amplitude des canaux stéréo (ICLD) et une seconde information sur la phase des canaux stéréo, la seconde information comportant, par coefficient fréquentiel, l'angle ( ?[/] ou c [ j] ) défini entre le signal mono et un premier canal stéréo prédéterminé.

12. Procédé de décodage selon la revendication 11, caractérisé en ce que la seconde information comporte en outre une indication minimale (&[./] ) permettant de déduire l'angle entre le signal mono et le second canal stéréo. 13. Procédé selon la revendication 10, caractérisé en ce que les informations de spatialisation comportent une première information sur l'amplitude des canaux stéréo et une seconde information sur l'amplitude de la somme des canaux stéréo.

14. Procédé selon l'une des revendications 10 à 13, caractérisé en ce que la première information est décodée par une première couche de décodage et la seconde information est décodée par une seconde couche de décodage.

15. Codeur paramétrique d'un signal audionumérique stéréo comportant un module de codage (312) d'un signal mono issu d'un module de traitement de réduction de canaux (307) appliqué au signal stéréo et un module de codage d'informations de spatialisation (315,316) du signal stéréo, le module de traitement de réduction des canaux comportant un module (330) de calcul, par coefficient fréquentiel, de l'amplitude du signal mono en fonction des amplitudes des canaux du signal stéréo,

caractérisé en ce que le module de traitement de réduction des canaux comporte en outre un module (331) de détermination pour un ensemble prédéterminé de coefficients fréquentiels, de la phase du signal mono par le calcul de la phase du signal moyennant les canaux du signal stéréo.

16. Décodeur paramétrique d'un signal audionumérique stéréo comportant un module de décodage (502) d'un signal mono reçu, issu d'un traitement de réduction de canaux appliqué au. signal stéréo original et un module de décodage (505, 506) d'informations de spatialisation du signal stéréo original,

caractérisé en ce qu'il comporte un module de synthèse (507) des signaux stéréo, par coefficient fréquentiel, à partir du signal mono décodé (M(n)) comportant une information d'amplitude obtenue en fonction des amplitudes des canaux stéréo originaux et une information de phase du signal moyennant les canaux stéréo originaux et à partir d'informations de spatialisation décodées.

17. Programme informatique comprenant des instructions de code pour la mise en œuvre des étapes d'un procédé de codage selon l'une des revendications 1 à 8 et ou d'un procédé de décodage selon l'une des revendications 9 à 16, lorsque celles-ci sont exécutées par un processeur.

Description:
Codage/Décodage paramétrique stéréo avec optimisation du traitement de réduction des canaux

La présente invention concerne le domaine du codage/décodage des signaux numériques.

Le codage et le décodage selon l'invention est adapté notamment pour la transmission et/ou le stockage de signaux numériques tels que des signaux audiofréquences (parole, musique ou autres).

Plus particulièrement, la présente invention se rapporte au codage/décodage paramétrique de signaux audio multicanaux, notamment de signaux stéréophoniques ci-après nommés signaux stéréo.

Ce type de codage/décodage se base sur l'extraction de paramètres d'information spatiale pour qu'au décodage, ces caractéristiques spatiales puissent être reconstituées pour l'auditeur, afin de recréer la même image spatiale que dans le signal original.

Une telle technique de codage/décodage paramétrique est par exemple décrite dans le document de J. Breebaart and S. van de Par and A. Kohlrausch and E. Schuijers, intitulé "Parametric Coding of Stereo Audio" dans EURASIP Journal on Applied Signal Processing 2005:9, 1305-1322. Cet exemple est repris en référence aux figures 1 et 2 décrivant respectivement un codeur et un décodeur stéréo paramétrique.

Ainsi, la figure 1 décrit un codeur recevant deux canaux audio, un canal gauche

(noté L pour Left en anglais) et un canal droit (noté R pour Right en anglais).

Les canaux temporels L(n) et.R(n) sont traités par les blocs 101, 102 et 103, 104 respectivement qui effectuent une analyse de Fourier court-terme. Les signaux transformés L[jJ etR[j] sont ainsi obtenus.

Le bloc 105 effectue un traitement de réduction de canaux ou "Downmix" en anglais pour obtenir dans le domaine fréquentiel à partir des signaux gauche et droit, un, signal monophonique ci-après nommé signal mono qui est ici un signal somme.

Une extraction de paramètres d'information spatiale est également effectuée dans le bloc 105. Les paramètres extraits sont les suivants.

Les paramètres ICLD (pour "InterChannel Level Différence" en anglais), encore appelés différences d'intensité intercanal, caractérisent les ratios d'énergie par sous-bande fréquentielle entre les canaux gauche et droit. Ces paramètres permettent de positionner des sources sonores dans le plan horizontal stéréo par "panning". Us sont définis en dB par la formule suivante:

où L[j] et [j] correspondent aux coefficients spectraux (complexes) des canaux L et R, les valeurs B[k] et B[k+1 ], pour chaque bande de fréquence k, définissent la découpe en sous- bande du spectre et le symbole * indique le conjugué complexe.

Les paramètres ICPD (pour "InterChannel Phase Différence" en anglais), encore appelés différences de phase, sont définis suivant la relation suivante:

ICPDW = (∑^ L[,-] . ?* [./]) (2) où Δ indique l'argument (la phase) de l'opérande complexe.

On peut également définir de façon équivalente à l'ICPD, un décalage temporel ïntercanal appelé ICTD (pour "InterChannel Time Différence" en anglais) et dont la définition n'est pas rappelée ici.

Les paramètres ICC (pour "InterChannel Cohérence" en anglais) représentent quant à eux la corrélation (ou cohérence) intercanal et sont associés à la largeur spatiale des sources sonores; leur définition n'est pas rappelée ici, mais il est noté dans l'article de Breebart et al. que ces paramètres ne sont pas nécessaires dans les sous-bandes réduites à un coefficient fréquentiel.

Ces paramètres ICLD, ICPD et ICC sont extraits des signaux stéréo, par le bloc 105.

Le signal mono est passé dans le domaine temporel (blocs 106 à 108) après synthèse de Fourier court-terme (FFT inverse, fenêtrage et addition-recouvrement dite OverLap-Add ou OLA en anglais) et un codage mono (bloc 109) est réalisé. En parallèle les paramètres stéréo sont quantifiés et codés dans le bloc 110.

En général le spectre des signaux (L[y] ,i?[j] ) est divisé suivant une échelle fréquentielle non-linéaire de type ERB (Equivalent Rectangular Bandwidth) ou Bark, avec un nombre de sous-bandes allant typiquement de 20 à 34 pour un signal échantillonné de 16 à 48 kHz. Cette échelle définit les valeurs de B(k) et B(k+1) pour chaque sous-bande k. Les paramètres (ICLD, ICPD, ICC) sont codés par quantification scalaire éventuellement suivie d'un codage entropique ou d'un codage différentiel. Par exemple, dans l'article précédemment cité, 11CLD est codée par un quantificateur non-uniforme (allant de -50 à +50 dB) avec codage différentiel. Le pas de quantification non-uniforme exploite le fait que plus la valeur de l'ICLD est grande plus la sensibilité auditive aux variations de ce paramètre est faible.

Pour le codage du signal mono (bloc 109), plusieurs techniques de quantification avec ou sans mémoire sont possibles, par exemple le codage à "Modulation par Impulsions Codées" (MIC), sa version adaptative dite "Modulation par Impulsions Codées Différentielle Adaptative" (MICDA) ou des techniques plus évoluées comme le codage perceptuel par transformée ou le codage "Code Excited Linear Prédiction" (CELP).

On s'intéresse ici plus particulièrement à la recommandation UET-T G.722 qui utilise le codage MICDA à code imbriqués en sous-bandes (ou ADPCM pour "Adapîive Differential Puise Code Modulation" en anglais).

Le signal d'entrée d'un codeur de type G.722 est en bande élargie de largeur de bande minimale de [50-7000 Hz] avec une fréquence d'échantillonnage de 16 kHz. Ce signal est décomposé en deux sous-bandes [0-4000 Hz] et [4000-8000 Hz] obtenues par décomposition du signal par des filtres miroir en quadrature dit Quadrature Mirror Filters (QMF) en anglais, puis chacune des sous-bandes est codée séparément par un codeur MICDA.

La bande basse est codée par un codage MICDA à codes imbriqués sur 6, 5 et 4 bits tandis que la bande haute est codée par un codeur MICDA dé 2 bits par échantillon. Le débit total est de 64, 56 ou 48 bit/s suivant le nombre de bits utilisé pour le décodage de la bande basse.

La recommandation G.722 datant de 1988 a d'abord été utilisée dans le RNIS (Réseau Numérique à Intégration de Services) pour des applications d'audio et vidéoconférence. Depuis plusieurs années, ce codeur est utilisé dans les applications de téléphonie améliorée de qualité voix HD (Haute Définition) ou HD voice en anglais sur réseau IP fixe.

Une trame de signal quantifié selon la norme G.722 est constituée d'indices de quantification codés sur 6, 5 ou 4 bits par échantillon en bande basse (0-4000 Hz) et 2 bits par échantillon en bande haute (4000-8000 Hz). La fréquence de transmission des indices scalaires étant de 8 kHz dans chaque sous-bande, le débit est de 64, 56 ou 48 kbit/s.

Au décodeur 200, en référence à la figure 2, le signal mono est décodé (bloc 201), un dé-corrélateur est utilisé (bloc 202) pour produire deux versions M(n) et M'(n) du signal mono décodé. Ces deux signaux sont passés dans le domaine fréquentiel (blocs 203 à 206) et les paramètres stéréo décodés (bloc 207) sont utilisés par la synthèse stéréo (bloc 208) pour reconstruire les canaux gauche et droit dans le domaine fréquentiel. Ces canaux sont enfin reconstruits dans le domaine temporel (blocs 209 à 214).

Ainsi, comme mentionné pour le codeur, le bloc 105 effectue un traitement de réduction des canaux ou "downmix" en combinant les canaux stéréo (gauche, droit) pour obtenir un signal mono qui est ensuite codé par un codeur mono. Les paramètres spatiaux (ICLD, ICPD, ICC, ...) sont extraits à partir des canaux stéréo et transmis en plus du train binaire issu du codeur mono.

Plusieurs techniques ont été développées pour le traitement de réduction des canaux ou "downmix" stéréo à mono. Ce "downmix" peut être effectué dans le domaine temporel ou fréquentiel. On distingue en général deux types de "downmix":

- Le "downmix" passif qui correspond à un matriçage direct des canaux stéréo pour les combiner en un seul signal;

- Le "downmix" actif (adaptatif) qui inclut un contrôle de l'énergie et/ou de la phase en plus de la combinaison des deux canaux stéréo.

L'exemple le plus simple de "downmix" passif est donné par le matriçage temporel suivant:

M{n) =^[L{n) + R(n)) = (3)

Ce type de "downmix" a cependant l'inconvénient de ne pas bien conserver l'énergie des signaux après la conversion stéréo à mono lorsque les canaux L et R ne sont pas en phase.

Un mécanisme de "downmix" actif améliorant la situation est donné par l'équation suivante:

où γ(η) est un facteur qui vient compenser une éventuelle perte d'énergie.

Cependant, le fait de combiner les signaux L(n) et R(n) dans le domaine temporel ne permet pas de contrôler finement (avec suffisamment de résolution fréquentielle) les différences de phase éventuelles entre canaux, et donc la conservation d'énergie par sous-bandes fréquentielles. C'est pourquoi il est souvent plus avantageux en termes de qualité de réaliser le "downmix" dans le domaine fréquentiel, même si cela implique de calculer des transformées temps/fréquence et induit un retard et une complexité additionnels par rapport à un "downmix" temporel.

On peut ainsi transposer le "downmix" actif précédent avec les spectres des canaux gauche et droit, de la façon suivante:

Mm=m im± (5)

où k correspond à l'indice d'un coefficient fréquentiel (coefficient de Fourier par exemple représentant une sous-bande fréquentielle). On peut fixer le paramètre de compensation, comme suit:

On s'assure ainsi que l'énergie globale du "downmix" est la somme des énergies des canaux gauche et droit. Le facteur γΜ est ici saturé à une amplification de 6dB.

La technique de "downmix" stéréo à mono du document de Breebaart et al. cité précédemment est effectuée dans le domaine fréquentiel. Le signal mono M [k] est obtenu par une combinaison linéaire des canaux L et R suivant l'équation:

où w 1 , w 2 sont des gains à valeur complexe. Si w, = w 2 = 0.5 , le signal mono est considéré comme une moyenne des deux canaux L et R. Les gains W y , w 2 sont en général adaptés en fonction du signal court-terme en particulier pour aligner les phases.

Un cas particulier de cette technique de "downmix" fréquentiel est proposé dans le document intitulé "A stereo to mono downmixing scheme for MPEG-4 parametric stereo encoder" par Samsudin, E. Kurniawati, N. Boon Poh, F. Sattar, S. George, dans IEEE Trans., ICASSP 2006. Dans ce document, les canaux L et R sont alignés en phase avant d'effectuer le traitement de réduction des canaux.

Plus précisément, la phase du canal L pour chaque sous-bande fréquentielle est choisie comme la phase de référence, le canal R est aligné selon la phase du canal L pour chaque sous-bande par la formule suivante:

R'[k] = e J,CPm R[k] (8) où R '[k] est le canal R aligné, k est l'indice d'un coefficient dans la b lème sous-bande fréquentielle,

ICPD[b] est la différence de phase inter-canal dans la b lèms sous-bande fréquentielle donnée par:

K∞[b] = z(∑^L[k] .R' [k]) (9) où k h définit les intervalles fréquentiels de la sous-bande correspondante et * est le conjugué complexe. A noter que lorsque la sous-bande d'indice b est réduite à un coefficient fréquentiel, on trouve:

Finalement le signal mono obtenu par le "downmix" du document de Samsudin cité précédemment est calculé en moyennant le canal L et le canal R' aligné, selon l'équation suivante:

L'alignement en phase permet donc de conserver l'énergie en éliminant l'influence de la phase. Ce "downmix" correspond au "downmix" décrit dans le document de Breebart et al. où:

M [k] = w,L[£] + w 2 R [k] avec w, = ^ et w 2 = ICP ^[b] ^

Or, une conversion idéale d'un signal stéréo à un signal mono doit conserver l'énergie pour toutes les composantes fréquentielles du signal.

Cette opération de "downmix" est importante pour le codage stéréo paramétrique car le signal stéréo décodé n'est qu'une mise en forme spatiale du signal mono décodé.

La technique de "downmix" dans le domaine fréquentiel décrite précédemment conserve bien le niveau d'énergie du signal stéréo dans le signal mono en alignant le canal R et le canal L avant d'effectuer le traitement. Cet alignement de phase permet d'éviter les situations où les canaux sont en opposition de phase.

Cette méthode repose cependant sur une dépendance totale du traitement de "downmix" au canal (L ou R) choisi pour fixer la phase de référence.

Dans les cas extrêmes où le canal de référence a une énergie nulle ou correspond à un signal aléatoire (bruit ambiant, etc.), la phase du signal mono après le "downmix" peut devenir aléatoire ou être mal conditionnée et donner un signal mono résultant de mauvaise qualité.

L'invention vient améliorer la situation.

A cet effet, elle propose un procédé de codage paramétrique d'un signal audionumérique stéréo comportant une étape de codage d'un signal mono issu d'un traitement de réduction de canaux appliqué au signal stéréo et de codage d'informations de spatialisation du signal stéréo, le traitement de réduction des canaux comportant un calcul, par coefficient fréquentiel, de l'amplitude du signal mono en fonction de l'amplitude des canaux du signal stéréo. Le procédé est tel qu'il comporte en outre une détermination pour un ensemble prédéterminé de coefficients fréquentiels, de la phase du signal mono par le calcul de la phase du signal moyennant les canaux du signal stéréo.

Ainsi, le traitement de réduction de canaux selon l'invention est effectué dans le domaine fréquentiel, par coefficient fréquentiel de façon à contrôler très précisément l'énergie et la phase sur tout le spectre fréquentiel.

La détermination, selon l'invention, de la phase du signal mono permet d'obtenir cette information de phase de façon plus naturelle sans dépendre d'un canal stéréo en particulier. Ceci permet d'éviter les problèmes de situations particulières des canaux stéréo.

Pour s'adapter à ce traitement de réduction de canaux, dans un premier mode de réalisation, les informations de spatialisation comportent une première information sur l'amplitude des canaux stéréo et une seconde information sur la phase des canaux stéréo, la seconde information comportant, par coefficient fréquentiel, la différence de phase définie entre le signal mono et un premier canal stéréo prédéterrniné.

Ainsi, seules les informations de spatialisation utiles pour la reconstruction du signal stéréo, sont codées. Un codage bas débit est alors possible tout en permettant d'obtenir au décodeur un signal stéréo de bonne qualité.

Dans un deuxième mode de réalisation, la seconde information comporte en outre une indication minimale permettant de déduire la différence de phase entre le signal mono et le second canal stéréo.

Dans un mode privilégié de réalisation, l'indication minimale est codée sur un bit et indique le choix entre deux différences de phase possibles entre le signal mono et le second canal stéréo pour un codage bas débit. Dans une variante de réalisation, l'indication minimale est codée sur un bit et indique le choix entre deux gains possibles à appliquer à l'intensité du signal mono pour retrouver le second canal stéréo.

Pour s'adapter au traitement de réduction de canaux de l'invention, dans un troisième mode de réalisation, les informations de spatialisation comportent une première information sur l'amplitude des canaux stéréo et une seconde information donnant en particulier l'amplitude de la somme des canaux stéréo.

Ces informations de spatialisation suffisent pour reconstruire au décodeur un signal stéréo de bonne qualité.

Pour un codage bas débit des informations de spatialisation, la seconde information comporte, par coefficient fréquentiel, la valeur de l'amplitude de la somme des canaux stéréo et une indication minimale permettant de déduire le sens de rotation des canaux stéréo.

Dans une variante de réalisation, la seconde information comporte, par coefficient fréquentiel, la valeur d'un gain à appliquer à l'amplitude du signal mono et une indication minimale permettant de déduire le sens de rotation des canaux stéréo.

Dans une variante de réalisation de tous les modes, adaptée à un codage hiérarchique, la première information est codée par une première couche de codage et la seconde information est codée par une seconde couche de codage.

L'invention se rapporte également à un procédé de décodage paramétrique d'un signal audionumérique stéréo comportant une étape de décodage d'un signal mono reçu, issu d'un traitement de réduction de canaux appliqué au signal stéréo original et de décodage d'informations de spatialisation du signal stéréo original. Le décodage est tel qu'il comporte une synthèse des signaux stéréo, par coefficient fréquentiel, à partir du signal mono décodé comportant une information d'amplitude obtenue en fonction des amplitudes des canaux stéréo originaux et une information de phase du signal moyennant les canaux stéréo originaux et à partir d'informations de spatialisation décodées.

Le signal mono ainsi reçu permet d'obtenir un signal stéréo qui conserve l'énergie du signal stéréo original.

Dans un premier mode de réalisation, les informations de spatialisation décodées comportent une première information sur l'amplitude des canaux stéréo et une seconde information sur la phase des canaux stéréo, la seconde information comportant, par coefficient fréquentiel, l'angle défini entre le signal mono et un premier canal stéréo prédéterminé.

Ces informations permettent donc de restituer un signal stéréo de bonne qualité. Dans un deuxième mode de réalisation, la seconde information comporte en outre une indication minimale permettant de déduire l'angle entre le signal mono et le second canal stéréo.

Une simple indication à bas débit permet d'obtenir l'information pour retrouver les canaux stéréo avec le bon déphasage.

Dans un cas, l'indication minimale décodée indique le choix entre deux angles possibles entre le signal mono et le second canal stéréo.

Dans une variante l'indication minimale décodée indique le choix entre deux gains possibles à appliquer à l'intensité du signal mono pour retrouver le second canal stéréo.

Dans un troisième mode de réalisation, les informations de spatialisation comportent une première information sur l'amplitude des canaux stéréo et une seconde information sur l'amplitude de la somme des canaux stéréo.

Ces informations permettent également de restituer un signal stéréo de bonne qualité.

Dans une variante de réalisation la seconde information comporte, par coefficient fréquentiel, la valeur de l'amplitude de la somme des canaux stéréo et une indication minimale permettant de déduire le sens de rotation des canaux stéréo et dans une variante la seconde information comporte, par coefficient fréquentiel, la valeur d'un gain à appliquer à l'amplitude du signal mono décodé .et une indication minimale permettant de déduire le sens de rotation des canaux stéréo.

Dans une variante de réalisation de tous les modes, adaptée au décodage hiérarchique, la première information sur l'amplitude des canaux stéréo est décodée par une première couche de décodage et la seconde information est décodée par une seconde couche de décodage.

L'invention se rapporte également à un codeur paramétrique d'un signal audionumérique stéréo comportant un module de codage d'un signal mono issu d'un module de traitement de réduction de canaux appliqué au signal stéréo et un module de codage d'informations de spatialisation du signal stéréo, le module de traitement de réduction des canaux comportant un module de calcul, par coefficient fréquentiel, de l'amplitude du signal mono en fonction des amplitudes des canaux du signal stéréo. Le codeur est tel que le module de traitement de réduction des canaux comporte en outre un module de détermination pour un ensemble prédéterminé de coefficients fréquentiels, de la phase du signal mono par le calcul de la phase du signal moyennant les canaux du signal stéréo.

Elle se rapporte aussi à un décodeur paramétrique d'un signal audionumérique stéréo comportant un module de codage d'un signal mono issu d'un module de traitement de réduction de canaux appliqué au signal stéréo et un module de codage d'informations de spatialisation du signal stéréo, le module de traitement de réduction des canaux comportant un module de calcul, par coefficient fréquentiel, de l'amplitude du signal mono en fonction des amplitudes des canaux du signal stéréo. Le décodeur est tel que le module de traitement de réduction des canaux comporte en outre un module de détermination pour un ensemble prédéterminé de coefficients fréquentiels, de la phase du signal mono par le calcul de la phase du signal moyennant les canaux du signal stéréo.

Enfin, l'invention se rapporte à un programme informatique comprenant des instructions de code pour la mise en œuvre des étapes d'un procédé de codage selon l'invention et/ou d'un procédé de décodage selon l'invention.

L'invention se rapporte enfin à un moyen de stockage lisible par un processeur mémorisant un programme informatique tel que décrit.

D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels:

- la figure 1 illustre un codeur mettant en œuvre un codage paramétrique connu de l'état de l'art et précédemment décrit;

- la figure 2 illustre un décodeur mettant en œuvre un décodage paramétrique connu de l'état de l'art et précédemment décrit;

- la figure 3 illustre un codeur paramétrique stéréo selon un mode de réalisation de l'invention mettant en œuvre un procédé de codage selon plusieurs modes de réalisation de l'invention;

- les figures 4a et 4b illustrent le train binaire des informations de spatialisation codés dans un mode particulier de réalisation;

- les figures 5a et 5b illustrent sous forme d'organigramme, les étapes de détermination au codeur, des informations de spatialisation selon respectivement un premier mode et un deuxième mode de réalisation de l'invention; - les figures 6a et 6b illustrent un mode de calcul des informations de spatialisation et de synthèse des signaux stéréo utilisant ces informations selon le premier mode de réalisation;

- la figure 6c illustre un mode de calcul des informations de spatialisation et de synthèse des signaux stéréo utilisant ces informations selon le deuxième mode de réalisation;

- les figures 7a et 7b illustrent sous forme d'organigrammes, les étapes de détermination des informations de spatialisation selon un troisième mode de réalisation de l'invention dans une première et deuxième variante;

- les figures 8a et 8b illustrent un mode de calcul des informations de spatialisation et de synthèse dés signaux stéréo utilisant ces informations selon un troisième mode de réalisation;

- la figure 9 illustre une variante de réalisation d'un codeur selon l'invention;

- la figure 10 illustre un décodeur selon un mode de réalisation de l'invention, mettant en œuvre un procédé de décodage selon plusieurs modes de réalisation de l'invention;

- les figures l ia et 11b illustrent sous forme d'organigramme, les étapes de détermination au décodeur, des informations de spatialisation selon respectivement un premier mode et un deuxième mode de réalisation de l'invention;

- la figure 12 illustre sous forme d'organigramme, les étapes de détermination au décodeur, des informations de spatialisation selon un troisième mode de réalisation de l'invention;

- les figures 13a et 13b illustrent respectivement un exemple matériel d'un équipement incorporant un codeur et un décodeur aptes à mettre en œuvre le procédé de codage et le procédé de décodage, selon un mode de réalisation de l'invention.

En référence à la figure 3, un codeur paramétrique de signaux stéréo selon un mode de réalisation de l'invention, délivrant à la fois un signal mono et des paramètres d'information spatiale du signal stéréo est maintenant décrit.

Ce codeur stéréo paramétrique tel qu'illustré utilise un codage mono G.722 et étend ce codage en opérant en bande élargie avec des signaux stéréo échantillonnés à 16 kHz avec des trames de 5 ms. Il est à noter que le choix d'une longueur de trames de 5 ms n'est en aucun cas restrictif dans l'invention qui s'applique pareillement dans des variantes du mode de réalisation où la longueur de trames est différente, par exemple de 10 ou 20 ms. Chaque canal temporel (L et R) échantillonné à 16 kHz est d'abord pré-filtré par un filtre passe-haut (HPF pour High Pass Filter en anglais) éliminant les composantes en dessous de 50 Hz (blocs 301 et 302).

Les canaux L et R sont analysés en fréquences par transformée de Fourier discrète avec fenêtrage sinusoïdal à recouvrement de 50% de longueur 10 ms soit 160 échantillons (blocs 303 à 306). Pour chaque trame, le signal (L, R) est donc pondéré par une fenêtre d'analyse symétrique couvrant 2 trames de 5 ms soit 10 ms (160 échantillons). La fenêtre d'analyse de 10 ms couvre la trame courante et la trame future. La trame future correspond à un segment de signal "futur" communément appelé "Iookahead" de 5 ms.

Pour la trame courante, les spectres obtenus,

comprennent 81 coefficients complexes, avec une résolution de 100 Hz par coefficient fréquentiel. Le coefficient d'indice j=0 correspond à la composante continue (0 Hz), il est réel. Le coefficient d'indice y " =80 correspond à la fréquence de Nyquist (8000 Hz), il est aussi réel. Les coefficients d'indice 0 <j <80 sont complexes et correspondent à une sous- bande de largeur 100 Hz centrée sur la fréquence de j .

Les spectres L' et R' sont combinés dans le bloc 307 pour obtenir un signal mono (downmix) M' dans le domaine fréquentiel. Ce signal est converti en temps par FFT inverse et fenêtrage-recouvrement avec la partie "Iookahead" de la trame précédente (blocs 308 à 310).

Puisque le retard algorithmique de G.722 est de 22 échantillons, le signal mono est retardé (bloc 311) de T = 80-22 échantillons afin de permettre de réutiliser le résultat de l'analyse fréquentiel des blocs 305 et 306 car le retard accumulé entre le signal mono et les canaux stéréo devient un multiple de la longueur de trames (80 échantillons).

La trame courante de 5 ms du signal mono obtenu est codée par le codeur G.722 (bloc 312). Cependant l'invention s'applique également dans des variantes de réalisation où une version modifiée de G.722 est utilisée, voire un codeur différent de G.722.

Pour synchroniser l'extraction de paramètres stéréo (bloc 314) et la synthèse spatiale à partir du signal mono effectué au décodeur, il faut introduire dans le codeur- décodeur un retard de 2 trames. Le retard de 2 trames est spécifique à la mise en œuvre détaillée ici, en particulier il est lié aux fenêtres symétriques sinusoïdales de 10 ms. Ce retard pourrait être différent, par exemple on pourrait obtenir un retard d'une trame avec une fenêtre optimisée avec un recouvrement plus faible entre fenêtres adjacentes. Dans un mode particulier de réalisation de l'invention, illustré ici à la figure 3, le bloc 313 introduit un retard de deux trames sur les spectres L'[j] et R '[ j] afin d'obtenir les spectres L[j] et JR[ j] .

Cependant, on pourrait de façon plus avantageuse en termes de quantité de données à stocker, décaler les sorties du bloc 314 d'extraction des paramètres ou encore les sorties des blocs de quantification 315 et 316. On pourrait également introduire ce décalage au décodeur à la réception des couches d'amélioration stéréo.

Parallèlement au codage mono, le codage de l'information spatiale stéréo est mis en œuvre dans les blocs 314 à 316.

Les paramètres stéréo sont extraits (bloc 314) et codés (blocs 315 et 316) à partir des spectres L', R et M' décalés de deux trames: L, R et M. .

Le bloc de traitement de réduction de canaux 307 ou "downmix" est maintenant décrit plus en détails.

Celui-ci réalise selon un mode de réalisation de l'invention, un "downmix" dans le domaine fréquentiel pour obtenir un signal mono M '[ jfj .

Ce signal mono M '[j] est calculé par la formule suivante qui définit l'amplitude et la phase pour chaque raie fréquentielle:

A noter que l'amplitude du canal mono peut également être déterminée selon une formule du type:

Ainsi, le traitement de réduction des canaux du signal stéréo comporte un calcul par coefficient fréquentiel, de l'amplitude du signal mono en fonction des amplitudes des canaux du signal stéréo effectuée dans le module 330 du bloc 307 et une détermination par coefficient fréquentiel, de la phase du signal mono par le calcul de la phase du signal moyennant les canaux du signal stéréo effectuée dans le module 331 du bloc 307.

A noter qu'une variante de réalisation du calcul de l'amplitude et de la phase de ce signal mono revient à calculer de façon équivalente, par coefficient fréquentiel (ou raie fréquentielle):

M ij] = Îj .{LV)+R ]) (16)

avec

Ainsi on retrouve

Le facteur de compensation est calculé et appliqué dans le domaine fréquentiel, ici coefficient par coefficient, et ce facteur est calculé à partir des amplitudes des canaux stéréo et non de l'énergie de ces canaux et à partir du signal moyennant les canaux stéréo. Ainsi on conserve l'amplitude partout dans le spectre sur toute la bande à coder, et non pas sur une zone de fréquence dominante.

Le traitement de "downmix" dans le domaine fréquentiel implique un retard de 5 ms pour la reconstruction avec recouvrement-addition.

Cependant le codeur présenté ici utilise des trames courtes de 5 ms. L'impact sur le retard algorithmique du codeur global n'est donc pas trop important. Ce retard additionnel serait plus gênant avec des trames plus longues de l'ordre de 20 ms. Néanmoins il existe des solutions pour réduire ce retard additionnel en particulier en utilisant une fenêtre optimisée non sinusoïdale avec un recouvrement plus faible entre fenêtres adjacentes. Par ailleurs, la complexité additionnelle due à l'opération de "downmix" dans le domaine fréquentiel est limité ici à la conversion fréquences/temps du signal mono (blocs 308 à 310) car dans tous les cas la conversion temps/fréquence des canaux stéréo (blocs 303 à 306) est nécessaire à l'extraction et au codage des paramètres stéréo qui sont définis et calculés dans le domaine fréquentiel.

Pour adapter les paramètres de spatialisation au signal mono tel qu'obtenu par le traitement de "downmix" décrit ci-dessus, une extraction particulière des paramètres par le bloc 314 est maintenant décrite en référence à la figure 3.

Pour l'extraction des paramètres ICLD (bloc 314), les spectres L[ j] et R[j] sont découpés en 20 sous-bandes de fréquences. Ces sous-bandes sont définies par les frontières suivantes :

{ B(k) } t=0 ,.., 20 = [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 13, 16, 19, 23, 27, 31, 37, 44, 52, 61, 80]

Le tableau ci-dessus délimite (en nombre de coefficients de Fourier) les sous- bandes fréquentielles d'indice k = 0 à 19. Par exemple la première sous-bande (k=0) va du coefficient B(k)= à B(k+1 )-l = 0; elle est donc réduite à un seul coefficient (100 Hz). De même, la dernière sous-bande (k=19) va du coefficient B(k)=61 à B(k+l)-l = 79, elle comprend 19 coefficients (1900 Hz).

Pour chaque trame, l'ICLD de la sous-bande k—0,.,.,19 est calculée suivant l'équation:

ICLD[it] = 10.1og 10 dB (18)

où a [k] et <Τ β [&] représentent respectivement l'énergie du canal gauche (L) et du canal droit (R).

Selon un mode de réalisation particulier, dans une première couche d'extension stéréo (+8 kbit/s), les paramètres ICLD sont codés par une quantification scalaire non- uniforme différentielle (bloc 315) sur 40 bits par trame. Cette quantification ne sera pas détaillée ici car elle dépasse le cadre de l'invention.

On sait selon l'ouvrage J, Blauert, "Spatial Hearing: The Psychophysics of Human Sound Localization", revised édition, MIT Press, 1997 que l'information de phase pour les fréquences inférieures à 1.5-2 kHz est particulièrement importante pour obtenir une bonne qualité stéréo. L'analyse temps-fréquence réalisée ici donne 80 coefficients frequentiels par trame, soit une résolution de 100 Hz par coefficient. Le budget de bits étant de 40 bits et l'allocation étant, comme expliqué plus loin, de 5 bits par coefficient, seules 8 raies peuvent être codées. Par expérimentation les raies d'indice j~2 à 9 ont été choisies pour ce codage de l'information de phase. Ces raies correspondent à une bande de fréquences de 150 à 950 Hz.

Ainsi, pour la seconde couche d'extension stéréo (+8 kbit/s) les coefficients fréquentiels où l'information de phase est la plus importante perceptuellement sont identifiés, et les phases associées sont codées (bloc 316) par une technique détaillée ci-après en référence aux figures 6a et 6b en utilisant un budget de 40 bits par trame.

Normalement pour que le décodeur puisse reconstruire les canaux L et R, il faudrait coder deux angles par coefficient fréquentiel.

Dans le premier mode de réalisation de l'invention décrit ici, un seul angle entre un premier canal stéréo, par exemple ici le canal secondaire (défini plus loin) et le signal mono défini par le traitement de "downmix" du bloc 307, est codé.

Cette seule information suffit pour retrouver le canal dominant comme expliqué ultérieurement en référence à la figure 6b.

Dans un deuxième mode de réalisation, l'angle entre le canal dominant (défini plus loin) et le signal mono est codé et une autre information minimale est également codée, sur 1 bit, pour permettre de déduire l'angle du second canal stéréo, ici, le canal secondaire à partir des autres informations déjà codées.

Plus précisément, les paramètres qui sont transmis dans la deuxième couche d'amélioration stéréo sont pour chaque raie dans le premier mode de réalisation:

- l'angle ?[ j entre le signal mono et le canal secondaire, codé sur 5 bits dans suivant une quantification scalaire uniforme et de pas— .

Dans le deuxième mode de réalisation, les paramètres qui sont transmis dans la deuxième couche d'amélioration stéréo sont pour chaque raie

- 'angle a[j] entre le signal mono et le canal dominant, codé sur 4 bits dans l'intervalle

- un indicateur b[j] permettant de choisir entre /¾[ ] et ¾[/] codé sur 1 bit: b[j] ~ 0 pour fi 0 [f et 1 pour β { [j] . Pour chaque raie j considérée, il faut donc 5 bits. Le budget total de la deuxième couche étant de 40 bits par trame, on ne code donc que les paramètres associés à 8 coefficients Séquentiels, de façon préférentielle pour les raies d'indice j-2 à 9.

Les figures 4a et 4b présentent la structure du train binaire pour le codeur dans un mode de réalisation privilégié. Il s'agit d'une structure de train binaire hiérarchique issue du codage scalable avec pour codage cœur, le codage de type G.722.

Le signal mono est ainsi codé par G.722 à 56 ou 64 kbit/s.

A la figure 4a, le codage cœur G.722 fonctionne à 56 kbit/s et une première couche d'extension stéréo (Ext.stereo I) est ajoutée.

A la figure 4b, le codage cœur G.722 fonctionne à 64 kbit/s et deux couches d'extension stéréo (ExLstereo 1 et Ext.stereo 2) sont ajoutées.

Le codeur fonctionne donc selon deux modes (ou configurations) possibles:

- un mode avec un débit de 56+8 kbit/s (figure 4a) avec un codage du signal mono (downmix) par un codage G.722 à 56 kbit/s et une extension stéréo de 8 kbit/s.

- un mode avec un débit de 64+16 kbit/s (figure 4b) avec un codage du signal mono (downmix) par un codage G.722 à 64 kbit/s et une extension stéréo de 16 kbit/s.

Pour ce deuxième mode, on suppose que les 16 kbit/s additionnels sont divisés en deux couches de 8 kbit/s dont la première est identique en termes de syntaxe (i.e. paramètres codés) à la couche d'amélioration du mode 56+8 kbit/s.

Ainsi le train binaire représenté en figure 4a comporte l'information sur l'amplitude des canaux stéréo, par exemple les paramètres ICLD tels que décrits ci-dessus.

Le train binaire représenté en figure 4b comporte à la fois l'information sur l'amplitude des canaux stéréo dans la première couche d'extension et l'information de phase des canaux stéréo dans la deuxième couche d'extension.

Le découpage en deux couches d'extension montré aux figures 4a et 4b pourrait se généraliser au cas où au moins l'une des deux couches d'extension comprend à la fois une partie de l'information sur l'amplitude et une partie de l'information sur la phase.

Dans les modes de réalisation décrits ci-dessus, l'information de phase comporte la différence de phase du signal mono avec un des canaux stéréo déterminé comme secondaire pour le premier mode de réalisation ou dominant pour le second mode de réalisation. Dans le cas du second mode de réalisation, l'information de phase comporte aussi une indication minimale permettant de déduire la différence de phase du signal mono avec le canal stéréo déterminé comme secondaire. Le budget alloué pour coder cette information de phase n'est qu'un exemple particulier de réalisation. Il peut être inférieur et dans ce cas ne prendre en compte qu'un nombre réduit de raies fréquentielles ou au contraire supérieur et peut permettre de coder un plus grand nombre de raies fréquentielles.

De même le codage de ces informations de spatialisation sur deux couches d'extension est un mode de réalisation particulier. L'invention s'applique également au cas où ces informations sont codées dans une seule couche de codage d'amélioration.

La détermination des informations de phase est maintenant explicitée en référence aux figures 6a, 6b et 6c.

On distingue ici deux canaux pour chaque raie j-2 à 9: le canal dominant X [j] et le canal secondaire Y [j] .

Au décodeur ces canaux sont déterminés comme suit:

où î[j] est l'information d'amplitude - définie à l'équation 42 -qui correspond au rapport d'amplitude entre canal gauche et canal droit. Ainsi le canal dominant X [j] est le canal décodé L[j] ou R[j] dont l'amplitude est la plus forte. De façon similaire, le le canal

j\ est le canal décodé L[j] ou R[j] dont Γ amplitude est la plus faible.

Aussi pour assurer la cohérence entre codeur et décodeur on définit de la même façon au codeur les canaux dominant et secondaire comme:

et

SI HÉ < 1

où est une information disponible au codeur (par décodage local). Le critère de décision 7[ j] est donc identique pour le codeur et le décodeur.

Les vecteurs complexes associés au canal dominant X [j] et au canal secondaire Y[j] sont illustrés à la figure 6a où on définit également les angles C£[J] et β[ respectifs par rapport au canal mono M [ j ] .

Pour simplifier les notations les indices de coefficients fréquentiels ne sont pas notés sur cette figure. En particulier X [j] , Y [j] et M [ j] sont notés respectivement X, Y et M sur cette figure.

A noter qu'on présente ici les développements en utilisant les signaux originaux X [j], Y[j] et M [j] ; cependant pour rendre les codeur et décodeur cohérents, il serait possible dans une variante au codeur d'utiliser à leur place des versions quantifiées X [j] , f[j] et M [j] disponibles par décodage local hiérarchique des couches mono et des couches d'amélioration stéréo. Dans le mode de réalisation privilégié on utilise au codeur les signaux originaux X [j], et ce " évite en particulier un décodage local G.722 et permet de réduire la complexité.

Le calcul du signal "downmix" est illustré dans le plan complexe, le signal mono M suit l'angle de L+R mais l'amplitude est calculée par une moyenne des amplitudes des canaux du signal stéréo.

Sur la figure 6a, on définit deux angles:

- la différence de phase entre le canal dominant et le signal mono:

a[j} = Z(Xlj].M < UÎ)

- la différence de phase entre le canal secondaire et le signal mono:

où Z(.) est l'opérateur qui donne l'argument (ou phase) de l'opérande complexe.

Par définition du signal mono suivant l'invention, l'angle a[j] est compris dans

K 7C

l'intervalle

2 ' 2 On montre maintenant comment il est possible de retrouver l'angle cx[j] en supposant connus M [ j] , Y [j] et |Z [ jf]| .

Le principe de ce premier mode de réalisation est discuté sur la base de la figure

6b.

Sur le plan théorique, le problème peut être posé de façon géométrique. D'après les éléments supposés connus (M [ j] , Y[j et \∑[ j]| ), on connaît à la figure 6b les points

M, Y et l'angle β[ et on cherche l'angle a[ j] . L'angle défini par YKO est identique à l'angle a[ j] et la longueur YK est identique à [ . Dans le triangle YKO on connaît deux cotés et l'un des angles

manquant.

Si on projette le canal secondaire Y sur la droite OM, où O est le point du plan complexe correspondant à une valeur nulle et M est le point du plan complexe correspondant à M[j], on trouve:

|Z[7]|.|sin a[;]| = |7[7]|.|sin ^[j}|

Autrement dit, l'information de phase à coder se réduit à l'angle β[ j] , puisqu'on retrouve cx j] avec la formule suivante :

Pour bien comprendre le codage des informations de spatialisation pour la deuxième couche d'extension stéréo selon ce premier mode de réalisation, la figure 5a illustre un organigramme représentant les étapes de ce codage.

Ainsi, à l'étape B501, on décode l'information d'amplitude qui correspond au rapport d'amplitude entre canal gauche et canal droit. Ce décodage local est possible car cette information est disponible lors du codage de la phase.

Ensuite à l'étape B502 on détermine le canal secondaire de la façon suivante :

YU] = RU] > 1

et

Les angles β[ représentant les angles, par coefficient fréquentiel, entre le signal mono M [j] et le canal secondaire Y[j] sont calculés en B503.

L'angle peut par exemple être calculé de la façon suivante:

^[;] = arctan 2(Re(7.M * ),Im(F. * )) où la fonction arctan 2(x, y) est définie par :

arctan(y I x) x > 0

^+arctan(y/x) v≥0,x< 0

-?zr+ arctan(v /x) ν < 0,λ' < 0

arctan2(;c, y) =

π/2 y > 0,x = 0

-π/ 2 y < Q,x = 0

indéfini y = 0,x = 0

Les angles sont quantifiés dans le bloc B504. Par exemple, on considère ici

7V le cas d'une quantification scalaire uniforme sur 5 bits et de pas — dans l'intervalle [—π, .

On montre maintenant comment il est possible de retrouver l'angle β[ en supposant connus M[j] , X[j] et selon un deuxième mode de réalisation. Cette estimation de l'angle β[ est illustrée à la figure 6c. Si on projette le canal dominant X sur la droite OM, où O est le point du plan complexe correspondant à une valeur nulle et M est le point du plan complexe correspondant à M[j] , on trouve:

|Z[j]|.|sin«[ ]| = |y[4|sin /]| (19)

On peut d c trouver l'angle β[]] avec la relation:

L'équation ci-dessous permet de retrouver l'angle β[]] comme suit:

où s = +1 ou -1 de sorte que le signe de β[β soit opposé à celui de plus précisément:

Cependant si β 0 [β vérifie |X ' ]|.|sinûf[j]| = |y[ ]|.|sin/?[j]| , alors /?,[/] défini par:

vérifie aussi l'équation (21).

H faut donc un bit d'information supplémentaire pour lever l'ambiguïté entre β 0 [ et AL/] .

Un exemple de mise en œuvre du principe de calcul de β 0 [ et est donné par un exemple de code en annexe A-l.

A noter que pour que l'estimation ci-dessus soit valable il faut que, comme montré sur la figure 6c, la droite OM définie par le signal mono ait au moins une intersection avec le cercle de rayon centré sur X. Dans le cas contraire, il y aurait une incohérence mathématique, et l'hypothèse sur la définition du signal mono de la forme serait invalide et il serait impossible de déduire la phase du signal secondaire.

La différence de phase a[j] entre le canal dominant X et le signal mono M est ainsi conditionnée par la contrainte générale suivante:

!χ[4 η ( ·])| < |7[ 7 ·]| (24)

On en déduit:

< arcsin (25)

û Cette condition doit être vérifiée, y compris au décodeur à partir des paramètres décodés.

Afin d'aligner les traitements entre codeur et décodeur, on pourra utiliser les paramètres décodés en local au codeur et disponibles pour le codage de l'information de phase, ce qui donne la relation suivante:

< arcsin î[j]) si î[j] < 1

et

Pour bien comprendre le codage des informations de spatialisation pour la deuxième couche d'extension stéréo selon ce deuxième mode de réalisation, la figure 5b illustre un organigramme représentant les étapes de ce codage.

Ainsi, à l'étape E501, les angles O [j] sont calculés par coefficient fréquentiel.

Ces angles sont ceux que forment, par coefficient fréquentiel, le canal mono M [ j avec le canal dominant X j] . L'angle c [j] peut par exemple être calculé de la façon suivante:

Les angles Ci [j] pour j=2,...,9 sont ensuite quantifiés en E502 et la condition de l'équation (25) ci-dessus est vérifiée à l'étape E503.

Les angles représentant les angles, par coefficient fréquentiel, entre le signal mono M [ j] et le canal secondaire Y[j] sont calculés en E504.

L'angle β[ϊ] peut par exemple être calculé de la façon suivante: β[ϊ] = arctan2(Re(F. " * ) ,Im(r. ,e ))

Les angles j3 0 [j] et /¾[ ] sont également déterminés en E505 comme formulé dans les équations (21) et (23) ci-dessus. Pour chaque raie fréquentielle, un indicateur b[j] est utilisé pour sélectionner un des deux angles β 0 [β ou /-¾[/] en prenant l'angle β[] comme référence, à l'étape E506. Enfin, l'indicateur b j] est quantifié en E507 par un bit, où

Dans une variante du deuxième mode de réalisation décrit ci-dessus, le canal secondaire Y est reconstruit en combinant le canal dominant X et le signal mono M multiplié par un facteur de gain. Ce calcul est une formulation équivalente en l'absence de quantification sur X et M et remplace donc la rotation par l'angle β détaillée au-dessus.

Le principe de cette variante est discuté sur la base de la figure 6c décrite précédemment.

Au codeur, on a une relation entre les vecteurs X, K et M suivant:

|£- X| = |F| (26)

Or le point M se trouvant sur la droite OK, on cherche un gain λ tel que:

Κ = λΜ (27)

A partir des équations (26) et (27), on en déduit:

{X r -XM r f + {X. -λΜ,) 1 = |i (28)

où M = M r + j.M ; et X = X r + j.X { On en déduit ainsi l'équation suivante:

Γ 2 +Y 2 ) +À 2 (M r 2 +M l 2 ) -2À(X r M r + X i M i ) = (29)

On obtient une équation d'ordre 2 en fonction du facteur λ :

2 | | -2Α(Ζ Γ _ + Χ,.Μ,.) + (|Ζ| 2 -|7| 2 ) = 0 (30)

L'équation (30) a deux solutions et en fonction de λ , qui permettent de trouver deux candidats pour le canal secondaire Y:

7 0 = ^. -J (31)

Υ^ λ,Μ - Χ (32)

Ces deux candidats Y 0 et Y x correspondent aux deux points K et K' représenté sur la figure 6c.

A noter que pour que l'équation (30) ait bien deux solutions, on trouve la condition : (X r M r +X l M l ) 2 > -frf ) (33)

On peut montrer que cette condition donnée à l'équation (33) est en fait équivalente à la condition donnée à l'équation (25).

Ainsi, dans cette variante de réalisation, dans la deuxième couche d'amélioration stéréo, les paramètres codés sont:

il it

l'angle a[j (/=2...9) codé sur 4 bits dans l'intervalle suivant une

' 2 quantification scalaire uniforme de pas— ;

- un indicateur b[j] (j=2...9) permettant de choisir entre deux gains possibles l et > codé sur 1 bit : b[j] j] .

Le mode de réalisation a été présenté à partir des informations d'amplitude originales \L[j]\ , A noter que la phase est codée par coefficient fréqùentiel et utilise une information d'amplitude ( L[j] , R[j] ) coefficient par coefficient. Or l'information d'amplitude - qui est transmise sous forme dlCLD dans la première couche d'amélioration - est codée par sous-bandes fréquentielles, et ces sous-bandes peuvent comprendre plusieurs coefficients fréquentiels. Aussi on fait l'approximation suivante pour le codage et le décodage des informations dans la deuxième couche:

Quand la raie fréquentielle d'indice 7 * correspond à une sous-bande dont la taille est supérieure à un seul coefficient, alors les amplitudes sont supposées être

celles obtenues en appliquant l'information d'amplitude constante î[j] sur la sous-bande.

Dans un troisième mode de réalisation du procédé de codage selon l'invention, le traitement de réduction de canaux est identique mais les informations de spatialisation qui sont transmises au décodeur sont différentes. A noter que ce troisième mode de réalisation est à lui tout seul nouveau et inventif.

Comme dans le premier mode de réalisation, une première couche d'extension de codage contient l'information d'intensité des canaux stéréo, par exemple le paramètre ICLD tel que défini précédemment.

Cependant, ici, la seconde couche d'extension ne contient pas des informations sur les différences de phase des canaux stéréo. Cette seconde couche d'extension contient l'amplitude codée de la somme des signaux stéréos d [j] = |L[y] + i? [/]| . Comme le budget disponible par trame est de 40 bits dans le mode particulier du codeur décrit en référence à la figure 3, celui-ci ne permet pas de coder l'amplitude de la somme , pour toutes les raies fréquentielles. Seules les raies fréquentielles où cette information est identifiée comme perceptuellement importante sont utilisées.

Dans ce mode de réalisation l'identification du canal dominant n'est pas nécessaire. Pendant la description de ce mode de réalisation la notation suivante est utilisée :

[j] est l'angle entre [/] et L[j] et ?[; ' ] est l'angle entre M [j] et R[j] , indépendamment de la dominance d'un canal.

Les figures 7a et 7b illustrent des organigrammes représentant les étapes de codage des informations de spatialisation pour la deuxième couche d'extension stéréo selon ce troisième mode de réalisation pour deux variantes.

Dans une première étape E701 pour la figure 7a et E711 pour la figure 7b, l'amplitude d j] de la somme des canaux stéréo est calculée par raie fréquentielle.

La quantification de cette amplitude, à l'étape E702 pour la figure 7a et E712 pour la figure 7b, peut être faite directement, en quantifiant la valeur de l'amplitude d [j] , par exemple avec un quantificateur scalaire utilisant 4 bits par raie spectrale.

On sait que la valeur de l'amplitude décodée d [j] est non négative et qu'elle doit vérifier les inégalités suivantes qu'on référencera par la suite comme des "inégalités triangulaires" :

En effet, L[jt , .

L'égalité est aussi permise et correspond au cas où les canaux sont parfaitement en phase ou parfaitement en phase inverse. On considérera par la suite, par abus de langage, que ces cas extrêmes représentent aussi un triangle où la longueur du coté le plus long est la somme des longueurs des deux autres cotés. Les trois angles de ce triangle sont donc de 0, 0 et π. Quand les canaux sont parfaitement en phase, <i [7] = j ' | + |R[j]| , ^[j] = 0 et β[ΐ] = . Et quand les canaux sont parfaitement en phase opposée et par exemple

L'étape de quantification peut également s'effectuer par rapport à la valeur de l'amplitude du signal mono, M [ j] , déjà décodée, sous la forme d'un facteur d'échelle (ou gain), de la façon suivante:

où la valeur du gain g [j] est quantifiée, par exemple avec un quantificateur scalaire utilisant 4 bits par raie spectrale.

De façon similaire au cas précédent, la valeur quantifié de g [ j] notée g [j] doit vérifier les inégalités suivantes :

Sur la figure 7a on ne vérifie pas si les paramètres après quantification vérifient bien les inégalités triangulaires, cette vérification et l'éventuelle correction seront faites au décodeur. La version représentée sur la figure 7b présente un décodeur local (non représenté sur la figure 3 du codeur) et produit les valeurs quantifiées des paramètres |L[ 7 ' ]| , et d [j] . Les inégalités triangulaires sont vérifiées au codeur à l'étape E713. En cas de problème détecté (N en E714) une nouvelle valeur quantifiée est choisie par le quantificateur de d[ 7] en E712 et cela jusqu'à la vérification des inégalités triangulaires (O en E714).

Dans le train binaire on envoie dans ce cas l'indice de quantification avec lequel la valeur décodée de d [ j] vérifie les inégalités triangulaires.

En plus de cette information d'amplitude de la somme ou de gain, on transmet une information minimale (1 bit) notée b [ j] pour permettre de déduire le sens de rotation des canaux gauche et droite par rapport au signal mono.

Les figures 8a et 8b illustrent un exemple géométrique pour une raie de fréquence choisie, à partir des valeurs ] . Sur ces figures OD correspond à la valeur d'amplitude d [ j] sur l'axe défini par le mono (OM). Les figures 8a et 8b illustrent les deux solutions possibles avec les valeurs [y] , |£[/]| > u ] données, le bit d'information transmis permet de choisir entre ces deux possibilités.

Par exemple ce bit peut indiquer le sens de rotation d'un canal par rapport au signal mono, celui du canal gauche ûr[ ] est suffisante, celui du l'autre canal ne doit pas être transmis car il est toujours l'opposé de ce premier. On peut aussi choisir de transmettre le signe de l'angle pour le canal dominant.

Pour cela dans les étapes E703 et E715 des figures 7a et 7b, on déterrnine l'angle a[ j] que forme l'un des canaux avec le signal mono. On détermine ensuite à l'étape E704 et E716 des figures 7a et 7b, le signe de l'angle et on quantifie sur un bit le sens de rotation à l'étape E705 et E707 respectivement.

Ainsi, au décodeur, connaissant M [ j] , |L[ /]| , |i? [ jr ' ]| et d [ j] on peut retrouver les valeurs quantifiées des angles â[j] et et ainsi L[y]eti?[ ] .

Le mode de réalisation a été présenté à partir des informations d'amplitude originales odée par coefficient fréquentiel et utilise un coefficient par coefficient. Or

l'information d'amplitude - qui est transmise sous forme d'ICLD dans la première couche d'amélioration - est codée par sous-bandes fréquentielles, et ces .sous-bandes peuvent comprendre plusieurs coefficients fréquentiels. Aussi on fait l'approximation suivante pour le codage et le décodage des informations dans la deuxième couche:

Quand la raie fréquentielle d'indice j correspond à une sous-bande dont la taille est supérieure à un seul coefficient, alors les amplitudes L[j et R[j]\ sont supposées être celles obtenues en appliquant l'information d'amplitude constante î[j] sur la sous-bande, soit

tel que défini plus loin. Une variante de réalisation du codeur de la figure 3 est maintenant présentée en référence à la figure 9.

Dans ce codeur, le bloc 307 effectuant le traitement de "downmix" à l'aide des modules 330 et 331 selon l'invention, extrait également des paramètres de spatialisation des signaux stéréo grâce au module 332.

Ces paramètres sont déterminés conformément aux premier, deuxième et troisième modes de réalisation décrits précédemment ainsi que pour leurs variantes.

Dans le premier mode de réalisation, la différence de phase entre le signal mono obtenu par le traitement de "downmix" et un des canaux stéréo déterminé comme secondaire , est déterminé par le module 332.

Dans le deuxième mode de réalisation, la différence de phase entre le signal mono obtenu par le traitement de "downmix" et un des canaux stéréo déterminé comme dominant est déterminé par le module 332. L'indicateur permettant de retrouver la différence de phase entre le signal mono et le second canal déterminé comme secondaire est aussi déterminé par le module 332.

Dans une variante de ce deuxième mode de réalisation, l'indicateur permettant de déterminer un gain à appliquer au signal mono pour retrouver le canal secondaire, est déterminé.

Dans le troisième mode de réalisation, c'est l'amplitude de la somme des signaux stéréo qui est déterminé dans le module 332 du bloc 307. Une indication permettant de retrouver le sens de rotation des canaux stéréo est aussi déterminée dans ce module.

Dans une variante de ce troisième mode de réalisation, c'est un gain à appliquer au signal mono qui est déterminé pour retrouver l'amplitude de la somme des signaux stéréo.

Ces paramètres subissent un décalage de deux trames en 313 comme les signaux L '[j] et R '[;] et tel qu'expliqué en référence à la figure 3.

Le bloc 314 d'extraction des paramètres, récupère ces paramètres du bloc 307 et détermine le paramètre d'information d'intensité, par exemple le paramètre ICLD. Ce bloc 314 transmet alors tous ces paramètres pour une quantification en 315.

Les codeurs tels que représentés aux figures 3 et 9, utilisent une analyse-synthèse par FT avec une fenêtre symétrique sinusoïdale.

Cependant, une fenêtre plus courte, voire asymétrique, pourrait être avantageusement utilisée pour réduire le retard de codage. De façon générale, l'invention s'applique pareillement pour une mise en œuvre utilisant une analyse temps-fréquence différence d'un banc de filtres par FFT. Par exemple on pourra utiliser un banc de filtres fréquentiels avec une transformation "Modulated Complex Lapped Transform" (MCLT) combinant deux transformées en quadrature une "Modulated Discrète Cosine Transform" (MDCT) et une "Modulated Discrète Sine Transform" (MDST), ou encore un banc de filtre de type "pseudo quadrature mirror filter" (PQMF) complexe.

Par ailleurs, le principe de l'invention s'applique aussi au cas où le codeur et le décodeur G.722 sont remplacés par d'autres codeurs de caractéristiques éventuellement différentes (débit, longueur de trames...).

En référence à la figure 10 un décodeur selon mode de réalisation de l'invention est maintenant décrit.

Ce décodeur comporte un démultiplexeur 501 dans lequel le signal mono codé est extrait pour être décodé en 502 par un décodeur de type G.722 dans cet exemple. La partie du train binaire (scalable) correspondant à G.722 est décodée à 56 ou 64 kbit/s suivant le mode sélectionné. On suppose ici qu'il n'y a pas de perte de trames ni d'erreurs binaires sur le train binaire pour simplifier la description, cependant des techniques connues de correction de perte de trames peuvent bien évidemment être mises en œuvre dans le décodeur.

Le signal mono synthétisé correspond à M(n) en l'absence d'erreurs de canal. Une analyse par transformée de Fourier discrète à court-terme avec le même fenêtrage qu'au codeur est réalisée sur M in) (blocs 503 et 504) pour obtenir le spectre M [j] .

La partie du train binaire associée à l'extension stéréo est aussi dé-multiplexée. Les paramètres ICLD sont décodés pour obtenir {lCLD q [ί -Ι, Α;]}^ q (bloc 505) et la . différence de phase β [ j entre le canal secondaire et le signal M par raie fréquentielle est décodée (bloc 506) pour obtenir β [ j] selon un premier mode de réalisation.

Selon un deuxième mode de réalisation, c'est la différence de phase C([j entre le canal dominant et le signal M par raie fréquentielle qui est décodée (bloc 506) pour obtenir â[ j] . Les amplitudes des canaux gauche et droit sont reconstruites (bloc 507) en appliquant les paramètres ICLD décodés par sous-bande. Cette synthèse est réalisée comme suit:

[ et c 2 [ j] sont les facteurs qui sont calculés à partir des valeurs d'ICLD par

Ces facteurs J J] et c 2 [j sont par exemple sous la forme suivante:

est défini à partir du paramètre ICLD décod comme

où ICLD q [j] est le paramètre ICLD décodé pour la raie j.

Le rapport 7 [ j] est décodé à partir des informations codées dans la première couche d'amélioration stéréo à 8 kbit/s. Le codage et le décodage associé ne sont pas détaillés ici, mais pour un budget de 40 bits par trame on peut considérer que ce rapport est codé par sous-bande et non pas raie fréquentielle, avec une découpe en sous-bandes non uniforme. Si le décodeur fonctionne à 56+8 kbit/s pour la trame courante, seuls les paramètres /[/] décodés par sous-bande sont utilisés pour reconstruire les spectres des canaux L et R, tel que décrit précédemment, soit l'équation (41).

Si le décodeur fonctionne à 64+16 kbit/s, le décodeur reçoit en plus les informations codées dans la deuxième couche d'amélioration stéréo, ce qui permet de décoder les paramètres β [ j] pour les raies d'indice j=2 à 9 dans un premier mode de réalisation de l'invention et les paramètres â[j] et b [ j] pour les raies d'indice j ' =2 à 9 dans un deuxième mode de réalisation.

Au décodeur on définit pour chaque raie fréquentielle le canal dominant X [j] et le canal secondaire Y[ j] comme suit:

\ X [j] = ÎU]

IUÎ > i

Y[jl = R[j] Dans un premier mode de réalisation, on reconstruit le canal secondaire à partir des angles β[ j] simplement décodés par le bloc 506, simplement suivant la formule : [; rmn(c 1 [;lc 2 [;]). [i]e^ '1 (43b)

L'amplitude du canal dominant est décodé à l'aide du signal mono décodé M [y] , du canal secondaire décodé Y[j] et de l'amplitude X[j] qui est connue à partir du rapport î [j] , par la formule suivante:

L'angle â[ j] est déduit à partir de la relation suivante: â[j] =

et le canal dominant est reconstruit suivant la formule

X[f = max(c, [j], c 2 [j]).M [j]e (43)

Dans un deuxième mode de réalisation, , on reconstruit le canal dominant à partir des angles â[ ; ' ] décodés par le bloc 506, simplement par la formule:

X[j] = max {c j C t UjyMUV* 1 » (43)

L'amplitude du canal secondaire est décodé à l'aide du signal mono décodé M[j] , du canal dominant décodé X[j] et de l'amplitude \Y[j] connue à partir du rapport î[j] , par la formule suivante: | [ ] .min (c 1 [7], C2 [ ]) (44)

Pour chaque raie fréquentielle j=2 à 9 on reçoit l'indicateur b[j] dont la valeur permet de choisir entre deux angles décodés j3 0 [j] et

Le calcul de p Q [j et p^j] est identique à la méthode donnée à la figure 6c et utilise les informations décodées â[j] et î[j] et non leurs valeurs originales.

A partir du calcul de β 0 [β et et du bit reçu b[j] , le canal secondaire est reconstruit en effectuant une rotation par l'angle p [j] (le signe de p[j] est opposé du Oc[j] ) selon la formule suivante:

Ylj] = M[j]e J ^ lJ1 (45)

A noter que la formule ci-dessus n'est valide et applicable que si la condition suivante est vérifiée:

où X [j] est le canal dominant décodé et f [j] est le canal secondaire décodé. Dans le cas considéré où L est dominant et R est secondaire, la condition devient:

Dans le cas inverse où R est dominant et L est secondaire: < arcsin (|/[;]|) (47)

Dans le cas où cette condition n'est pas vérifiée, on limite l'angle â[j] de la façon suivante: arcsin (48)

Le décodage décrit précédemment pour le débit de 64+16 kbit/s fonctionne alors correctement.

Les spectres R[j] et L[j] sont déduits de X [j] et f [j] et convertis dans le domaine temporel par FFT inverse, fenêtrage, addition et recouvrement (blocs 508 à 513) pour obtenir les canaux synthétisés R (n) et L n) .

La figure lia présente l'organigramme de décodage dans le premier mode de réalisation, des angles â[j] et pour la deuxième couche d'extension en stéréo.

L'angle β[]\ est décodé à l'étape Bl 101.

Le canal secondaire est reconstruit à l'étape Bl 102 suivant la formule :

L'angle â j] est déduit à l'étape B 1103 à partir de la relation

et le canal dominant est reconstruit à l'étape B 1104 suivant la formule :

Les signaux stéréo L[ j] et R [j] peuvent ainsi être synthétisés à l'étape B 1105. La figure 11b présente l'organigramme de décodage dans le deuxième mode de réalisation, des angles â[j] et pour la deuxième couche d'extension en stéréo. L'angle a[j] et l'indicateur b[j] sont décodés à l'étape El 101 et à l'étape El 103, et les valeurs quantifiés â[j] et b[j] sont obtenues.

Les angles β 0 &] et P \ \f\ sont calcules à l'étape El 102 selon les équations suivantes:

 [J] = «csto I -S - sin à[J] (49)

La valeur de permet de sélectionner l'angle , [/] ou y-¾ [j] à l'étape El 104.

Les signaux stéréo £[ ] et R [j] peuvent ainsi être synthétisés à l'étape El 105.

Dans une variante de ce deuxième mode de réalisation, le canal dominant

X [ j] est reconstruit comme expliqué précédemment, à partir des angles décodés par le bloc 506 et à l'étape El 101.

Pour chaque coefficient fréquentiel où cette information a été codée, on reçoit un indicateur b[ j] qui est la valeur codée de b[j] et qui permet de choisir entre et , des gains à appliquer à l'amplitude du signal mono synthétisé.

Le canal secondaire Y [ j] est alors reconstruit à partir de la fonction suivante:

Dans un troisième mode de réalisation, le bloc 506 de la figure 10 décode des informations par raie fréquentielle sur la somme des canaux stéréo, soit l'amplitude de la somme des canaux, soit dans une variante, un gain à appliquer à l'amplitude du signal mono pour obtenir l'amplitude de la somme des canaux stéréo.

Dans les deux cas, une indication par raie fréquentielle est également décodée en 506. Cette indication indique le sens de rotation à donner pour un des canaux stéréo à synthétiser dans le module 507.

La figure 12 représente l'organigramme du décodage des informations de spatialisation de la deuxième couche d'extension correspondant aux codages représentés en figures 7a et 7b. Au décodeur, après quantification inverse de d[j à l'étape E1201, connaissant M [j] , L[j] , R [j] et d[j] on peut retrouver les valeurs quantifiées des angles â[j] et β _ί\ et ainsi L[ ]et-R[j] par exemple de la manière décrite ci-dessous.

Si cela n'a pas été fait à l'encodage, on doit d'abord vérifier que les inégalités triangulaires sont valables avec les paramètres quantifiés aux étapes E1202 et E1203. Si non

(N en E1203), on doit corriger la valeur de d[j] à l'étape E1204 par exemple de la façon suivante :

Si d[ j] est inférieur à L[j] - Ê[j] , on prend d [j] = L[j] -| R ,

Si d[ j] est supérieur à L[j] + R [ j] , on prend <-?[./] = t[ j]

Les vérifications faites par les étapes E1202, E1203 et E1204 sont également nécessaires si la probabilité des erreurs binaires durant la transmission n'est pas nulle.

Dans les autres cas ces étapes sont optionnelles.

Si les inégalités triangulaires ont été respectées pour la valeur quantifiée de d[j] comme données plus haut, L[j] , R[j] et d[j] déterminent alors un triangle unique comme représenté en figure 8b dont les deux angles sont les deux angles recherchés: â[ j] entre d [j] et L[j] et fi[j] entre d [j]et R[j] .

Les valeurs absolues de ces angles décodés peuvent être obtenues en E1205 et E1206, en utilisant le théorème d'AI-Kashi, aussi connu comme la loi des cosinus, selon les formules suivantes:

Comme les inégalités triangulaires ont été respectées, on est sûr, sans vérification supplémentaire, que l'argument de ces fonctions "arccos" est dans l'intervalle ]0, .

Les fonctions "arccos" peuvent donc être calculées et elles donnent des résultats uniques dans l'intervalle ]0, ... ,π [. On vérifie par exemple que dans le cas où les deux canaux sont en phase, on a donc

Comme expliqué précédemment, un autre bit est également transmis pour déterminer le signe de l'un des angles (â[ j] dans notre exemple), le signe de l'autre angle ( j3 [ j] ) étant opposé de ce premier.

On décode donc à l'étape E1207 le signe de â[j] qui détermine le sens de rotation à la fois pour L [j] et R [ j] par rapport à [j] ,

En connaissant les amplitudes L[j] , R[j] et les angles et J3[j]

(rotation) relatifs par rapport à [j] , on obtient facilement les valeurs L[/]eti [ ] à l'étape E1208 de la même façon que dans les autre modes de réalisation déjà présentés.

Le codeur présenté en référence à la figure 3 et le décodeur présenté en référence à la figure 10 ont été décrit dans le cas d'application particulière de codage et décodage hiérarchique. L'invention peut également s'appliquer dans le cas où les informations de spatialisation sont transmises et reçues au décodeur dans une même couche de codage et pour un même débit.

Les codeurs et décodeurs tels que décrits en référence aux figures 3, 9 et 10 peuvent être intégrés dans des équipements multimédia de type décodeur de salon, "set top box" ou lecteur de contenu audio ou vidéo. Us peuvent également être intégré dans des équipements de communication de type téléphone mobile.

La figure 13a représente un exemple de réalisation d'un tel équipement dans lequel un codeur selon l'invention est intégré. Ce dispositif comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM.

Le bloc mémoire peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de codage au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes de codage d'un signal mono issu d'un traitement de réduction de canaux appliqué au signal stéréo et de codage d'informations de spatialisation du signal stéréo. Lors de ces étapes le traitement de réduction des canaux comporte un calcul, par coeffîcient fréquentiel, de l'amplitude du signal mono en fonction de l'amplitude des canaux du signal stéréo, et en outre une détermination pour un ensemble prédéterminé de coefficients fréquentiels, de la phase du signal mono par le calcul de la phase du signal moyennant les canaux du signal stéréo.

Le programme peut comporter les étapes mises en œuvre pour coder les informations adaptées à ce traitement.

Typiquement, les descriptions des figures 3, 5 et 7 reprennent les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du dispositif ou téléchargeable dans l'espace mémoire de celui-ci.

Un tel équipement ou codeur comporte un module d'entrée apte à recevoir un signal stéréo comportant les canaux R et L pour droit et gauche, soit par un réseau de communication, soit par lecture d'un contenu stocké sur un support de stockage. Cet équipement multimédia peut également comporter des moyens de capture d'un tel signal stéréo.

Le dispositif comporte un module de sortie apte à transmettre les paramètres d'informations spatiales codées P c et un signa] mono M issus du codage du signal stéréo.

De la même façon, la figure 13b illustre un exemple d'équipement multimédia ou dispositif de décodage comportant un décodeur selon l'invention.

Ce dispositif comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM.

. Le bloc mémoire peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en œuvre des étapes du procédé de décodage au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes de décodage d'un signal mono reçu, issu d'un traitement de réduction de canaux appliqué au signal stéréo original et de décodage d'informations de spatialisation du signal stéréo original. Le procédé de décodage comporte en outre une synthèse des signaux stéréo, par coefficient fréquentiel, à partir du signal mono décodé comportant une information d'amplitude obtenue en fonction des amplitudes des canaux stéréo originaux et une information de phase du signal moyennant les canaux stéréo originaux et à partir d'informations de spatialisation décodées.

Typiquement, la description des figures 10, 11 et 12 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du dispositif ou téléchargeable dans l'espace mémoire de l'équipement.

Le dispositif comporte un module d'entrée apte, à recevoir les paramètres d'information spatiale codés P c et un signal mono M provenant par exemple d'un réseau de communication. Ces signaux d'entrée peuvent provenir d'une lecture sur un support de stockage.

Le dispositif comporte un module de sortie apte à transmettre un signal stéréo, L et R, décodé par le procédé de décodage mis en œuvre par l'équipement.

Cet équipement multimédia peut également comporter des moyens de restitution de type haut-parleur ou des moyens de communication apte à transmettre ce signal stéréo.

Bien évidemment, un tel équipement multimédia peut comporter à la fois le codeur et le décodeur selon l'invention. Le signal d'entrée étant alors le signal stéréo original et le signal de sortie, le signal stéréo décodé.

ANNEXE

α = angle(L*conj(M));

If [α|>π/2

α = -2* π *sign(a)

end

β = angIe(R*conj(M));

if (sign(ct* β)>0)

β = β - 2* π * sign(P)

end pO=asin(|L|/|R|*sin(a))

if (βθ* α >0)

βΟ=-βΟ;

end

if (β0<0)

β1=β0+ π;

else

βΐ =π-βΟ;

end

ϊί(β1*α>0)

β1=-β1

end b = arg min | β - βί|