La réduction de canaux ou downmix consiste à déduire, à partir d’une combinaison des C canaux d’un signal multicanal x, un signal y constitué d’un nombre inférieur D de canaux. En pratique, cela consiste à définir une fonction telle que :
, avec et n représentant un indice temporel du signal d’entrée et de sortie.
Dans cette invention, on s’intéresse au cas particulier D=1 et C=2, on parlera alors de downmix stéréo à mono ou simplement de downmix mono. Dans le cas C=2, on parle de contenu ou signal à 2 canaux qui peut être un contenu stéréo ou un contenu binaural, où la voie 1 ( ) est référencée comme la voie gauche (Left), et la voie 2 ( ) comme la voie droite (pour Right). Par la suite, le cas stéréo sera vu comme un signal général à 2 canaux, incluant le cas binaural pour éviter de répéter les deux termes, même si techniquement un signal binaural a des caractéristiques spécifiques. Dans le cas du signal y obtenu après traitement de réduction, on parle de signal monophonique ou mono, que l’on notera par la suite m(n), dans le domaine temporel, ou M(k), dans le domaine fréquentiel.
Ces signaux stéréo peuvent être issus d’une captation à partir d’un couple de microphones stéréo ou une captation binaurale, ou encore d'un mixage artistique de pistes audio.
Il existe un certain nombre de couples de microphones permettant de créer des contenus stéréo. Parmi les plus populaires, on peut citer le couple XY composé de 2 microphones cardioïdes présentant une différence d’angle d’orientation entre 90° et 135°. Le couple MS pour « Mid-Side » est un autre couple très répandu composé d’un microphone de directivité cardioïde, et d’un second microphone dit en « figure de 8 » orienté à 90°. Par combinaison de ces 2 micros (somme/différence), on peut créer les voies gauche et droite de contenu stéréo. Ces couples sont dits coïncidents, c’est-à-dire que les capsules microphoniques ne présentent pas de retard entre elles, la spatialisation étant perçue par la différence d’intensité sonore entre les voies gauche et droite.
Une autre catégorie de couples dits à stéréophonie de phase consiste à utiliser des microphones distants l’un de l’autre, créant ainsi une différence de phase entre les voies pour les sources situés plus proche de l’un des micros. Le plus connu est le couple AB qui exploite 2 microphones onmidirectionnels espacés de quelques centimètres à plusieurs mètres. Un autre couple très répandu est le couple ORTF qui exploite à la fois une différence de phase par un espacement de 17cm des microphones et une différence d’amplitude par des directivités cardioïdes (les microphones présentent un angle autour de 90°). Le couple binaural consiste à placer des microphones omnidirectionnels dans les oreilles d’une personne ou d’une tête artificielle : ce type de dispositif permet de créer nativement des contenus binauraux que l’on peut écouter au casque.
Les contenus stéréo incluent également les signaux de parole et audio issus d’un mixage ou postproduction audio (par exemple des canaux stockés sur un CD ou un DVD, ou diffusés sur Internet).
Il existe aussi d’autres méthodes de création de contenus stéréo qui ne sont pas revues ici.
La méthode la plus simple pour créer un signal réduit par downmix est celle dite downmix passif. Elle consiste à effectuer une moyenne des voies gauche et droite du signal stéréo tel que :
ou dans le domaine fréquentiel :
où est la transformée de Fourier à court-terme de (ou FFT en anglais pour « Fast Fourier Transform »), k étant l’indice de la fréquence et t l’indice de la trame :
Où j est le nombre imaginaire tel que , t est l’indice de la trame, l est l’indice temporel dans la trame courante, N la taille de la FFT, une fenêtre d’apodisation de taille L, de type sinus ou Hann ou autre, adaptée à la taille de la trame, et . Cette définition s’étend au cas où N>L et est une version augmentée de avec des 0 (0-padding).
Cette méthode de downmix passif, très simple, fonctionne bien dans les situations où les voies droite et gauche sont en phase. Cependant, dans les situations où les microphones ne sont pas coïncidents et présentent des différences de phase, un tel mixage génère un filtrage en peigne, qui se manifeste par une coloration du signal d’origine. Cela est dû au fait qu’en fonction de l’espacement des microphones, de la position de la source par rapport au couple de microphones et de la fréquence, les voies gauche et droite d’une même source peuvent se trouver soit en phase comme représenté en figure 1a, soit en opposition de phase comme représenté en figure 1b. Aussi, lors du downmix, les signaux gauche et droite vont soit s’additionner (interférence constructive), soit s’annuler (interférence destructive), créant ainsi des variations de niveau et des effets de coloration du signal réduit . La coloration vient de l’effet du filtrage en peigne : les effets d’interférences constructives et destructives se manifestent dans des bandes de fréquences différentes, modifiant ainsi l’équilibre et donc le timbre du signal issu du downmix par rapport à l'original.
Pour corriger ce défaut de niveau d’intensité suivant les fréquences, le downmix du codec e-AAC+ implémente une correction de niveau qui assure que le niveau d’énergie du signal réduit, dans chaque bande de fréquence, reste comparable à celui d’origine :
, avec
Cette approche permet de compenser dans une certaine mesure la baisse d’intensité du downmix. Cependant, cette compensation mène à des suramplifications lorsque les signaux sont proches de l’opposition de phase : aussi, en pratique, le facteur de correction est limité à une valeur maximum (par exemple une limite haute de 2).
La décrit une méthode de réduction de canaux de stéréo à mono intégrée dans le codec candidat IVAS public disponible à l’adresse :
https:/forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/tree/main
Le signal à 2 canaux d’entrée x(m), où m est l’indice des échantillons entrelacés, est désentrelacé (bloc 701) pour trouver les deux canaux gauche et droite. Ensuite une analyse fréquentielle avec fenêtrage et transformée de Fourier (blocs 702 et 703) est effectuée pour obtenir les spectres des 2 canaux, et l’intercorrélation sur la base des spectres de phase est estimée (bloc 704) avant de déterminer la différence de temps entre les canaux (notée ici ITD même s’il s’agit formellement d’une ICTD entre 2 canaux) par recherche de pic (bloc 705) ; le bloc 705 fournit également le niveau de corrélation R* correspondant à l’ITD.
Le facteur de mixage g est ensuite déterminé comme suit (bloc 706) :
où g représente le facteur de mélange (mixage) et est la différence de temps intercanal (appelée abusivement ITD) Ainsi, les 2 canaux sont combinés en un signal mono dans le bloc 706 selon ce facteur g, avec un lissage de la valeur du facteur appliqué échantillon par échantillon à chaque début de trame après le bloc 707:
m(n) = γ(n) x1(n) + (1-γ(n)) x2(n),
où γ(n) est le facteur dérivé de g après lissage temporel avec le gain de la trame précédente.
Ensuite, les énergies des canaux gauche x1(n) et droit x2(n) et du signal mono m(n) sont déterminées (bloc 708, 709, 710). Les canaux gauche et droite sont séparément réinjectés (ajoutés) dans les blocs 713 et 715 au signal mono issu du bloc 706 en fonction d’une compensation d’énergie déterminée dans le bloc 711 avec des facteurs d’échelle respectifs définis dans les blocs 712 et 713.
Ces méthodes, en sus de la coloration du signal issu du downmix, liée au filtrage en peigne imparfaitement corrigé, souffrent d’un surplus de réverbération liée à la sommation de signaux lorsque les canaux d’entrée sont en déphasage, et d’un artefact de type « clics » lorsque la réinjection de canaux est effectuée ponctuellement dans une seule trame. La compensation d’un retard identique pour toutes les fréquences n’est pas réaliste, ce retard étant lié aux différentes sources composant le contenu. En pratique, cela amène, outre une coloration supplémentaire, une perte potentielle d’intelligibilité des sources, défaut que la compensation de niveau ne peut corriger.
D’autres approches de downmix cherchent à éviter les défauts précités. Le principe de ces méthodes est de remettre en phase les signaux gauche et droite avant leur sommation. 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, il est proposé une méthode qui consiste à appliquer, dans le domaine fréquentiel, un déphasage φ sur l’une des voies, généralement la droite, afin de la remettre en phase avec la voie gauche, tel que :
Le déphasage idéal est donné par ce qu’on appelle ici l’IPD pour « Inter-channel Phase Difference » en anglais :
où est le conjugué de et ∠ indique la phase de l’opérande complexe.
Il est calculé dans le domaine fréquentiel : cela permet de remettre en phase les composantes spectrales de différentes sources, une source avec son propre IPD pouvant être prépondérante dans une bande de fréquence k, tandis qu’une autre source avec un IPD différent peut être prépondérante dans une autre fréquence k’.
Dans le cas du codec MPEG4 décrit dans le document Samsudin cité ci-dessus, l’IPD appliqué est celui estimé par moyennage sur une bande de Bark et non pas l’IPD calculé pour chaque bande de fréquence, ces derniers s’avérant particulièrement bruités et variables d’une trame à l’autre. De plus, cette méthode prend comme référence de phase le canal gauche, et si la phase de ce canal est mal conditionnée, le downmix a une qualité dégradée.
Dans la demande de brevet publiée WO2017103418, il est proposé une méthode de downmix qui fait un mélange entre la méthode proposée par Samsudin et le dowmix passif. Notamment, il propose un indicateur ISD pour « Inter-Spectral Distance » qui permet de choisir, bande de fréquence par bande de fréquence, quelle est la méthode la plus adaptée à la remise en phase des signaux :
Cet indicateur permet de mesurer si les signaux sont plutôt en phase (ISD < 1), c’est-à-dire avec une différence de phase ou IPD dans l’intervalle ou plutôt en opposition de phase (ISD > 1), i.e. avec une IPD dans l’intervalle . Lorsqu’ils sont en opposition de phase, une grande valeur d’ISD est synonyme d’un niveau comparable entre la voie gauche et la voie droite et la remise en phase est importante pour éviter les effets de coloration et de perte de niveau. A contrario, une valeur d’ISD proche de 1 est représentative d’un canal prépondérant par rapport à l’autre ; dans ce dernier cas, la remise en phase n’a pas d’importance, le downmix étant à peu près égal au signal prépondérant. Il est, cependant, important d’éviter de modifier la phase du canal droit si celui-ci est prépondérant. Aussi, dans cette demande de brevet, il est proposé un mécanisme de sélection de type de downmix suivant :
Le downmix passif proposé dans la demande de brevet suscité, pour les situations de faible ISD introduit parfois une réverbération accrue.
Par ailleurs, il apparaît que dans certaines situations de signaux plutôt en phase, i.e. lorsque , et notamment lorsque les canaux sont fortement déséquilibrés (source majoritairement à gauche ou à droite), il existe un phénomène de « détimbrage » qui peut être gênant, il peut donc être important dans ce cas de conserver intact ce signal sans appliquer de déphasage.
D’autre part, la méthode proposée dans la demande de brevet précitée nécessite d’appliquer un traitement dans le domaine fréquentiel, la reconstruction du signal réduit étant réalisé à partir de la transformée inverse de Fourier à court terme (TFCT ou STFT en anglais) du signal M(t,k). Ce type de filtrage engendre une convolution circulaire qui crée des artefacts audibles : écho, pré-écho, grésillements. Pour masquer ces artefacts, on peut utiliser une implémentation avec un recouvrement de trames (overlap) associé à un fenêtrage adapté (fenêtre à l’analyse et/ou à la synthèse) garantissant une reconstruction du signal filtré. De manière générale, ce recouvrement n’est pas compatible avec le fonctionnement des codeurs audio qui travaillent avec des trames adjacentes, i.e. sans recouvrement ; de plus, ce type de reconstruction induit un retard, généralement d’une demi-trame qui est le recouvrement classique, ce qui n’est pas acceptable pour un codeur qui a des contraintes fortes en termes de latence.
Une autre implémentation de type addition-recouvrement (OLA pour « Overlap-and-Add » en anglais) est également possible : cette méthode nécessite une étape de remplissage par des 0 (« 0-padding ») sur les signaux et les filtres pour éviter la convolution circulaire. Cependant, les tests montrent qu’avec de tels filtres dont la phase varie très rapidement d’une trame à l’autre, une approche de type OLA ne permet pas de masquer complètement les artefacts à la transition de certaines trames, les artefacts restant alors audibles.
Il existe aussi des méthodes de l’état de l’art où le downmix est obtenu en commutant, par exemple dans le domaine fréquentiel pour la demande de brevet publiée WO2017103418, des méthodes de downmix différentes. Dans ce cas il est important de s’assurer que la commutation se fait « sans couture », c’est-à-dire sans discontinuités ou différences de niveaux entre méthodes pour éviter des artefacts.
L’invention vient améliorer l’état de la technique.
A cet effet, l’invention vise un procédé de traitement de réduction de canaux d’un signal stéréophonique pour obtenir un signal monophonique comprenant, pour une trame courante :
- une première étape de sélection d’un traitement de réduction de canaux entre deux méthodes utilisant un filtrage du signal stéréophonique et une remise en phase des signaux, la sélection s’effectuant selon un indicateur de phase, représentatif d’une mesure de degré d’opposition de phase entre les composantes fréquentielles des canaux du signal stéréo,
- une deuxième étape de sélection entre une des deux méthodes, sélectionnée à l’issue de la première étape de sélection et une méthode de traitement de réduction de canaux sans remise en phase, la sélection s’effectuant selon la valeur d’un ratio d’énergie entre les canaux du signal stéréo.
Ces étapes de sélection permettent ainsi de déterminer le downmix le plus adapté aux caractéristiques du signal stéréophonique.
Dans un mode de réalisation, le ratio d’énergie entre les canaux du signal stéréo est calculé par bande de fréquence, la deuxième étape de sélection s’effectuant par bande de fréquence.
Ainsi, seules les bandes de fréquence concernées, dont le ratio d’énergie dépasse un seuil, appliquent un downmix sans remise en phase pour une adaptation plus fine.
Dans un mode particulier de réalisation, le traitement de réduction de canaux sans remise en phase est sélectionné pour les bandes de fréquences concernées seulement dans le cas où le nombre de bandes de fréquences concernées dépasse un seuil.
Ainsi, cela permet d’éviter de trop grandes fluctuations d’une trame à l’autre.
Dans un mode de réalisation, une troisième étape de sélection est effectuée entre une des deux méthodes sélectionnées à l’issue de la deuxième étape de sélection et une troisième méthode de traitement de réduction de canaux n’utilisant pas de filtrage du signal stéréophonique, ladite sélection étant mise en œuvre en fonction de :
- une présence ou non d’au moins une transition dans le signal stéréophonique, ou
- un niveau de qualité du filtrage du signal stéréophonique utilisé lors de la mise en œuvre d’un traitement utilisant le filtrage du signal stéréophonique, ou
- une indication de présence d’un signal binaural.
Ce mode de réalisation permet :
- lorsqu’une ou plusieurs transitions sont détectées, d’obtenir un meilleur rendu sur la ou les transition(s) du signal en sélectionnant le traitement de réduction de canaux qui n’utilise pas de filtrage, et qui, de ce fait, préserve la nature du signal stéréophonique,
- lorsqu’aucune transition n’est détectée, de privilégier le traitement de réduction de canaux qui utilise le filtrage, mieux adapté à des composantes du signal stéréophonique qui ne sont pas en phase.
Dans un mode de réalisation, la détection de ladite au moins une transition est mise en œuvre avant application, audit signal stéréophonique, de l’un ou l’autre des deux traitements de réduction de canaux.
Ce mode de réalisation permet, même avant l’application d’un traitement de réduction de canaux, de déduire à priori qu’au moins une transition est présente ou non dans le signal stéréophonique, sans application d’un traitement particulier supplémentaire sur ce signal.
Dans un mode de réalisation, la détection de ladite au moins une transition est mise en œuvre comme suit :
- calcul de l’énergie du signal stéréophonique, dite énergie d’entrée, avant application du filtrage,
- calcul de l’énergie du signal monophonique, dite énergie de sortie, après application du filtrage,
- calcul d’un rapport entre l’énergie d’entrée et l’énergie de sortie,
- comparaison dudit rapport à un seuil d’énergie, et
- si ledit rapport est inférieur, respectivement supérieur, audit seuil d’énergie, le traitement de réduction de canaux qui n’utilise pas un filtrage du signal stéréophonique, respectivement qui utilise un filtrage du signal stéréophonique, est sélectionné.
Dans un mode de réalisation, ledit niveau de qualité de filtrage est comparé à un seuil de qualité de filtrage, et si ledit niveau de qualité de filtrage est inférieur, respectivement supérieur, audit seuil de qualité de filtrage, le traitement de réduction de canaux qui n’utilise pas un filtrage du signal stéréophonique, respectivement qui utilise un filtrage du signal stéréophonique, est sélectionné.
Dans un mode de réalisation, est généré un indicateur représentatif du résultat de ladite détection, de la comparaison dudit rapport à un seuil d’énergie, ou de la comparaison du niveau de qualité de filtrage à un seuil de qualité de filtrage.
Dans un mode de réalisation, le procédé comporte une phase préalable d’adaptation des filtres de traitement de réduction de canaux avant application au signal stéréo par les étapes suivantes :
- obtention des réponses impulsionnelles des filtres correspondant au traitement de réduction de canaux ;
- troncature d’une partie des réponses impulsionnelles ;
- pondération de la partie restante par l’application d’une fenêtre de pondération ;
- normalisation des réponses impulsionnelles résultantes du fenêtrage pour obtenir les filtres adaptés, à appliquer à une trame de signal stéréo.
Dans un mode particulier de réalisation, la troncature consiste à conserver une partie causale et une partie non causale des réponses impulsionnelles.
L’invention vise un dispositif de de traitement de réduction de canaux comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de traitement de réduction de canaux tel que décrit précédemment.
L'invention concerne également un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de traitement de réduction de canaux conforme à l'invention, selon l’un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur.
De telles instructions peuvent être stockées durablement dans un support mémoire non transitoire du dispositif de de traitement de réduction de canaux mettant en œuvre le procédé de de traitement de réduction de canaux selon l’invention.
Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
L’invention vise également un support d’enregistrement ou support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple un support mobile, un disque dur ou un SSD.
D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens, de sorte que le programme d’ordinateur qu’il contient est exécutable à distance. Le programme selon l'invention peut être en particulier téléchargé sur un réseau, par un exemple un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé de de traitement de réduction de canaux précité.
Selon un exemple de réalisation, la présente technique est mise en œuvre au moyen de composants logiciels et/ou matériels. Dans cette optique, le terme « dispositif » ou « module » peut correspondre dans ce document aussi bien à un composant logiciel, qu'à un composant matériel ou à un ensemble de composants matériels et logiciels.
L’invention va maintenant être décrite ci-dessous en référence aux figures 2 à 8. A cet effet, les symboles suivants seront principalement utilisés dans la description qui suit.
INDICES
k indice fréquentiel
l indice temporel d’un signal (dans la trame courante)
n indice temporel d’un signal
t numéro de trame
CONSTANTES
L nombre d’échantillons dans la trame courante
R retard de filtre
N longueur de FFT
C nombre de canaux d’entrée
D nombre de canaux de sortie
P longueur de filtre
Q longueur de fondu enchaîné (crossfade)
SIGNAUX
xi(n) canaux d’entrée
m(n) downmix (en temporel)
m(t,l) downmix dans la trame courante (en temporel)
M(t,k) downmix dans la trame courante (en fréquentiel)
La montre un exemple d’une chaine de traitement d’un signal audio stéréophonique, le traitement comportant un traitement de réduction de canaux dit « downmix ».
A l’entrée de cette chaine de traitement, un signal stéréophonique x, composé de deux canaux (x1(n) et x2(n)) encore appelés voie gauche et voie droite (respectivement), est dans un premier temps découpé en 201, en trames de L échantillons (x1(t,l) et x2(t,l), t étant l’indice de la trame et l l’indice de l’échantillon. Le bloc 202 applique un fenêtrage et une transformée de type FFT (pour « Fast Fourier Transform » en anglais), pour obtenir des signaux dans le domaine fréquentiel (X1(t,k) et X2(t,k), k étant l’indice de la fréquence). En 203, une sélection et une détermination d’un filtre de réduction de canaux à appliquer à une trame de signal sont ensuite effectuées. Cette étape sera décrite en référence à la . Le filtre ainsi déterminé est conditionné (ou adapté) en 204 pour le rendre causal ou en partie causal et l’optimiser afin de diminuer la complexité de traitement. Dans un exemple de réalisation, le fenêtrage et la transformée de type FFT sont similaires aux étapes 702 et 703 de la .
Cette phase d’adaptation est décrite en référence à la .
Une fois le(s) filtre(s) déterminé(s) et adapté(s) pour la trame courante, il(s) est (sont) appliqué(s) en 205 à cette trame courante. Afin d’éviter des artefacts audibles dus à un changement de filtres entre deux trames, un fondu enchainé est effectué en prenant en compte les filtres de la trame précédente
lorsque le downmix de la trame précédente est du même type (T1/T2 défini plus loin).
Cette étape sera décrite en référence à la .
La décrit un mode de réalisation détaillé du bloc 203 de la . Dans ce bloc de traitement, il est sélectionné et déterminé dans une première étape de sélection un premier ou un deuxième traitement de réduction de canaux à appliquer à une trame courante du signal stéréophonique.
Une première méthode de traitement de réduction de canaux T1 est ici définie en décalant les canaux gauche et droit du signal stéréophonique simultanément d’un angle défini par le quart de la différence de phase (IPD) déterminée entre les deux canaux du signal stéréo. On a ainsi un signal de downmix, de la façon suivante :
Cette méthode permet d’éviter une dégradation de type surplus de réverbération généré par un downmix classique (moyenne des deux signaux) ou de type filtrage en peigne en cas de décalage temporel entre les deux voies.
Ce downmix ainsi défini peut-être vu, dans le domaine fréquentiel, comme un filtrage selon l’équation suivante :
avec et .
Dans un autre mode de réalisation, la première méthode de traitement de réduction de canaux T1 est définie en décalant les canaux gauche et droit du signal stéréophonique simultanément d’un angle défini par la moitié de la différence de phase (IPD) déterminée entre les deux canaux du signal stéréo.
On a alors :
Ou de façon équivalente
avec et .
Une deuxième méthode de downmix T2 est par exemple définie comme celle proposée dans le document Samsudin précédemment cité.
Dans cette deuxième méthode, on a alors et .
Comme décrit plus loin, dans un mode de réalisation, les réponses impulsionnelles correspondantes, , sont en fait décalées dans le temps pour garder les parties causales et anticausales. Ce décalage peut dans des variantes être intégré directement dans la définition de .
Par ailleurs dans des variantes on pourra de façon équivalente enlever le facteur ½ de la définition de et intégrer ce facteur ½ lors du mélange des canaux traités en 504 et 505 en référence à la décrite ultérieurement.
En pratique, la différence de phase IPD ou IPD/4 ou IPD/2 n’a pas besoin d’être déterminée. Dans une mise en œuvre efficace on peut déterminer les filtres en normalisant les raies fréquentielles (complexes) – avec ou sans lissage - par leur module (au sens des nombres complexes).
Les canaux du signal stéréo, dans le domaine fréquentiel (X1(t,k) et X2(t,k)), servent d’une part à calculer un indicateur de phase ISD en 301, représentatif d’une mesure de degré d’opposition de phase entre les canaux du signal stéréo, et, d’autre part, la différence de phase entre les canaux (IPD) en 303.
L’indicateur de phase est par exemple défini par l’indicateur ISD pour « Inter-Spectral Distance » tel que défini ci-dessus.
Dans le mode de réalisation décrit ici, l’ISD est déterminé par trame de signal stéréophonique afin que la décision de sélection d’un premier traitement de réduction de canaux (premier downmix) ou d’un deuxième puisse se faire trame par trame.
Cette décision par trame permet de s’affranchir des déphasages importants entre les fréquences et d’autres d’artefacts audibles qui peuvent apparaitre lorsque la décision varie d’une fréquence à l’autre comme dans la demande de brevet citée précédemment.
Pour appliquer une décision par trame, un critère de décision selon l’indicateur de phase ISD est défini selon l’équation suivante en 302 :
Ce critère mesure le pourcentage de raies fréquentielles d’indice k pour lesquelles le critère est favorable au downmix avec remise en phase, c'est-à-dire quand . La décision est prise d’appliquer le premier downmix tel que défini ci-dessus, avec remise en phase, lorsque dépasse un certain seuil , que l’on fixe par exemple à 70%.
Dans un autre mode de réalisation, on pourra déterminer l’indicateur ISD sur une bande fréquentielle prédéfinie :
où par exemple et est le numéro de la raie fréquentielle correspondant à une fréquence maximale, par exemple 4kHz.
Ce critère correspond dans ce cas à une moyenne de la valeur de l’ISD par raie fréquentielle. Dans cette variante, le seuil correspond non pas à un pourcentage mais à une valeur d’ISD, et on pourra fixer par exemple .
On a alors en 305 la décision suivante de sélection de downmix entre T1 et T2 :
En 303, la différence de phase IPD est obtenue entre les deux canaux du signal stéréo par où ∠ indique la phase de l’opérande complexe.
Cependant, la décision à la trame peut être parfois insuffisante car l’IPD, telle que calculée selon la formule ci-dessus, varie très rapidement dans le temps. Aussi, les filtres
peuvent varier très rapidement d’une trame à l’autre, ce qui engendre des discontinuités parfois audibles lors de la transition d’une trame à l’autre.
Pour limiter cet effet, on pourra dans une première approche calculer l’IPD sur des sous-bandes de fréquences plutôt que dans chaque bande indépendamment, en moyennant chaque canal sur des sous-bandes plus larges. On pourra choisir un nombre B de sous-bandes de largeur égale à
, où B est un nombre entier supérieur ou égal à 1. Pour calculer l’IPD dans chaque sous-bande b, on calcule dans un premier temps les spectres dans chaque sous-bande par moyennage :
Les spectres moyens des sous-bandes correspondant à la fréquence nulle (b=0) et la fréquence Fe/2 ( ) sont traitées à part par déduction directe des spectres dans ces bandes de fréquence :
Le nombre B de sous-bandes est à déterminer expérimentalement. Il conviendra de conserver une résolution fréquentielle suffisante pour pouvoir appliquer une remise en phase adaptée aux différentes sources : en pratique, une résolution fréquentielle autour d’une 100aine de Herz semble une bonne largeur de sous-bande. Par exemple, pour un signal stéréo échantillonné à 32kHz, avec une taille de FTT de 640, cela correspond à un nombre B=320 sous-bandes avec bandes de fréquences dans chaque sous-bande.
Dans des variantes, on pourra utiliser une découpe en sous-bandes avec une largeur non uniforme, par exemple selon l’échelle de Bark.
Ensuite, l’IPD est calculé de la même façon que précédemment, soit :
Dans la suite, l’indice k indiquera indifféremment soit une bande de fréquence, soit une sous-bande de fréquence, le cas =1 étant équivalent au traitement dans chaque bande de fréquence séparément.
Toujours pour limiter l’effet induit par les variations rapides de l’IPD, on pourra utiliser une version lissée de l’IPD dans le temps pour calculer les filtres . Une manière de lisser l’IPD est d’appliquer un filtrage passe-bas de type IIR d’ordre 1, en 304, tel que :
Le coefficient d’oubli est choisi de manière ad-hoc. Il peut être intéressant de choisir un coefficient d’oubli important dans les basses fréquences, typiquement en dessous de 5kHz, car cela permet de garder une cohérence de phase dans la partie basse du spectre d’une trame à l’autre, le spectre des signaux de parole étant stationnaire, notamment dans sa partie basse et l’oreille particulière sensible à la phase dans cette partie du spectre. A contrario, il est intéressant de choisir un faible coefficient d’oubli dans les hautes fréquences : dans les fréquences hautes, typiquement au-dessus de 5kHz, la continuité de phase des signaux de parole est moins marquée et l’oreille est moins sensible aux discontinuités de phase dans cette partie du spectre.
On pourra choisir un coefficient d’oubli de la forme suivante :
Les valeurs , , et sont déterminées de façon expérimentale. Dans le cas de trames adjacentes de longueur L=20ms, on pourra par exemple choisir le jeu de paramètres suivant :
, correspond à
Dans des variantes, on forcera les très basses fréquences et les très hautes fréquences à rester intactes. Ainsi dans des variantes, on force pour les premières raies ou ainsi que pour les raies d’indice où k correspond à 8 kHz.
Les downmix avec remise en phase, T1 ou T2, peuvent parfois modifier sensiblement le timbre et provoquer des dégradations de la qualité du signal. Ces modifications de timbre sont particulièrement audibles lorsqu’un signal est prépondérant sur l’une ou l’autre voie, c’est à dire lorsque l’ILD pour « Interchannel Level Difference » qui mesure le ratio d’énergie entre le canal gauche et le canal droit est proche de 0 ou très supérieur à 1. C’est par exemple le cas d’un signal prépondérant sur le canal droit auquel on applique le mode T1 de remise en phase par l’IPD. Pour limiter ces modifications de timbre, il est intéressant lorsque les énergies des canaux gauche et droit sont très différentes d’éviter la remise en phase en appliquant un downmix classique.
Dans une première implémentation, on pourra prendre une décision indépendante dans chaque bande de fréquence, ce qui permet de traiter indépendamment différentes sources, l’une pouvant être prépondérante sur un canal et ne nécessite pas de remise en phase, tandis que les autres sont réparties sur les canaux gauche et droit et nécessitent une remise en phase. Dans ce cas, on forcera un downmix passif uniquement dans les bandes de fréquence qui présentent une forte disparité d’énergie :
Ou et est un seuil l’ILD défini expérimentalement. En pratique, on pourra choisir une valeur autour de 100 (20dB).
Ainsi l’ILD est calculé en 306 afin de mettre en ouvre une deuxième étape de sélection en 307 et ainsi déterminer le traitement de downmix à appliquer avec ou sans remise en phase T1, T’1, T2 ou T’2 et selon les bandes de fréquence.
La décision d’imposer un downmix passif indépendamment dans chaque sous-bande peut parfois provoquer des fluctuations de phase d’une trame à l’autre : c’est particulièrement audible lorsque peu de bandes de fréquence sont concernés. Pour éviter ces fluctuations, on pourra limiter l’application du downmix passif dans les bandes concernées seulement si on observe suffisamment de bandes concernées, synonyme de la présence effective d’une source à gauche ou à droite. En pratique, on pourra calculer le pourcentage de bandes concernés , et limiter l’application du downmix passif dans les bandes concernées défini précédemment si ce pourcentage est supérieur à un seuil prédéfini , ou :
Et est un seuil déterminé expérimentalement. En pratique, un seuil de 30% est un bon compromis.
La figure 4 détaille à présent le bloc 204 de la figure 2. Les filtres , tels que par exemple définis dans les méthodes de downmix T1 et T2 définies ci-dessus, sont reconditionnés ou encore adaptés pour éviter la convolution circulaire.
Dans une première étape, en 401, on calcule les réponses impulsionnelles des filtres , tel que :
où les filtres sont de taille .
Dans le mode de réalisation privilégié, on a L = 20 ms, soit K=320 échantillons à 16 kHz, 640 échantillons à 32 kHz et 960 échantillons à 48 kHz, , soit B=160 échantillons à 16 kHz, 320 échantillons à 32 kHz et 480 échantillons à 48 kHz.
Les réponses impulsionnelles ainsi définies sont classiquement non causales, elles correspondent à des filtres à réponse impulsionnelle finie. Une technique classique pour les rendre causales consiste à effectuer une rotation de /2 échantillons pour centrer la réponse en /2. L’inconvénient est que le filtre ainsi reconstruit présente alors une latence de /2.
Dans le mode de réalisation privilégié, on effectuera une troncature de la réponse impulsionnelle :
Cette opération de décalage temporel (circulaire) peut également être mise en œuvre en appliquant un terme de phase approprié à avant FFT inverse, comme connu par l’homme de l’art. Dans ce mode de réalisation, le filtre obtenu a une réponse impulsionnelle finie avec un retard de R échantillons. Ce retard permet de conditionner correctement le filtre tronqué, que ce soit en termes de gain en minimisant l’influence de la troncature sur le gain unité du filtre déphaseur, ou en phase en minimisant l’écart à l’IPD. Ce retard R peut être adapté en fonction des contraintes d’implémentation : en pratique, un retard autour d’une milliseconde est suffisant pour conditionner correctement le filtre tronqué.
Dans une variante extrême, la troncature est asymétrique pour éviter cette latence. On choisit de tronquer le filtre de façon asymétrique, en 402, en ne conservant qu’une portion de la première moitié de la réponse impulsionnelle de la manière suivante :
Ce filtre présente l’avantage d’avoir généralement un maximum (en valeur absolue) sur son premier échantillon, ce qui garantit un traitement sans retard additionnel. En termes de réponse en fréquence, il présente une phase à peu près égale au filtre optimal de remise en phase . On pourra éventuellement compenser le fait que la partie anticausale de la réponse impulsionnelle est supprimée en appliquant en plus un facteur 2 aux valeurs de pour . Dans cette variante, le filtre obtenu a une réponse impulsionnelle finie avec virtuellement aucun retard.
Le choix de P dépend de différents critères : une valeur de P proche de N⁄2 garantit une remise en phase quasi optimale, tandis qu’une valeur plus réduite permet de limiter la puissance de calcul nécessaire pour le filtrage. Une valeur réduite de P a également pour conséquence de lisser la phase du filtre. Cela présente un avantage avec des filtres définis par le traitement T2 tel que défini ci-dessus où la phase varie très rapidement d’une fréquence à l’autre : ces variations peuvent se traduire par un délai de groupe très élevé et perceptible par l’oreille humaine. Une faible valeur de P permet de supprimer toute ou partie de ces artefacts.
Le filtre ainsi tronqué , notamment lorsque P<N⁄2, voire P≪N⁄2, présente une queue de réponse impulsionnelle qui ne tend pas vers 0. Cela crée des discontinuités audibles de type cliquetis à la transition entre 2 trames. Aussi, pour éviter ces artefacts audibles, on pondère avec une fenêtre , en 403, tel que :
où les coefficients de tendent vers 0 lorsque l tend vers 0 ou P et vaut 1 en l=R. Cela permet de réduire l’énergie des échantillons de la fin du filtre et d’éviter des discontinuités lors de la transition entre des filtres de trames consécutives.
Dans le mode de réalisation privilégié, où la troncature conserve une partie anti-causale, on applique par exemple des ½ fenêtres triangulaires sur les parties causales et anti-causales
ou toute autre fenêtre de type Hann par exemple
Dans la variante où la troncature est asymétrique, cette fenêtre peut être une demi-fenêtre triangulaire, ou encore une demi-fenêtre de Hann :
Du fait de sa troncature et du fenêtrage, les filtres possèdent une énergie réduite par rapport à celle du filtre optimal : ce dernier, en tant que filtre déphaseur pur, possède une norme 1/2 par construction. Aussi, on pourra procéder à une normalisation de l’énergie du filtre ainsi tronqué et fenêtré, en 404, tel que :
Où est la norme 2 d’un vecteur.
Dans des variantes, on pourra utiliser une autre méthode en 204 et remplacer la méthode de la . On pourra par exemple déterminer la réponse impulsionnelle directement par minimisation des moindres carrées et inversion matricielle par l’algorithme de Levinson (complexe) comme décrit à la section 2 de l’article de Mathias C. Lang, Design of nonlinear ph/ase FIR digital filters using quadratic problems, Proc. ICASSP, 1997. On trouve par exemple une réalisation de cette méthode dans la thèse de Mathias C. Lang, Algorithms for the Constrained Design of Digital Filters with Arbitrary Magnitude and Phase Responses, Juin 1999 (voir routine levin.m à l’annexe B et lslevin.m à la section 2.1.4). Dans ce cas la FFT inverse, la troncature et la pondération ne sont pas nécessaires ; cette méthode alternative estime directement une réponse impulsionnelle finie d’une longueur P (sans garantie de phase minimale). On pourra cependant appliquer une normalisation sous la forme
Selon l’invention, en 405, est déterminé un niveau de qualité du filtrage qui a été mis en œuvre. Dans le mode de réalisation privilégié avec une troncature avec une partie causale, on pourra déterminer le niveau de pour . Quand cette valeur est inférieure à un seuil prédéterminé (par exemple 0.25), cela indique un critère de qualité faible, et inversement, quand cette valeur est supérieure à un seuil prédéterminé (par exemple 0.25), cela indique un critère de bonne qualité.
Dans des variantes, on peut déterminer à cet effet
- une énergie E401 du filtre avant troncature 402 est calculée,
- une énergie E403 du filtre temporel après fenêtrage 403 est calculée,
- un rapport R4entre E401 et E403 est calculé.
On peut également déterminer une qualité de filtrage en comparant une énergie E401et une énergie E404 du filtre temporel après normalisation.
A titre d’alternatives non exhaustives, la détermination du niveau de qualité de filtrage peut être mise en œuvre :
- directement sur le filtre H
i(t,k), et/ou
- une version fréquentielle de ce même filtre avant normalisation ou après normalisation .
- etc…
Dans d’autres variantes, on pourra calculer :
Ce critère pourra être normalisé par :
Une autre variante de qualité pourra s’intéresser à la mesure de la quantité d’énergie perdue lors de la troncature pour rendre le filtre causal. Dans cette variante, on pourra calculer E401 comme l’énergie « anticausale » du filtre original :
L’énergie E403 (resp. E404) pourra être calculée comme l’énergie du filtre synthétisé, avant normalisation (resp après normalisation) :
Pour éviter le biais lié à la taille de la fenêtre, on pourra calculer également l’énergie de la partie anticausale sur le même nombre d’échantillons, avec fenêtrage par la fenêtre ou non :
Dans des variantes, on pourra calculer la réponse en fréquence du filtre obtenu après troncature (en sortie de 403) et comparer avec la réponse cible pour définir le niveau de qualité, par exemple :
Ce critère pourra être normalisé par :
Une autre variante du critère de qualité pourra consister à comparer la cohérence de phase des filtres, étant donné que l’objectif est de remettre en phase des signaux. Ainsi, on pourra calculer la cohérence
entre les 2 filtres :
Une cohérence élevée (i.e proche de 1) indiquant que le filtre synthétisé est proche du filtre idéal et donc un facteur de qualité élevé, une valeur faible (proche de 0) indiquant au contraire un critère de qualité faible.
La décrit à présent en détails le bloc 205 de la , où une implémentation de type OLS (pour « Overlap-and-Save » en anglais) du filtrage est opérée dans le domaine temporel ou fréquentiel. Le choix du domaine sera réalisé en fonction de la complexité qui dépend de la taille du filtre relativement à celle de la trame à traiter.
On présente ici une implémentation de type OLS dans le domaine temporel, avec des trames adjacentes de taille L.
Dans un premier temps, on concatène, en 501, la trame actuelle avec les P-1 échantillons de la trame précédente (principe du Save) :
Chaque voie est filtrée par son filtre déphaseur en 503 :
Le downmix mono est alors créé par somme des deux voies remises en phase en 505 :
Dans la pratique, les filtres peuvent être très différents entre deux trames successives, par exemple lorsqu’une nouvelle source apparaît. Dans ce cas, la transition entre et peut occasionner des différences sous forme d’artefacts audibles. Pour éviter ces artefacts, on peut appliquer une étape de fondu enchainé ou « cross-fade » en anglais. Pour réaliser ce cross-fade, on applique les filtres à la trame actuelle sur un nombre d’échantillons Q :
Ceci est réalisé par le bloc 502 de la .
Le nombre d’échantillons nécessaires au cross-fade devra être déterminé expérimentalement, en fonction de la taille des filtres, de la fréquence d’échantillonnage, …
On crée un ensuite le downmix mono en 504, à partir de filtres de la trame précédente :
Le signal issu du downmix est créé en 506, à partir d’un cross-fade selon l’équation suivante :
Où est une fonction monotone décroissante, avec et avec ε une valeur proche de 0 ou nulle. Typiquement, on pourra choisir une demi-fenêtre de Hann :
Il est à noter que, dans une intégration avec d’autres méthodes de downmix, les méthodes de downmix T1 et T2 précitées ne peuvent pas être toujours représentées par une opération de filtrage. C’est le cas de la méthode T3 de la ou toute autre méthode dont le gain dépend du niveau instantané du signal.
Dans le mode de réalisation privilégié, la méthode T3 de la est modifiée pour ajouter un décalage temporel (retard) pour synchroniser le downmix en sortie avec le downmix des méthodes T1/T2. De plus une compensation d’énergie est appliquée à la méthode T3 de la même façon qu’aux méthodes T1/T2 pour assurer une cohérence de niveau et permettre une meilleure transition entre méthodes.
Selon l’invention, dans le cas où une sélection des méthodes de downmix T1 et T2 ou du downmix T3 est mise en œuvre, comme cela sera décrit dans la suite de la description, une étape de mise à l’échelle 5040 et 5050 de chacun des signaux et respectivement est mise en œuvre. A cet effet, le signal m’(n) obtenu en sortie du downmix T3 de la figure 7 ayant un niveau N3, le niveau N1, respectivement N2, de chacun des signaux et sur lesquels a été appliqué le downmix T1, respectivement T2, est ajusté au niveau N3, de manière à être égal ou similaire à ce niveau N3. Au lieu d’être appliquée à chacun des signaux et , une telle mise à l’échelle peut être effectuée également sur le signal .
La détaille à présent un procédé de traitement de réduction de canaux conforme à l’invention, dans lequel est mise en œuvre en 610 l’une des méthodes de downmix T1 ou T2 (ou T’1/T’2 selon la deuxième étape de sélection) choisi à l’issue du procédé de sélection de la , et est mise en œuvre en 611 une autre méthode de downmix dont le gain dépend du niveau instantané du signal, telle que par exemple la méthode T3 de la .
Dans ce cas, une solution est de calculer les downmix de chaque méthode pour la trame courante d’indice temporel l et d’opérer une transition en 612 d’un downmix à l’autre par cross-fade (fondu-enchainé), ce qui génère un signal monophonique m(n). Plus précisément, dans le cas d’une transition d’un downmix T1 (ou T2) au downmix T3, le downmix peut être réalisé entre le signal obtenu en sortie de T1 (ou T2) et le signal obtenu en sortie de T3. On peut aussi opérer le fondu-enchainé entre la sortie de T1 (ou T2) et le signal d(n) tel que décrit en . Dans ce dernier cas, la compensation d’énergie de la méthode T3 (adapt_gain sur la ) s’appliquerait en permanence à toutes les méthodes. La décision du basculement d’un downmix T1 ou T2 à un downmix T3 (qui est une troisième étape de sélection) pourra être motivée par un critère tel que l’ISD défini ci-dessus, ou par d’autres critères, par exemple des paramètres Par3 déjà calculés par la méthode T3, comme par exemple l’ITD, en choisissant d’appliquer par défaut le downmix T3 lorsque l’ITD est très important (par exemple ITD > 600 microsec en valeur absolue). Le critère ILD(t) pourra également être utilisé lorsqu’un canal est très supérieur à l’autre (cas d’un signal nul à gauche ou à droite par exemple) : on privilégiera le dowmix sans remise en phase pour éviter tout détimbrage. On pourra utiliser également d’autres critères ou combinaison de critères.
En particulier, la troisième étape de sélection du downmix T1 (ou T2) ou T3 est mise en œuvre en fonction de :
- une présence ou non d’au moins une transition dans le signal stéréophonique, ou
- un niveau de qualité du filtrage du signal stéréophonique utilisé lors de la mise en œuvre du downmix T1 (ou T2), ou
- une indication de présence d’un signal binaural. Cette dernière indication est une information externe Fbinaural (par exemple définie comme une valeur binaire : 1=binaural, 0 = autre) qui indique explicitement que le signal d’entrée est binaural.
Dans le cas d’une détection 613 de la présence ou non d’au moins une transition dans le signal stéréophonique, selon un premier mode de réalisation, une détection de transitoire est appliquée séparément à chacun des signaux d’entrée x1(n) et x2(n), ou sur la trame courante x1(t,l) et x2(t,l). La détection de transitoires étant un problème classique en codage audio, on prend l’exemple du module déjà implémenté dans le codec EVS et décrit dans le standard 3GPP TS 26.445 clause 5.1.8. A cet effet, chacun des signaux d’entrée x1(n) et x2(n), ou la trame courante x1(t,l) et x2(t,l) est découpée en sous-blocs. L’énergie de chaque sous-bloc est calculée, puis un lissage est éventuellement mis en œuvre. L’énergie obtenue est alors comparée à un seuil d’énergie th61. Si cette énergie obtenue est inférieure à th61, la présence d’une transition est considérée comme non détectée. Si cette énergie obtenue est supérieure à th61, la présence d’une transition est considérée comme détectée. A cet effet, un paramètre Par 1 (si T1 a été choisi à l’issue de la sélection de la ) ou Par2 (si T2 a été choisi à l’issue de la sélection de la ) est mis :
- à une première valeur, par exemple 0, pour indiquer que la présence d’une transition n’a pas été détectée,
- à une deuxième valeur, par exemple 1, pour indiquer que la présence d’une transition a été détectée.
Un tel paramètre Par1/Par2 est transmis, en tant que critère de décision, au bloc 612 de cross-fading.
Dans le cas où la sélection du downmix T1 (ou T2) ou du downmix T3 est basée sur un niveau de qualité du filtrage du signal stéréophonique utilisé lors de la mise en œuvre du downmix T1 (ou T2), en référence à la , les étapes suivantes sont mises en œuvre :
- calcul de l’énergie E61 du signal ,
- calcul de l’énergie E62 du signal ,
- calcul d’un rapport entre E61 et E62,
- comparaison dudit rapport à un seuil d’énergie SE.
Si le rapport entre E61 et E62 est inférieur à SE, la présence d’une transition est considérée comme non détectée. Si le rapport entre E61 et E62 est supérieur à SE, la présence d’une transition est considérée comme détectée. A cet effet, un paramètre Par 1 (si T1 a été choisi à l’issue de la sélection de la ) ou Par2 (si T2 a été choisi à l’issue de la sélection de la ) est mis :
- à une première valeur, par exemple 0, pour indiquer que la présence d’une transition n’a pas été détectée,
- à une deuxième valeur, par exemple 1, pour indiquer que la présence d’une transition a été détectée.
Un tel paramètre Par1/Par2 est transmis, en tant que critère de décision, au bloc 612 de cross-fading.
Ainsi, selon l’invention, lorsqu’un transitoire est détecté dans la trame courante dans l’un ou les deux canaux, on applique à la trame courante le downmix T3 plutôt que le downmix T1 (ou T2). En effet les downmix T1 et T2 utilisent un filtrage par une réponse impulsionnelle qui a parfois tendance à étaler l’enveloppe du signal, ce problème est plus prononcé sur des sons transitoires comme des castagnettes, des claquements de ciseaux sur un enregistrement binaural simulant une coupe chez un coiffeur, etc.
Lorsqu’une information externe Fbinaural indique explicitement que le signal à 2 canaux d’entrée est binaural, soit Fbinaural =1, on pourra selon l’invention choisir un downmix particulier, par exemple le downmix T3.
Afin de limiter les artefacts potentiels dus au fondu enchaîné (bloc 612) entre méthodes de downmix, l’invention peut prévoir d’appliquer, en 614, une mise à l’échelle du signal en sortie de T1 (ou T2). Selon l’invention, une telle mise à l’échelle 614 met en œuvre les étapes suivantes :
- déterminer l’énergie E' du signal de downmix à la sortie de T1 (ou T2), de façon préférentielle avec un lissage, en effectuant les mêmes étapes que les étapes 708, 709, 710 de la ,
- déterminer le facteur d’échelle :
g’ =
- appliquer le facteur g’ audit signal de downmix en reprenant le principe de fonctionnement (avec lissage en début de trame) des blocs 712 et 714 de la .
A la différence du downmix à la , ici on applique une compensation directe du niveau du downmix en sortie de T1 ou T2, sans réinjecter de signal d’entrée.
On notera que lorsque le downmix T1 ou T2 introduit un retard, la compensation d’énergie doit prendre en compte ce retard pour aligner l’énergie du downmix en fonction des canaux d’entrée. Cela peut être réalisé en décalant les canaux d’entrée pour les synchroniser avec le downmix. Dans des variantes, de façon équivalente on pourra aussi calculer l’énergie servant à la compensation d’énergie par sous-blocs. Par exemple avec un retard R = 1ms on peut diviser la trame de 20 ms en 20 sous-blocs et prendre l’énergie du dernier sous-bloc de la trame précédente et le 19 premiers sous-blocs de la trame courante pour les canaux d’entrée.
La illustre une alternative du procédé de traitement de réduction de canaux décrite en référence à la figure 6A.
Le mode de réalisation illustré en figure 6B se distingue de celui de la figure 6A uniquement par le fait que la détection d’une transition est mise en œuvre selon un deuxième mode de réalisation. Selon ce deuxième mode, une telle détection est mise en œuvre au cours de l’étape 610 de downmix T1 (ou T2) au lieu d’être appliquée séparément à chacun des signaux d’entrée x1(n) et x2(n), ou sur la trame courante x1(t,l) et x2(t,l). A cet effet, en référence à la , on compare l’énergie de chaque sous-bloc de 2 ms entre le signal d’entrée et de sortie des blocs 502 et 503. Si l’énergie a baissé un seuil, par exemple 3 dB, on considère qu’une transitoire a été fortement atténuée, et dans ce cas on applique le downmix T3 dans la trame courante. Si l’énergie n’a pas baissé un seuil, par exemple 3 dB, on considère qu’une transitoire n’a pas été atténuée, et dans ce cas on applique le downmix T1 (ou T2) dans la trame courante.
Là encore, lorsqu’une information externe Fbinaural indique explicitement que le signal à 2 canaux d’entrée est binaural, soit Fbinaural =1, on pourra selon l’invention choisir un downmix particulier, par exemple le downmix T3.
On a illustré sur la , un dispositif de traitement de réduction de canaux 800, au sens de l’invention.
Le dispositif 800 comporte un circuit de traitement incluant typiquement :
- une mémoire MEM1 pour stocker des données d’instructions d’un programme informatique au sens de l’invention;
- une interface INT1 de réception d’un signal audio stéréo ;
- un processeur PROC1 pour recevoir ce signal et le traiter en exécutant les instructions de programme informatique que stocke la mémoire MEM1, en vue d’effectuer un traitement de réduction de canaux ; en particulier, le processeur étant apte à piloter les modules de traitement tels que décrits en référence aux figures 2 à 5; et
- une interface de communication COM 1 pour transmettre les signaux réduits, issus du traitement de réduction de canaux, , à un autre module de traitement, par exemple un module de codage ou de décodage d’un codeur ou d’un décodeur de signal audio.
Bien entendu, cette illustre un exemple d’une réalisation structurelle d’un dispositif de traitement de réduction de canaux au sens de l’invention.
Les figures 2 à 7 commentées ci-dessus décrivent en détails des réalisations fonctionnelles de ce dispositif.
Les applications de ce type de traitement de réduction de canaux se trouvent par exemple dans le codage audio, par exemple lorsque le distant n’a pas les capacités de restituer sur son terminal un son stéréo. Dans ce cas, il n’est pas nécessaire de transporter un signal stéréo et cela permet d’économiser de la bande passante. Ce type de procédé peut intervenir lors de conversations en point à point si l’un des participants fait une prise son stéréo ou binaurale. Ce type de procédé peut également être présent lors de conférence à plusieurs : le pont de conférence spatialise la scène en créant une scène stéréo, mais tous les participants n’ont pas nécessairement des capacités de restitution stéréo. Il convient alors d’effectuer un downmix de la scène en mono pour ces participants.
L’invention peut également s’appliquer pour un décodage audio : dans ce cas, c’est le renderer (module de restitution) de l’utilisateur qui va effectuer le downmix du contenu stéréo pour s’adapter aux capacités réduites de l’utilisateur (simple haut-parleur par exemple).