Traitement de réduction de canaux adaptatif pour le codage d'un signal audio multicanal
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 paramétrique ou au traitement de signaux audio multicanaux, par exemple de signaux stéréophoniques ci-après nommés signaux stéréo.
Ce type de 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, S. van de Par, A. Kohlrausch, E. Schuijers, intitulé "Parametric Coding of Stereo Audio" dans EURASIP Journal on Applied Signal Processing 2005:9, pp. 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 stéréo recevant deux canaux audio, un canal gauche (noté L pour Left en anglais) et un canal droit (noté R pour Right en anglais).
Les signaux temporels L(n) et R(n), où n est l'indice entier des échantillons, sont traités par les blocs 101, 102, 103 et 104 qui effectuent une analyse de Fourier court-terme. Les signaux transformés L[k] et R [k] , où k est l'indice entier des coefficients fréquentiels, 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.
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". Ils sont définis en dB par la formule suivante:
où L[k] et ff [/c] correspondent aux coefficients spectraux (complexes) des canaux L et R, chaque bande de fréquence d'indice b comprend les raies fréquentielles dans l'intervalle [kb, kb+1— 1] et le symbole * indique le conjugué complexe.
Les paramètres ICPD (pour " InterChannel Phase Différence" en anglais), encore appelés t la relation suivante:
où Z. 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 intercanal appelé ICTD (pour "InterChannel Time Différence" en anglais) et dont la définition connue de l'homme de l'art n'est pas rappelée ici.
A la différence des paramètres ICLD, ICPD et ICTD qui sont des paramètres de localisation, les paramètres ICC (pour "InterChannel Cohérence" en anglais) représentent quant à eux la corrélation (ou cohérence) inter-canal 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 les paramètres ICC ne sont pas nécessaires dans les sous-bandes réduites à un seul coefficient fréquentiel - en effet les différences d'amplitude et de phase décrivent complètement la spatialisation dans ce cas "dégénéré".
Ces paramètres ICLD, ICPD et ICC sont extraits par analyse des signaux stéréo, par le bloc 105. Si les paramètres ICTD ou ITD étaient également codés, ceux-ci pourraient également être extraits par sous-bande à partir des spectres L [k] et R[k] ; cependant l'extraction des paramètres ITD est en général simplifiée en supposant un décalage temporel intercanal identique pour chaque sous-bande et dans ce cas un paramètre peut être extrait à partir des canaux temporels L(n) et R(n) par le biais d'inter-corrélations.
Le signal mono M[k] est transformé 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 ensuite 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 [k] , R [k] ) 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 selon l'échelle Bark. Cette échelle définit les valeurs de kb et kb+1 pour chaque sous- bande b . Les paramètres (ICLD, ICPD, ICC, ITD) sont codés par quantification scalaire éventuellement suivie d'un codage entropique et/ou d'un codage différentiel. Par exemple, dans l'article précédemment cité, l'ICLD est codée par un quantificateur non-uniforme (allant
de -50 à +50 dB) avec codage entropique 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 avec prédiction 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) ou un codage multi-modes.
On s'intéresse ici plus particulièrement à la recommandation 3GPP EVS (Pour
« Enhanced Voice Services ») qui utilise un codage multi-modes. Les détails algorithmiques du codée EVS sont fournis dans les spécifications 3GPP TS 26.441 à 26.451 et ils ne sont donc pas repris ici. Par la suite, on fera référence à ces spécifications par la dénomination EVS.
Le signal d'entrée du codée EVS est échantillonné à la fréquence de 8, 16, 32 ou 48 kHz et le codée peut représenter des bandes audio téléphoniques (narrowband, NB), élargie (wideband, WB), super-élargie (super-wideband, SWB) ou pleine bande (fullband, FB). Les débits du codée EVS sont divisés en deux modes:
o "EVS Primary" :
o débits fixes: 7.2, 8, 9.6, 13.2, 16.4, 24.4, 32, 48, 64, 96, 128 o mode à débit variable (VBR) avec un débit moyen proche de 5.9 kbit/s pour la parole active
o mode "channel-aware" à 13.2 en WB et SWB uniquement o "EVS AMR-WB IO" dont les débits sont identiques au codée 3GPP AMR- WB (9 modes)
A cela s'ajoute le mode de transmission discontinue (DTX) dans lequel les trames détectées comme inactives sont remplacées par des trames SID (SID Primary ou SID AMR- WB IO) qui sont transmises de façon intermittente, environ une fois toutes les 8 trames.
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é. Cette décorrélation, nécessaire uniquement lorsque le paramètre ICC est utilisé, permet d'augmenter la largeur spatiale de la source mono (n). Ces deux signaux M(n) et M'(n) 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 (ou mise en forme) 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 - les coefficients de la matrice de donwmix sont en général réels et de valeurs prédéterminées (fixes);
- 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:
1/2 0 L(n)
M (ri) = (L(n) + ff (n)) =
0 1/2 (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: dans le cas extrême où L(n) =—R(n), le signal mono est nul, ce qui n'est pas souhaitable.
Un mécanisme de "downmix" actif améliorant la situation est donné par l'équation suivante:
où y(n) 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 L et R; lorsque les canaux L et R ont des amplitudes comparables et de phases quasiment opposées, des phénomènes d' "effacement " ou "atténuation" (perte d' "énergie") sur le signal mono peuvent être observés par sous-bandes fréquentielles par rapport aux canaux stéréo.
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:
M[k] = Y[k] L[k] + 2 R [k] (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: v\ k \ = max \ 2, ——— Γ Ί ι_ , (6)
-\| |i.[fe] +R [fe] |2/2 J '
On s'assure ainsi que l'énergie globale du "downmix" est la somme des énergies des canaux gauche et droit. Le facteur y[/c]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:
M[k\ = w1L[k\ + w2R[k\ (7) où Μ ΐ 5 w2 sont des gains à valeur complexe. Si w = w2 = 0,5, le signal mono est considéré comme une moyenne des deux canaux L et R. Les gains w , w2 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 Proc.
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] = ej 'CPD [b]R[k] (8) où j = — 1 , R'[k] est le canal R aligné, k est l'indice d'un coefficient dans la bieme sous- bande fréquentielle, ICPD [b] est la différence de phase inter-canal dans la ôieme sous-bande fréquentielle donnée par à l'équation (1).
A noter que lorsque la sous-bande d'indice b est réduite à un coefficient fréquentiel, on trouve:
R' [k] = \R [k] \. e^L [k] (9) Finalement le signal mono obtenu par le "downmix" du document de Samsudin et al. cité précédemment est calculé en moyennant le canal L et le canal R' aligné, selon l'équation suivante:
M [k] = _LM1R!M (10)
L'alignement en phase permet donc de conserver l'énergie et d'éviter les problèmes d'atténuation 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^ik] + w2R[k] (11)
ej.ICPD[b]
avec w = 0,5 et w2 = dans le cas où la sous-bande d'indice b ne comporte qu'une valeur fréquentielle d'indice k.
Une conversion idéale d'un signal stéréo à un signal mono doit éviter les problèmes d'atténuation 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.
La méthode décrite dans le document de Samsudin référencé ci-dessus 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, si le canal de référence est nul (silence "total") et que l'autre canal est non nul, la phase du signal mono après "downmix" devient constante, et le signal mono résultant sera en général de mauvaise qualité ; de même, si le canal de référence est un signal aléatoire (bruit ambiant, etc .), la phase du signal mono peut devenir aléatoire ou être mal conditionnée avec là encore un signal mono qui sera en général de mauvaise qualité. Une technique de downmix fréquentiel alternative a été proposée dans le document intitulé "Parametric stereo extension of ITU-T G.722 based on a new downmixing scheme" par T.M.N Hoang, S. Ragot, B. Kovësi, P. Scalart, Proc. IEEE MMSP, 4-6 Oct. 2010. Ce document propose une technique de "downmix" qui résout des inconvénients du "downmix" proposé par Samsudin et al.. Selon ce document, le signal mono M[k] est calculé à partir des canaux stéréo L [k] et R[k] par la décomposition polaire M[k] = \M[k] \. ei AM^ , où l'amplitude \M[k] | et la phase z [/c] pour chaque sous-bande sont définis par:
( \ Μ \! \ = Ι^ΜΗ^ΜΙ
1 L J l 2 (12) [/C] = (zL [/c] + Zff [/c])
L'amplitude de M[k] est la moyenne des amplitudes des canaux L et R. La phase de M[k] est donnée par la phase du signal sommant les deux canaux stéréo (L+R).
La méthode de Hoang et al. préserve l'énergie du signal mono comme la méthode de Samsudin et al., et elle évite le problème de dépendance totale d'un des canaux stéréo (L ou R) pour le calcul de phase z [/c]. Cependant, elle présente un désavantage quand les canaux
L et R sont en quasi-opposition de phase dans certaines sous-bandes (avec comme cas extrême L = -R). Dans ces conditions, le signal mono résultant sera de mauvaise qualité.
Dans le codée UIT-T G.722 Annexe D et dans l'article "Parametric stereo coding scheme with a new downmix method and whole band inter channel time/phase différences" par W. Wu, L. Miao, Y. Lang, D. Virette, Proc. ICASSP, 2013 une autre méthode permettant de gérer l'opposition de phase des signaux stéréo a été décrite. La méthode repose en particulier sur l'estimation d'un paramètre de phase pleine bande. On peut vérifier expérimentalement que la qualité de cette méthode n'est pas satisfaisante pour des signaux stéréo où la relation de phase entre canaux est complexe ou pour des signaux stéréo de parole avec prise de son de type AB (utilisant deux microphones omnidirectionnels espacés). En effet, cette méthode consiste à calculer la phase du signal downmix à partir des phases des signaux L et R, et ce calcul peut résulter en des artéfacts audio pour certains signaux car la phase défini par analyse FFT court-terme est un paramètre délicat à interpréter et manipuler.
De plus, cette méthode ne prend pas en compte directement les évolutions de phase qui peuvent apparaître dans des trames successives ce qui peut éventuellement occasionner des sauts de phase.
Il existe ainsi un besoin d'une méthode de codage/décodage de complexité limitée qui permette de combiner des canaux avec une qualité "robuste", c'est-à-dire une bonne qualité quel que soit le type de signal multicanal, tout en gérant les signaux en opposition de phase, les signaux dont la phase est mal conditionnée (ex : un canal nul ou un canal ne contenant que du bruit), ou les signaux dont les canaux présentent des relations de phase complexes qu'il vaut mieux ne pas « manipuler », pour éviter les problèmes de qualité que ces signaux peuvent créer.
L'invention vient améliorer la situation de l'état de l'art.
A cet effet, elle propose un procédé de codage paramétrique d'un signal audionumérique multicanal comportant une étape de codage d'un signal mono issu d'un traitement de réduction de canaux appliqué au signal multicanal et de codage d'informations de spatialisation du signal multicanal. Le procédé est remarquable en ce que le traitement de réduction de canaux comporte les étapes suivantes, mises en œuvre par unité spectrale du signal multicanal:
-extraction d'au moins un indicateur caractérisant les canaux du signal audionumérique multicanal ;
-sélection, parmi un ensemble de modes de traitement de réduction de canaux, d'un mode de traitement de réduction de canaux en fonction de la valeur du au moins un indicateur caractérisant les canaux du signal audio multicanal.
Ainsi, la méthode permet d'obtenir un traitement de réduction de canaux adéquate au signal multicanal à coder, notamment lorsque les canaux de ce signal sont en opposition de
phase. De plus, l'adaptation du downmix s'effectuant par unité fréquentielle, c'est-à-dire par sous-bande de fréquence ou par raie fréquentielle, cela permet de s'adapter aux fluctuations du signal multicanal d'une trame à l'autre.
Selon un mode de réalisation particulier, le procédé comprend en outre la détermination d'un indicateur de phase, représentatif d'une mesure de degré d'opposition de phase entre les canaux du signal multicanal et en ce qu'un des modes de traitement de réduction de canaux dudit ensemble dépend de la valeur de l'indicateur de phase.
Un traitement downmix particulier est ainsi effectué pour les signaux dont les canaux sont en opposition de phase. Ce traitement est mis en œuvre de façon adapté à la fluctuation du signal dans le temps.
Dans un exemple de réalisation, l'ensemble de modes de traitement de réduction de canaux comprend une pluralité de traitement dans la liste suivante :
- traitement de réduction de canaux de type passif avec ou sans compensation de gain ;
- traitement de réduction des canaux de type adaptatif avec alignement de la phase sur une référence et/ou un contrôle d'énergie ;
- traitement de réduction de canaux de type hybride dépendant d'un indicateur de phase, représentatif d'une mesure de degré d'opposition de phase entre les canaux du signal multicanal;
- combinaison d'au moins deux modes de traitement passif, adaptatif ou hybride.
Plusieurs types de traitement downmix sont ainsi possibles pour une meilleure adaptation au signal multicanal.
Dans un mode de réalisation particulier, l'indicateur caractérisant les canaux du signal audio multicanal est un indicateur de mesure de corrélation entre les canaux du signal audio multicanal.
Cet indicateur permet d'adapter le traitement de réduction de canaux aux caractéristiques de corrélations des canaux du signal audio multicanal. La détermination de cet indicateur est simple à mettre en œuvre et la qualité du downmix en est amélioré.
Dans un autre mode de réalisation, l'indicateur caractérisant les canaux du signal audio multicanal est un indicateur de phase, représentatif d'une mesure de degré d'opposition de phase entre les canaux du signal multicanal.
Cet indicateur permet d'adapter le traitement de réduction de canaux aux caractéristiques de phase des canaux du signal audio multicanal et notamment aux signaux qui ont des canaux en opposition de phase.
L'invention se rapporte à un dispositif de codage paramétrique d'un signal audionumérique multicanal comportant un codeur apte à coder un signal mono issu d'un
module de traitement de réduction de canaux appliqué au signal multicanal et un module de quantification pour coder des informations de spatialisation du signal multicanal. Le dispositif est remarquable en ce que le module de traitement de réduction de canaux comporte :
- un module d'extraction apte à obtenir au moins un indicateur caractérisant les canaux du signal audionumérique multicanal, par unité spectrale du signal multicanal;
-un module de sélection, apte à sélectionner, par unité spectrale du signal multicanal, parmi un ensemble de modes de traitement de réduction de canaux, un mode de traitement de réduction de canaux en fonction de la valeur du au moins un indicateur caractérisant les canaux du signal audio multicanal.
Ce dispositif présente les mêmes avantages que le procédé qu'il met en œuvre. L'invention s'applique également à un procédé de traitement d'un signal audio multicanal décodé comportant un traitement de réduction de canaux pour obtenir un signal mono à restituer. Le procédé est remarquable en ce que le traitement de réduction de canaux comporte les étapes suivantes, mises en œuvre par unité spectrale du signal multicanal:
-extraction d'au moins un indicateur caractérisant les canaux du signal audionumérique multicanal ;
-sélection, parmi un ensemble de modes de traitement de réduction de canaux, d'un mode de traitement de réduction de canaux en fonction de la valeur du au moins un indicateur caractérisant les canaux du signal audio multicanal.
Ainsi, il est possible d'obtenir un signal mono avec une bonne qualité auditive, à partir d'un signal audio multicanal déjà décodé. La méthode permet d'effectuer un traitement de downmix adapté au signal reçu, de façon simple.
Selon un mode de réalisation particulier, le procédé de traitement comprend en outre la détermination d'un indicateur de phase, représentatif d'une mesure de degré d'opposition de phase entre les canaux du signal multicanal et en ce qu'un des modes de traitement de réduction de canaux dudit ensemble dépend de la valeur de l'indicateur de phase.
Un traitement downmix particulier est ainsi effectué pour les signaux décodés dont les canaux sont en opposition de phase. Ce traitement est mis en œuvre de façon adapté à la fluctuation du signal dans le temps.
Dans un exemple de réalisation, l'ensemble de modes de traitement de réduction de canaux comprend une pluralité de traitement dans la liste suivante :
- traitement de réduction de canaux de type passif avec ou sans compensation de gain ;
- traitement de réduction des canaux de type adaptatif avec alignement de la phase sur une référence et/ou un contrôle d'énergie ;
- traitement de réduction de canaux de type hybride dépendant d'un indicateur de phase, représentatif d'une mesure de degré d'opposition de phase entre les canaux du signal multicanal;
- combinaison d'au moins deux modes de traitement passif, adaptatif ou hybride. Plusieurs types de traitement downmix sont ainsi possibles pour une meilleure adaptation au signal multicanal.
Dans un mode de réalisation particulier, l'indicateur caractérisant les canaux du signal audio multicanal est un indicateur de mesure de corrélation entre les canaux du signal audio multicanal.
Cet indicateur permet d'adapter le traitement de réduction de canaux aux caractéristiques de corrélations des canaux du signal audio multicanal décodé. La détermination de cet indicateur est simple à mettre en œuvre et la qualité du downmix en est amélioré.
Dans un autre mode de réalisation, l'indicateur caractérisant les canaux du signal audio multicanal est un indicateur de phase, représentatif d'une mesure de degré d'opposition de phase entre les canaux du signal multicanal.
Cet indicateur permet d'adapter le traitement de réduction de canaux aux caractéristiques de phase des canaux du signal audio multicanal et notamment aux signaux qui ont des canaux en opposition de phase.
L'invention se rapporte également à un dispositif de traitement d'un signal audio multicanal décodé comportant un module de traitement de réduction de canaux pour obtenir un signal mono à restituer, remarquable en ce que le module de traitement de réduction de canaux comprend :
-un module d'extraction apte à obtenir au moins un indicateur caractérisant les canaux du signal audionumérique multicanal, par unité spectrale du signal multicanal ;
-un module de sélection, apte à sélectionner, par unité spectrale du signal multicanal, parmi un ensemble de modes de traitement de réduction de canaux, un mode de traitement de réduction de canaux en fonction de la valeur du au moins un indicateur caractérisant les canaux du signal audio multicanal.
Ce dispositif présente les mêmes avantages que le procédé décrit ci-dessus qu'il met en œuvre.
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, lorsque ces instructions sont exécutées par un processeur.
L'invention se rapporte enfin à support de stockage lisible par un processeur sur lequel est enregistré un programme informatique comprenant des instructions de code pour l'exécution des étapes du procédé 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;
- les figures 4a, 4b, 4c, 4d, 4e et 4f illustrent sous forme d'organigramme les étapes du traitement de réduction de canaux selon différents modes de réalisation de l'invention;
- la figure 5 illustre un exemple d'évolution d'un indicateur caractérisant les canaux d'un signal multicanal donné utilisé selon un mode de réalisation de l'invention, pour un signal donné ;
- la figure 6 illustre un exemple de pondérations possibles en fonction de la valeur d'un indicateur caractérisant les canaux d'un signal selon un mode de réalisation de l'invention ;
- la figure 7 illustre un décodeur paramétrique stéréo mettant en œuvre un décodage adapté aux signaux codés selon le procédé de codage de l'invention ;
- la figure 8 illustre un dispositif de traitement d'un signal audio décodé dans lequel un traitement de réduction de canaux selon l'invention est effectué ;et
- la figure 9 illustre un exemple matériel d'un équipement incorporant un codeur apte à mettre en œuvre le procédé de 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.
Cette figure présente à la fois les entités, modules hardwares ou logiciels pilotés par un processeur du dispositif de codage et les étapes mises en œuvre par le procédé de codage selon un mode de réalisation de l'invention.
On décrit ici le cas d'un signal stéréo. L'invention s'applique également au cas d'un signal multicanal avec un nombre de canaux supérieur à 2.
Ce codeur stéréo paramétrique tel qu'illustré utilise un codage mono de type normalisé EVS, il fonctionne avec des signaux stéréo échantillonnés à la fréquence
d'échantillonnage Fs de 8, 16, 32 et 48 kHz, avec des trames de 20 ms. Par la suite, sans perte de généralité, la description est principalement donnée pour le cas Fs =16 kHz.
Il est à noter que le choix d'une longueur de trames de 20 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 5 ou 10 ms, avec un autre codée qu'EVS.
Par ailleurs, l'invention s'applique pareillement à d'autres types de codage mono (ex : IETF OPUS, UIT-T G.722) opérant à des fréquences d'échantillonnage identiques ou non.
Chaque canal temporel (L(n) et R(n)) échantillonné à 16 kHz est d'abord pré-filtré par un filtre passe-haut (HPF pour High Pass Filter en anglais) éliminant typiquement les composantes en dessous de 50 Hz (blocs 301 et 302). Ce pré-filtrage est optionnel, mais il peut être utilisé pour éviter le biais dû à la composante continue (DC) dans l'estimation de paramètres comme l'ICTD ou l'ICC.
Les canaux L'(n) et ff'(n) issus des blocs de pré -filtrage sont analysés en fréquences par transformée de Fourier discrète avec fenêtrage sinusoïdal à recouvrement de 50% de longueur 40 ms soit 640 échantillons (blocs 303 à 306). Pour chaque trame, le signal (L'(n), ff'(n)) est donc pondéré par une fenêtre d'analyse symétrique couvrant 2 trames de 20 ms soit 40 ms (soit 640 échantillons pour s=16 kHz). La fenêtre d'analyse de 40 ms couvre la trame courante et la trame future. La trame future correspond à un segment de signal "futur" communément appelé "lookahead" de 20 ms. Dans des variantes de l'invention, d'autres fenêtres pourront être utilisées, par exemple une fenêtre asymétrique à bas retard appelée "ALDO" dans le codée EVS. De plus, dans des variantes, le fenêtrage d'analyse pourra être rendu adaptatif en fonction de la trame courante, afin d'utiliser une analyse avec une fenêtre longue sur des segments stationnaires et une analyse avec des fenêtres courtes sur des segments transitoires/non stationnaires, avec éventuellement des fenêtres de transition entre fenêtres longue et courte.
Pour la trame courante de 320 échantillons (20 ms à s =16 kHz), les spectres obtenus, L [k] et R [k] ( /c =0...320), comprennent 321 coefficients complexes, avec une résolution de 25 Hz par coefficient fréquentiel. Le coefficient d'indice k=0 correspond à la composante continue (0 Hz), il est réel. Le coefficient d'indice /c =320 correspond à la fréquence de Nyquist (8000 Hz pour s=16 kHz), il est aussi réel. Les coefficients d'indice 0 < k <160 sont complexes et correspondent à une sous-bande de largeur 25 Hz centrée sur la fréquence de k.
Les spectres L [k] et R [k] sont combinés dans le bloc 307 décrit ultérieurement pour obtenir un signal mono (downmix) M[k] dans le domaine fréquentiel. Ce signal est converti
en temps par FFT inverse et fenêtrage -recouvrement avec la partie "lookahead" de la trame précédente (blocs 308 à 310).
Le retard algorithmique du codée EVS est de 30,9375 ms à s=8 kHz et 32 ms pour les autres fréquences FS=16, 32 ou 48 kHz. Ce retard inclut la trame courante de 20 ms, le retard supplémentaire par rapport à la longueur de trame est donc de 10,9375 ms à s=8 kHz et 12 ms pour les autres fréquences (soit 192 échantillons a Fs =16 kHz), le signal mono est retardé (bloc 311) de T= 320-192= 128 échantillons pour que le retard accumulé entre le signal mono décodé par EVS et les canaux stéréo originaux devienne un multiple de la longueur de trames (320 échantillons). Par suite, 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, le lookahead pour le calcul du signal mono (20 ms) et le retard de codage/décodage mono auquel est ajouté le retard T pour aligner la synthèse mono (20 ms) correspondent à un retard supplémentaire de 2 trames (40 ms) par rapport à la trame courante. Ce 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 20 ms. Ce retard pourrait être différent. Dans une variante de réalisation, on pourrait obtenir un retard d'une trame avec une fenêtre optimisée avec un recouvrement plus faible entre fenêtres adjacentes avec un bloc 311 n'introduisant pas de retard (Γ=0).
Le signal mono décalé est ensuite codé (bloc 312) par le codeur EVS mono par exemple à un débit de 13,2, 16,4 ou 24,4 kbit/s. Dans des variantes, le codage pourra être effectué directement sur le signal non décalé ; dans ce cas le décalage pourra être effectué après décodage.
On considère dans un mode particulier de réalisation de l'invention, illustré ici à la figure 3, que le bloc 313 introduit un retard de deux trames sur les spectres L [k] , R [k] et M[k] afin d'obtenir les spectres LbUf [k] , RbUf [k] et MbUf [k].
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, 316 et 317. 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 à 317.
Les paramètres stéréo sont extraits (bloc 314) et codés (blocs 315 à 317) à partir des spectres L [k] , R [k] et M[k] décalés de deux trames: LbUf [k], RbUf [k] et MbUf [k] .
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 [/c].
Ce bloc de traitement 307 comprend un module d'obtention 307a d'au moins un indicateur caractérisant les canaux du signal multicanal, ici le signal stéréo. L'indicateur peut par exemple être un indicateur de type corrélation intercanale ou un indicateur de mesure de degré d'opposition de phase entre canaux. L'obtention de ces indicateurs sera décrite ultérieurement.
En fonction de la valeur de cet indicateur, le bloc de sélection 307b, sélectionne, parmi un ensemble de modes de traitement « downmix », un mode de traitement downmix qui s' applique en 307c aux signaux en entrée, ici au signal stéréo L [k] , R [k] pour donner un signal mono [/c] .
Les figures 4a à 4f illustrent différents modes de réalisation mis en œuvre par le bloc de traitement 307.
Pour présenter ces figures et simplifier leurs descriptions, plusieurs paramètres sont d' abord définis : · Paramètre ICPD [k]
Le paramètre ICPD [k] est calculé dans la trame courante pour chaque raie fréquentielle k selon la formule:
ICPD [k] = (L [k]. R* [k]) (13)
Ce paramètre correspond à la différence de phase entre les canaux L et R. Il est ici utilisé pour définir le paramètre ICCr.
• Paramètre ICCr [m]
Un paramètre de corrélation est calculé pour la trame courante comme suit
où N
FFT est la longueur de la FFT (ici N
FFT=640 pour F
S=16 kHz). Dans des variantes le module complexe pourra ne pas être appliqué, mais dans ce cas l'utilisation du paramètre ICCp (ou de ses dérivés) devra prendre en compte la valeur signée de ce paramètre.
Il est à noter que la division dans le calcul du paramètre ICCp peut être évitée car ICCp (lissée selon l'équation (16) ci-dessous) est comparée ensuite à un seuil ; il est courant d'ajouter une valeur faible e non nulle au dénominateur pour éviter une division par zéro, cette précaution est en fait inutile et on pourra fixer e=0 en pratique si on calcule séparément le numérateur et le dénominateur. Dans les réalisations de l'invention cette division n'est pas nécessaire car le paramètre ICCp (ou sa version éventuellement lissée ICCr définie ci- dessous) est comparé un seuil ; l'absence de division dans la mise en œuvre est avantageuse
en termes de complexité. Cependant, pour simplifier la description qui suit, on garde la notation impliquant une division.
Ce paramètre peut de façon optionnelle être lissé pour en atténuer les variations temporelles. Si la trame courante est d'indice m, ce lissage peut être calculé avec un filtre MA (à Moyenne Ajustée) d'ordre 2:
ICCr[m] = 0,5. ICCp[m] + 0,25. ICCp [m - 1] + 0,25. ICCp[m - 2] (15) En pratique, comme la division dans la définition de ICCr[m] n'a pas à être explicitement calculée, ce filtre MA sera avantageusement appliqué séparément aux valeurs du numérateur et du dénominateur.
Par la suite, le paramètre ICCr sera utilisé pour désigner ICCr[m] (sans mentionner l'indice de la trame courante) ; si le lissage n'est pas appliqué, le paramètre ICCr correspondra directement à ICCp. Dans des variantes d'autres méthodes de lissage pourront être mises en œuvre, par exemple en utilisant un filtre AR (Autorégressif), en lissant les signaux.
Le paramètre ICCr permet de quantifier le niveau de corrélation entre les canaux L et R lorsque les différences de phase entre ces canaux sont ignorées.
Dans des variantes, le paramètre ICCp pourra être défini par sous-bande en changeant simplement les bornes des sommes, comme suit :
∑ l1→ L[k].R* [k]ej-,CPDW
|(∑¾-1 LM.L* M)(∑¾-1 RM.R * M)H
où kb ... kb+1— 1 représentent les indices des raies fréquentielles dans la sous-bandes d'indice b . Là encore, le paramètre ICCp[b] pourra être lissé et dans ce cas l'invention sera mise en œuvre de la façon suivante : au lieu d'avoir une seule comparaison à ICCr [m], il y aura autant de comparaisons à ICCp[b] qu'il y a de sous-bandes d'indice b .
• Paramètre SGN[m]
Le canal dominant est également identifié afin de l'utiliser comme référence de phase. Par exemple, ce canal dominant peut être déterminé par l'intermédiaire d'un paramètre de signe SGN calculé pour la trame courante comme le signe de la différence des niveaux des canaux
où la fonction sign ) prend comme valeur 1 ou -1 si son opérande est respectivement >0 ou <0.
Il est important de noter que le changement de référence (L ou R) pour l'alignement du signal mono (issu du downmix) sur la phase de L ou de R ne se fait que sous certaines conditions. Cela permet d'éviter des problèmes de phase lors de l'opération de recouvrement-
addition après transformée inverse, quand la référence de phase passe arbitrairement de L à R ou vice versa.
Dans le mode de réalisation privilégié, on définit que la commutation n'est autorisée que lorsque le signal est faiblement corrélé et que cette phase n'est pas utilisée dans la trame courante car le downmix est dans ce cas de type passif (voir plus loin les détails les différents downmix utilisés). Ainsi, la valeur de SGNd dans la trame courante sera ignorée si cette condition n'est pas remplie ; la commutation de référence de phase ne sera autorisée que lorsque la valeur de ICCr dans la trame courante est inférieure à un seuil prédéterminé, par exemple ICCr <0,4.
On posera donc :
Si = 1 , SGN[m] = 1 (choix initial arbitrairement fixé au canal L)
Sinon
Si ICCr[m] <0,4
SGN[m] = SGNd
Fin si
Fin si
Dans des variantes la valeur de 0,4 pourra être modifiée, cependant elle correspond ici au seuil thl =0,4 utilisé plus loin..
Dans des variantes, le choix initial SGN[1] pourra être modifié en SGN[1] = SGNd po r s'assurer que la référence de phase correspond au signal dominant dans la première trame, même si celle-ci ne comprend par définition que 20 ms de signal sur 40 ms utilisé (pour la taille de trame utilisée ici de façon préférentielle).
Dans des variantes, la condition pour autoriser une commutation de référence de phase pourra être définie par raie fréquentielle et dépendre du type de downmix utilisé à la trame courante (d'indice m) et du type de downmix utilisé à la trame précédente (d'indice m— 1) ; en effet, si le dowmix pour la raie d'indice k dans la trame m— 1 était de type passif (avec compensation de gain) et si le downmix sélectionné à la trame m est un downmix avec alignement sur une référence de phase adaptative, dans ce cas il sera possible d' autoriser une commutation de référence de phase. Autrement dit, la commutation de référence de phase est interdite pour la raie d'indice k tant que le downmix utilise explicitement la référence de phase correspondant au paramètre SGN.
Le paramètre de signe SGN [m] ne change donc de valeur que lorsque ICCr est sous un seuil (dans le mode de réalisation privilégié). Cette précaution évite de changer de référence de phase dans des zones où les canaux sont très corrélés et potentiellement en opposition de phase. Dans des variantes, un autre critère pourra être utilisé pour définir les conditions de commutation de référence de phase.
Dans des variantes de l'invention, la décision binaire associée au calcul de SGNd pourra être stabilisée pour éviter des fluctuations potentiellement rapide. On pourra ainsi définir une tolérance, par exemple de +/-3 dB, sur la valeur du niveau des canaux L et R, afin de mettre en œuvre un hystérésis empêchant le changement de référence de phase si la tolérance n'est pas dépassée. On pourra aussi appliquer un lissage inter-trames sur la valeur du niveau du signal.
Dans d' autres variantes, le paramètre SGNd pourra être calculé avec une autre définition du niveau des canaux, par exemple :
SGNd = sign (17) ou encore à partir des paramètres ICLD sous la forme suivante :
SGNd = sign(∑ =1 20iC™M 10 - B) (18) où B est le nombre de sous-bandes, ou de façon non équivalente
SGNd = sign(∑ =1 ICPD [k]) (19) Dans d' autres variantes, on pourra calculer le niveau des différents canaux dans le domaine temporel.
Dans des variantes de l'invention, le calcul explicite de SGNd ne sera pas effectué et on calculera séparément un paramètre représentant le niveau de chaque canal (L ou R). Au moment d'utiliser SGNd on effectuera une simple comparaison entre ces niveaux respectifs. La mise en œuvre est en fait strictement équivalente mais elle évite de calculer explicitement un signe. · Paramètre ISD [k]
Un paramètre ISD [k] défini pour chaque raie de la trame courante et permettant de détecter une opposition de phase est aussi calculé:
ISDW = |¾ | (20)
Quand les canaux L et R sont de phase opposée, la valeur ISD devient arbitrairement grande.
Il est à noter que la division dans le calcul du paramètre ISD peut être évitée car ISD est comparée ensuite à un seuil ; il est courant d' ajouter une valeur faible non nulle au dénominateur pour éviter une division par zéro, cette précaution est ici inutile car dans les réalisations de l'invention cette division n'est pas mise en œuvre. En effet la comparaison
ISD [k]>thO est équivalent à la comparaison \L[k]— R [k] \>thO. \L[k] + R [k] \, ce qui rend le processus de sélection de mode de downmix attractif en termes de complexité.
Dans un premier mode de réalisation, la figure 4a illustre les étapes mises en œuvre pour le traitement de réduction de canaux du bloc 307.
A l'étape E400, un indicateur caractérisant les canaux du signal audio multicanal est obtenu. Dans l'exemple illustré ici, il s'agit du paramètre ICCr tel que défini ci-dessus, calculé à partir du paramètre ICPD. L'indicateur ICCr correspond à une mesure de corrélation entre les canaux du signal multicanal, dans le cas particulier ici entre les canaux du signal stéréo.
Comme illustré sur cette figure 4a, le choix du downmix dépend principalement de l'indicateur ICCr [m] calculé comme expliqué précédemment à partir des canaux L et R de la trame courante et d'un lissage éventuel.
Le choix entre modes de traitement downmix se fait en fonction de la valeur de l'indicateur ICCr [m].
Plusieurs modes de traitement de downmix sont prévus et font partie d'un ensemble de modes de traitement de réduction de canaux (downmix).
Le calcul du signal de downmix se fait raie par raie de la façon suivante, en utilisant trois downmix potentiels qui sont listés ci-dessous :
1. Downmix de type passif (avec compensation de gain) .
Ce downmix - /c] est défini comme un signe somme avec égalisation de l'énergie sous la forme :
L[k] + R [k]
M1 [k] = . Y[k]
où y[k] est défini de sorte que M1 [k] soit équivalent à :
' . .„„, . \L [k] \ + \R[k] \
\M [k] \ =
^ j/c] = z(L[/c] + R [k )
On définit :
\L[k] \ + \R [k] \
Y[k] =
\L[k] + R [k] \
Ce downmix est efficace pour les signaux stéréo (et leurs décompositions fréquentielles par raie ou sous-bandes) dont les canaux ne sont pas très corrélés et n'ont pas une relation de phase complexe. Comme il n'est pas utilisé pour des signaux problématiques
où le gain y[k] pourrait prendre des valeurs arbitraires grandes, aucune limitation du gain n'est ici utilisée, cependant dans des variantes une limitation de l'amplification pourrait être mise en œuvre.
Dans des variantes, cette égalisation par le gain y[k] pourra être différente. Par exemple il serait possible de prendre la valeur déjà citée:
L'intérêt du gain y[k] tient ici à ce qu'il assure le même niveau d'amplitude pour le downmix - /c] que pour les autres downmix utilisés. Il est donc préférable d' ajuster le gain y[k] pour assurer un niveau d'amplitude ou d'énergie homogène entre les différents downmix.
2. Downmix avec alignement sur une référence de phase adaptative
Ce downmix M
3 [k] est défini comme suit :
où la valeur de SGN est à comprendre comme étant la valeur SGN[m] dans la trame courante, mais pour alléger les notations l'indice de la trame n'est pas mentionné ici.
Comme expliqué précédemment, la phase de ce downmix peut également s'exprimer de façon équivalente comme :
Ce downmix est similaire au downmix proposé par la méthode Samsudin précitée, cependant ici la phase de référence n'est pas donnée par le canal L et la phase est déterminée raie par raie et non au niveau d'une bande fréquentielle.
La phase est ici fixée en fonction du canal dominant identifié par le paramètre SGN.
Ce downmix est intéressant pour les signaux très corrélés par exemple pour les signaux avec prise de son avec microphones de type AB ou binaurale. Il peut aussi arriver que des canaux indépendants aient une corrélation assez forte même s'il ne s'agit pas du même signal enregistré dans les canaux L et R ; pour éviter une commutation intempestive de la référence de phase, il est préférable de n'autoriser une telle commutation que lorsque les signaux ne présentent pas de risque de génération d'artéfacts audio quand ce downmix est utilisé. Ceci explique la contrainte ICCr[m] <0,4 dans le calcul du paramètre SGN [m] quand la condition de commutation de référence de phase utilise ce critère.
3. Downmix hybride entre un downmix passif (avec compensation de gain) et un dowmix avec alignement sur un référence de phase adaptative, dépendant d'un indicateur de mesure de degré d'opposition de phase entre les canaux (ISD[k] , tel que défini ci-dessus).
Ce downmix M2 [k] est défini comme suit :
Si ISD [k] >thO (th0=1.3),
M2 [k] = M3 [k]
Sinon
M2 [k] = M1 [k]
Fin si
Ce downmix est appliqué ici dans les cas où les signaux sont moyennement corrélés et où ils sont potentiellement en opposition de phase. Le paramètre ISD [k] sert ici à détecter une relation de phase proche de l'opposition de phase, et dans ce cas il est préférable de sélectionner le downmix avec alignement sur une référence de phase adaptative M3 [k] ; dans le cas contraire le dowmix passif avec compensation de gain M [k] est suffisant.
Dans des variantes le seuil th0=l,3 appliqué à ISD [k] pourra prendre d'autres valeurs.
On notera que le downmix M2 [k] correspond soit à M [k] soit à M3 [k] , selon la valeur du paramètre ISD [k] . On comprendra que dans des variantes de l'invention, il sera donc possible de ne pas définir explicitement ce downmix M2 [k] mais de combiner les décisions sur la sélection du downmix et le critère sur ISD [k] . Un tel exemple est donné à la figure 4c cependant il est clair que cet exemple s'applique bien sûr à tous les modes de réalisation présentés ici.
Ainsi, selon la figure 4a, si à l'étape E401, l'indicateur est inférieur à un premier seuil thl, alors un premier mode de traitement downmix Ml est mis en œuvre à l'étape E402.
Si ICCr[m] <0,4 (étape E401 avec thl=0,4)
M[k] = Mt [k]
Si à l'étape E403, l'indicateur est inférieur à un deuxième seuil th2, alors un deuxième mode de traitement downmix fonction de Ml et M2 est mis en œuvre à l'étape E404.
Si 0,4< ICCr[m] <0,5 (Etape E403 avec th2=0,5)
M[k] = fl(M1 [k], M2 [k])
Si à l'étape E405, l'indicateur est inférieur à un troisième seuil th3, alors un troisième mode de traitement downmix fonction de M2 et M3 est mis en œuvre à l'étape E406.
Si 0,5< ICCr[m] <0,6 (Etape E405 avec th3 = 0,6)
M[k] = f2(M2 [k], M3 [k])
Enfin, si à l'étape E405, l'indicateur est supérieur au troisième seuil th3, alors un quatrième mode de traitement downmix M3 est mis en œuvre à l'étape E407.
Si ICCr[m] >0,6 (Etape E405, N)
M[k] = M3 [k]
Dans des variantes de l'invention, les valeurs des seuils thl, th2, th3 pourront être fixées à d'autres valeurs ; les valeurs données ici correspondent typiquement à une longueur de trame de 20 ms.
Les fonctions de pondération des fonctions de combinaisons fl . , . ) et 2(. , . ) sont illustrées à la figure 6. Ces fonctions de combinaisons réalisent un « fondu enchaîné » entre downmix différents afin d'éviter les effets de seuil, c'est-à-dire des transitions trop abruptes entres les downmix respectifs d'une trame à l'autre pour une raie donnée. N'importe quelles fonctions de pondération ayant des valeurs complémentaires entre 0 et 1 conviennent dans l'intervalle défini, mais dans le mode de réalisation ces fonctions sont dérivées de la fonction :
avec
A ( i [k], M2 [k]) = (1 - p). M1 [k] + p. M2 [k] et
/2( 2 [k], M3 [k]) = (1 - p). M3 [k] + p. M2 [k]
On notera que le paramètre ICCr[m] est ici défini au niveau de la trame courante ; dans des variantes ce paramètre pourra être estimé par bande fréquentielle (par exemple selon l'échelle ERB ou Bark).
Dans un deuxième mode de réalisation, la figure 4b illustre les étapes mises en œuvre pour le traitement de réduction de canaux du bloc 307. Cette variante de réalisation a pour but de simplifier la décision sur la méthode de downmix à utiliser et à réduire la complexité en ne mettant pas en œuvre le fondu enchaîné entre deux méthodes de downmix.
Les étapes E400, E401, E402, E405 et E407 sont identiques à celles décrites en référence à la figure 4a.
Ainsi, selon la figure 4b, si à l'étape E401, l'indicateur est inférieur à un premier seuil thl, alors un premier mode de traitement downmix Ml est mis en œuvre à l'étape E402.
Si ICCr[m] <0,4 (étape E401 avec thl=0,4)
M[k] = fc]
Si à l'étape E405, l'indicateur est inférieur à un seuil th3, alors un deuxième mode de traitement downmix M2 est mis en œuvre à l'étape E410.
Si 0,4< ICCr[m] <0,6 (Etape E405 avec th3 = 0,6)
M[k] = M2 [k]
Enfin, si à l'étape E405, l'indicateur est supérieur au seuil th3, alors un troisième mode de traitement downmix M3 est mis en œuvre à l'étape E407.
Si ICCr[m] >0,6 (Etape E405, N)
M[k] = M3 [k]
Les méthodes de downmix Ml, M2 et M3 sont par exemple ceux décrits précédemment. A noter que le downmix M2 est un downmix hybride entre le downmix Ml et M3 qui fait intervenir un autre critère de décision sur un autre indicateur ISD tel que défini précédemment.
Une réalisation strictement identique en termes de résultat de la figure 4b est montrée à la figure 4c. Dans cette variante, l'évaluation des paramètres de sélection (bloc E450) et les décisions de sélection de downmix (bloc E451) sont rassemblées. Dans un troisième mode de réalisation, la figure 4d illustre les étapes mises en œuvre pour le traitement de réduction de canaux du bloc 307. Cette variante de réalisation a pour but de simplifier la décision sur la méthode de downmix à utiliser, cette fois-ci en n'utilisant pas le downmix passif -^/c]. En effet ce downmix passif est en fait déjà inclut dans le downmix hybride M2 [k] ; de plus, on peut considérer que le downmix hybride est une variante plus robuste que le downmix M [k] car il permet d'éviter les problèmes d'opposition de phase.
Le downmix à la figure 4d est calculé comme suit :
Si à l'étape E403, l'indicateur est inférieur à un seuil th2, alors le traitement downmix M2 est mis en œuvre à l'étape E410.
Si ICCr[m] <0,5 (Etape E403 avec th2=0,5)
M[k] = M2 [k]
Si à l'étape E405, l'indicateur est inférieur à un seuil th3, alors un mode de traitement downmix fonction de M2 et M3 est mis en œuvre à l'étape E406.
Si 0,5< ICCr[m] <0,6 (Etape E405 avec th3 = 0,6)
M[k] = f2(M2 [k], M3 [k])
Enfin, si à l'étape E405, l'indicateur est supérieur au seuil th3, alors un mode de traitement downmix M3 est mis en œuvre à l'étape E407.
Si ICCr[m] >0,6 (Etape E405, N)
M[k] = M3 [k]
Dans une variante non représentée ici, on pourra ne pas utiliser de fondu enchaîné et ainsi éliminer la décision E405 à la figure 4d.
On notera que le mode de réalisation de la figure 4d est strictement équivalent à celui de la figure 4b en fixant thl à une valeur <0.
Dans un quatrième mode de réalisation, la figure 4e illustre les étapes mises en œuvre pour le traitement de réduction de canaux du bloc 307. Dans ce mode de réalisation, l'indicateur caractérisant les canaux du signal audionumérique multicanal est l'indicateur de phase ISD représentatif d'une mesure de degré d'opposition de phase des canaux du signal multicanal.
Il est déterminé à l'étape E420. Pour un signal stéréo, ce paramètre est tel que défini à l'équation (18) pour un calcul par raie spectrale.
Ainsi, selon la figure 4e, si à l'étape E421 , l'indicateur ISD [k] est supérieur à un seuil thO, alors un premier mode de traitement downmix est mis en œuvre à l'étape E422.
Si ISD [k] >1 ,3 (O de l'étape E421 avec th0=l ,3)
alors le traitement de downmix est défini comme suit :
ZM [k] = ZL [k]
\L [k] \ + \R [k] \
|M[fc] | = ' 2 '
Si à l'étape E421 , l'indicateur ISD[k] est inférieur au seuil thO, alors un deuxième mode de traitement downmix est mis en œuvre à l'étape E423.
Si ISD [k] <1 ,3 (N de l'étape E421 avec th0=l ,3)
alors le traitement de downmix Ml [k] est appliqué. Il est défini comme suit :
L [k] + R [k]
M[k] = 2 Y[k]
Enfin, une variante de la détermination du signal de dowmix de la figure 4e est présentée à la figure 4f. Dans cette variante, le critère principal de sélection du mode de downmix est défini comme étant le paramètre ISD comme à la figure 4e, cependant ce paramètre est cette fois-ci défini par sous-bande à l'étape E430, ISD [b] où b est l'indice de la sous-bande fréquentielle (typiquement ERB ou Bark). Dans cette variante, quand la relation de phase entre les canaux L et R est proche de l'opposition de phase (seuil ISD [b] >1 ,3), à l'étape E431 , le mode de downmix sélectionné est cette fois-ci similaire à la méthode définie dans l'annexe D de G.722 mais de façon plus directe, sans utiliser d'IPD pleine bande.
Ainsi, selon la figure 4f, si à l'étape E431 , l'indicateur ISD [b] est supérieur à un seuil thO, alors un premier mode de traitement downmix est mis en œuvre à l'étape E432.
Si ISD [k] >1 ,3 (O de l'étape E431 avec th0=l ,3)
alors le traitement de downmix est défini comme suit (downmix avec alignement sur une référence de phase adaptative, M3) :
pour/c = kb ... kb+1 — 1
ZL[k]. \L [k] \ + ZR[k]. \R [k] \
ZM[k] =
\L [k] \ + \R[k] \
\L[k] \ + \R[k] \
\M[k] \ =
2
Si à l'étape E431, l'indicateur ISD [b] est inférieur au seuil thO, alors un deuxième mode de traitement downmix est mis en œuvre à l'étape E433.
Si ISD [b] <1,3 (N de l'étape E431 avec th0=l,3)
alors le traitement de downmix est défini comme suit (downmix passif avec compensation de gain, Ml) :
pour k = kb ... kb+1 — 1
L[k] + R[k]
M[k] = 2 Y[k]
Dans des variantes supplémentaires, on pourra rajouter des critères de classification / décision supplémentaires afin d'affiner plus finement le choix du downmix, cependant on gardera au moins une décision entre au moins deux modes de downmix selon la valeur d'au moins un indicateur caractérisant les canaux du signal multicanal comme par exemple le paramètre ICCr ou le paramètre ISD (sur la trame, par sous-bande, ou par raie).
Les exemples de sélection de downmix illustrés aux figures 4a à 4f ne sont pas limitatifs. D'autres combinaisons ou applications de critères peuvent être envisagés.
Par exemple, un fondu enchaîné pourrait être appliqué dans le mode de réalisation où le critère est l'indicateur ISD.
Un downmix combinant 3 types de downmix avec pondérations adaptatives, de type
M[k] = pl. - /c] + p2. M2 [k] + p3. M3 [k] pourrait aussi être choisi. Les pondérations pl, p2 et p3 étant alors adaptés en fonction des critères de sélection.
La figure 5 donne un exemple d'évolution du paramètre ICCr pour un signal donné avec les seuils de décision th3 et thl fixés à 0,4 et 0,6 tel décrit dans l'exemple de réalisation de la figure 4b. On notera que ces valeurs prédéterminées sont surtout valables pour une trame de 20 ms et elles pourront être modifiées si la longueur de trame est différente.
Cette figure montre la fluctuation de cet indicateur ICCr et de l'indicateur SGN. Il est donc judicieux d'adapter au mieux le traitement de downmix en fonction de l'évolution de cet indicateur. En effet, une corrélation importante des signaux pour les trames de 100 à 300 par exemple, peut permettre un downmix adaptatif avec alignement sur une référence de
phase. Lorsque l'indicateur ICCr se trouve entre les seuils thl et th3, cela veut dire que les canaux du signal sont moyennement corrélés et qu'ils sont potentiellement en opposition de phase. Dans ce cas, le downmix à appliquer dépend d'un indicateur révélateur d'une opposition de phase entre les canaux. Si l'indicateur révèle une opposition de phase, alors il est préférable de sélectionner le downmix avec alignement sur une référence de phase adaptative définit ci-dessus par M3 [k] . Dans le cas contraire, le downmix passif avec compensation de gain définit ci-dessus par M-^ [k] est suffisant.
La valeur du paramètre SGN qui est également représentée à la figure 5 sert à choisir la bonne référence de phase dans le cas où l'indicateur de corrélation est sous un seuil par exemple 0,4. Dans l'exemple de la figure 5 la référence de phase passe donc de L à R aux alentours de la trame 500.
Nous revenons à présent à la figure 3. Pour adapter les paramètres de spatialisation au signal mono tel qu'obtenu par les traitements de "downmix" décrit ci-dessus, une extraction particulière des paramètres par le bloc 314 est maintenant décrite.
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 LbUf [k] et RbUf [k] sont découpés en 35 sous-bandes de fréquences. Ces sous-bandes sont définies par les frontières suivantes :
2 3 4 6 7 9 11 13 15 18 21 24 28 32 36 41 47 53 59 67 75 84 94 105 118 131 146 163 182 202 225 250 278 308 321]
Le tableau ci-dessus délimite (en nombre de coefficients de Fourier) les sous-bandes fréquentielles d'indice b = 0 à 34. Par exemple la première sous-bande (b=0) va du coefficient kb=Q à kb+1— 1 = 0; elle est donc réduite à un seul coefficient qui représente 25 Hz. De même, la dernière sous-bande (k=34) va du coefficient kb =30& à kb+1— 1 = 320, elle comprend 12 coefficients (300 Hz). La raie fréquentielle d'indice k =321 qui correspond à la fréquence de Nyquist n'est pas prise en compte ici.
Pour chaque trame, l'ICLD de la sous-bande b =0, ...,34 est calculée suivant l'équation:
ICLD [b] = 10. log
w ^ (21) où a [b] et σ [b] représentent respectivement l'énergie du canal gauche {L
bUf [k]) et du canal droit (R
buf [k]):
Selon un mode de réalisation particulier, les paramètres ICLD sont codés par une quantification scalaire non-uniforme différentielle (bloc 315). Cette quantification ne sera pas détaillée ici car elle dépasse le cadre de l'invention.
De manière similaire, les paramètres ICPD et ICC sont codés par des méthodes connues par l'homme de l'art, par exemple avec une quantification scalaire uniforme sur l'intervalle adéquat.
En référence à la figure 7 un décodeur selon un 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 EVS mono dans cet exemple. La partie du train binaire correspondant au codeur EVS mono est décodée selon le débit utilisé au codeur. 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 décodé correspond à (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 (n) (blocs 503 et 504) pour obtenir le spectre M [k] . On considère ici qu'une décorrélation dans le domaine fréquentiel (bloc 520) est également appliquée.
La partie du train binaire associée à l'extension stéréo est aussi dé-multiplexée. Les paramètres ICLD, ICPD, ICC sont décodés pour obtenir ICLDq [b] , ICPDq [b] et ICCq [b] (blocs 505 à 507). De plus, le signal mono décodé pourra être décorrélé par exemple dans le domaine fréquentiel (bloc 520). Les détails de mise en œuvre du bloc 508 ne sont pas présentés ici car ils dépassent le cadre de l'invention, mais les techniques classiques connues de l'homme de l'art pourront être utilisées.
Les spectres L [k] et R [k] sont ainsi calculés et ensuite convertis dans le domaine temporel par FFT inverse, fenêtrage, addition et recouvrement (blocs 509 à 514) pour obtenir les canaux synthétisés L(n) et R (n).
Le codeur présenté en référence à la figure 3 et le décodeur présenté en référence à la figure 7 ont été décrits dans le cas d'application particulière de codage et décodage stéréo. L'invention a été décrite à partir d'une décomposition des canaux stéréo par transformée de Fourier discrète. L'invention s'applique également à d'autres représentations complexes, comme par exemple la décomposition MCLT (Modulated Complex Lapped Transform)
combinant une transformée discrète en cosinus modifiée (MDCT) et transformée discrète en sinus modifiée (MDST), ainsi qu'au cas de bancs de filtres de type Pseudo-Quadrature Mirror Filter (PQMF). Ainsi le terme de "coefficient fréquentiel" utilisé dans la description détaillé peut être étendu à la notion de "sous-bande" ou de "bande de fréquence", sans changer la nature de l'invention.
Enfin, le downmix faisant l'objet de l'invention pourra être utilisé non seulement au codage mais aussi au décodage afin de générer un signal mono à la sortie d'un décodeur ou récepteur stéréo, afin d'assurer une compatibilité avec des équipements uniquement mono. Cela peut être le cas par exemple lorsqu'on passe d'une restitution sonore au casque à une restitution à un haut parleur.
La figure 8 illustre ce mode de réalisation, un signal stéréo par exemple est reçu décodé (L(n), R(n)). Il est transformé par les blocs respectifs 601, 602 et 603, 604 pour obtenir les spectres gauche et droit (L[k] et R [k]).
Une des méthodes telles que décrites en référence aux figures 4a à 4f est alors mise en œuvre dans le bloc de traitement 605, de la même façon que pour le bloc de traitement 307 de la figure 3.
Ce bloc de traitement 605 comprend un module d'obtention 605a d'au moins un indicateur caractérisant les canaux du signal stéréo multicanal reçu, ici le signal stéréo. L'indicateur peut par exemple être un indicateur de type corrélation intercanale ou un indicateur de mesure de degré d'opposition de phase entre canaux.
En fonction de la valeur de cet indicateur, le bloc de sélection 605b, sélectionne, parmi un ensemble de modes de traitement « downmix », un mode de traitement downmix qui s'applique en 605c aux signaux en entrée, ici au signal stéréo L[k] , R [k] pour donner un signal mono [/c].
Les codeurs et décodeurs tels que décrits en référence aux figures 3,7 et 8 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. Ils peuvent également être intégré dans des équipements de communication de type téléphone mobile ou passerelle de communication.
Dans des variantes, on considère le cas d'un downmix de 5.1 canaux à un signal stéréo. Au lieu de 2 canaux en entrée du downmix, on considère le cas d'un signal surround de type 5.1 défini comme un ensemble de 6 canaux : L (Front Left), C (Center), R (Front Right), Ls (Left Surround ou Rear Left), Rs (Right Surround ou Rear Right), LFE (Low Frequency effects ou subwoofer). Dans ce cas deux variantes de downmix de 5.1 stéréo peuvent être appliquées selon d'invention :
· Les canaux C et LFE peuvent être combinés par downmix passif et le résultat peut être combiné séparément aux canaux L et R en appliquant les modes de réalisation de
downmix de 2 canaux (stéréo) vers 1 canal (mono) pour obtenir respectivement des canaux L' et R' . Ensuite, les canaux L' et R' peuvent être également combinés avec respectivement Ls et Rs en appliquant les modes de réalisation de downmix de 2 canaux (stéréo) vers 1 canal (mono) pour obtenir respectivement des canaux L" et R' ' qui constituent le résultat du downmix.
Cette mise en œuvre fait donc appel de façon « hiérarchique » (par étapes successives) à un downmix élémentaire de type 2 vers 1 décrit précédemment selon différentes variantes.
• Dans une variante plus générale, l'invention pourra être généralisée pour combiner simultanément 3 canaux d'un côté L, Ls, C+LFE et d'un autre coté R, Rs, C+LFE où
C+LFE est le résultat d'un downmix passif simple pour obtenir directement deux canaux L" et R" .
Dans ce cas, on pourra définir plusieurs downmix comme dans le cas stéréo : un downmix M [k] passif des 3 signaux avec compensation de gain, un downmix M3 [k] des 3 signaux avec alignement adaptatif de la phase sur une référence adaptative (le signal dominant parmi les 3). Dans ce cas, le downmix est obtenu selon la généralisation :
M[k] = piyCCrlZ^CCrlS CCrZS^. M^k]
+ p3(ICCrl2, ICCrl3, 7CCV23). M3 [k]
où les pondérations pl et p3 sont des fonctions à plusieurs variables, par exemple la corrélation ICCrij entre chaque couple de canaux i et j (par exemple, L, Ls, C+LFE) respectifs pris deux à deux.
Dans d'autres variantes de l'invention le nombre de canaux en entrée et en sortie du downmix pourra être différent des cas stéréo vers mono ou 5.1 vers stéréo illustrés ici.
La figure 9 représente un exemple de réalisation d'un tel équipement dans lequel un codeur tel que décrit en référence à la figure 3 ou un dispositif de traitement tel que décrit en référence à la figure 8, 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, ou du procédé de traitement lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes d'extraction d'au moins un indicateur caractérisant les canaux du signal audionumérique multicanal et de sélection, parmi un ensemble de modes de traitement de réduction de canaux, d'un mode de traitement de
réduction de canaux en fonction de la valeur du au moins un indicateur caractérisant les canaux du signal audio multicanal.
Ces instructions sont exécutées pour un traitement de réduction de canaux lors d'un codage d'un signal multicanal ou d'un traitement d'un signal multicanal décodé.
Le programme peut comporter les étapes mises en œuvre pour coder les informations adaptées à ce traitement.
La mémoire MEM peut stocker les différents modes de traitement de downmix à sélectionner selon le procédé de l'invention.
Typiquement, les descriptions des figures 3, 4a à 4f 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 équipement 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 multicanal par exemple 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 un signal mono M issus du traitement de réduction de canaux sélectionné selon l'invention et dans le cas d'un dispositif de codage, les paramètres d'informations spatiales codées Pc.