FR3018942A1 - Estimation d'un bruit de codage introduit par un codage en compression de type micda - Google Patents

Estimation d'un bruit de codage introduit par un codage en compression de type micda Download PDF

Info

Publication number
FR3018942A1
FR3018942A1 FR1452460A FR1452460A FR3018942A1 FR 3018942 A1 FR3018942 A1 FR 3018942A1 FR 1452460 A FR1452460 A FR 1452460A FR 1452460 A FR1452460 A FR 1452460A FR 3018942 A1 FR3018942 A1 FR 3018942A1
Authority
FR
France
Prior art keywords
coding
variance
noise
coding noise
estimation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1452460A
Other languages
English (en)
Inventor
Balazs Kovesi
Nirina Freddy Ranaivoson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR1452460A priority Critical patent/FR3018942A1/fr
Priority to PCT/FR2015/050716 priority patent/WO2015145050A1/fr
Publication of FR3018942A1 publication Critical patent/FR3018942A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0224Processing in the time domain
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0264Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/69Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for evaluating synthetic or decoded voice signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3002Conversion to or from differential modulation
    • H03M7/3044Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM]
    • H03M7/3046Conversion to or from differential modulation with several bits only, i.e. the difference between successive samples being coded by more than one bit, e.g. differential pulse code modulation [DPCM] adaptive, e.g. adaptive differential pulse code modulation [ADPCM]

Abstract

La présente invention se rapporte à un procédé d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA codant un signal d'erreur de prédiction. Il comporte les étapes suivantes: - estimation de la variance du bruit de codage (E305) en fonction d'une estimation de la variance du signal d'erreur de prédiction codé (E300); - estimation d'un bruit de codage (E306) par un bruit blanc dont la variance est la variance estimée du bruit de codage. L'invention se rapporte également à un dispositif mettant en œuvre ce procédé d'estimation. L'invention se rapporte également à un procédé de traitement de réduction d'un bruit de codage utilisant le procédé d'estimation, à un dispositif mettant en œuvre ce dernier procédé et à un décodeur intégrant ces dispositifs.

Description

La présente invention concerne un procédé d'estimation d'un bruit de codage, en particulier pour un codage de type MICDA (pour "Modulation par Impulsion et Codage Différentiel Adaptatif"). L'estimation de ce bruit de codage est utile pour effectuer des post-traitements du signal et notamment des traitements de réduction du bruit, en particulier pour des signaux audio numériques dans le domaine des télécommunications. Ces signaux peuvent être des signaux de parole, de musique ou autres.
Généralement, le débit nécessaire pour faire transiter un signal audio avec une qualité suffisante est un paramètre important en télécommunications. Afin de réduire ce paramètre et d'augmenter alors le nombre de communications possibles via un même réseau, des codeurs audio ont été développées notamment pour diminuer la quantité d'informations nécessaire pour transmettre un signal.
Certains codeurs permettent d'atteindre des taux de compression de l'information particulièrement élevés. De tels codeurs utilisent en général des techniques avancées de modélisation et de quantification de l'information. Ainsi, de tels codeurs ne transmettent que des modèles ou des données partielles du signal. Le signal décodé, bien qu'il ne soit pas identique au signal original (puisqu'une partie de l'information n'a pas été transmise du fait de l'opération de quantification), reste néanmoins très proche du signal original. La différence, du point de vue mathématique, entre le signal décodé et le signal original est alors appelée "bruit de quantification" ou "bruit de codage". On peut parler aussi de "distorsion" introduite par le codage/décodage. Les traitements en compression de signaux sont souvent conçus de manière à minimiser le bruit de codage et, en particulier, à rendre ce bruit de codage le moins audible possible. Il existe déjà des systèmes de réduction de bruit de codage qui comportent un premier module d'estimation du bruit de quantification selon différentes techniques et un deuxième module de traitement de réduction de bruit sur le signal décodé (qui constitue le signal d'entrée du module), à partir de cette estimation. La problématique de ces systèmes est de trouver un compromis entre une réduction trop forte qui peut dégrader le signal utile et une réduction trop faible qui conserve bien le signal utile mais laisse le signal de bruit audible. Cette problématique est d'autant plus vraie lorsque le signal utile est complexe, par exemple lorsqu'il est composé d'un mélange de parole et de bruit ambiant. Pour pouvoir trouver le point de fonctionnement optimal de réduction de bruit entre réduction et distorsion on a besoin d'une estimation de bruit de codage la plus précise possible.
Une solution de post-filtrage est par exemple décrite dans le document des auteurs 3- L.Garcia, C.Marro et B.Ki5vesi, intitulé "a PCM coding noise reduction for ITU-T G.711.1", dans Interspeech 2008, pour un codeur de type normalisé ITU-T G.711. Ce document décrit une méthode d'estimation du bruit de codage adaptée au codage de type MIC. L'estimation s'effectue ainsi par le calcul par trame de la variance (ou de l'énergie) du signal décodé. L'estimation ainsi obtenue permet d'effectuer un traitement de réduction de bruit sur le signal décodé. Cependant, cette solution adaptée au codage MIC n'est pas toujours précise ni efficace pour d'autres types de codage en compression, notamment pour un codage de type MICDA. Le codage MIC effectue une compression logarithmique du signal avant d'effectuer une quantification uniforme, ce qui est équivalent à l'utilisation d'un quantificateur logarithmique. La particularité de la quantification logarithmique est qu'elle garde un rapport signal à bruit (RSB) à peu près constant. Ainsi à partir de la variance du signal, il est possible pour ce type de codage d'estimer la variance du bruit par simple multiplication par une constante. Le codage MICDA utilise directement un quantificateur logarithmique adaptatif pour quantifier l'erreur de prédiction (qui sera détaillée ultérieurement). Il assure également un RSB à peu près constant quand ce quantificateur est utilisé dans sa dynamique optimale et le bruit de quantification peut toujours être considéré comme un bruit blanc. Par contre en cas changement brusque de l'énergie de l'erreur de prédiction à quantifier (surtout pour le démarrage, « offset » en anglais) l'adaptation peut ne pas avoir le temps de bien mettre à l'échelle le quantificateur et converger vers son point de fonctionnement optimal ainsi le RSB diminue. L'information seule de la variance du signal à quantifier n'est pas suffisante dans ce cas pour bien estimer le niveau du bruit. Il existe donc un besoin d'estimer avec une bonne précision, le bruit de codage engendré par un codage différent du codage MIC, notamment pour un codage de type MICDA, ce bruit de codage estimé pouvant alors être utilisé pour effectuer un traitement de réduction de bruit. La présente invention vient améliorer la situation. Elle propose à cet effet, un procédé d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA codant un signal d'erreur de prédiction. Le procédé est tel qu'il comporte les étapes 35 suivantes: - estimation de la variance du bruit de codage en fonction d'une estimation de la variance du signal d'erreur de prédiction codé; - estimation d'un bruit de codage par un bruit blanc dont la variance est la variance estimée du bruit de codage.
Ainsi, cette méthode d'estimation du bruit de codage est adaptée au signal codé selon un codage de type MICDA. La méthode est simple et de moindre complexité contrairement à des méthodes de mise en forme du bruit de codage qui peuvent exister sur ce type de codage. De plus, cette méthode d'estimation est réalisable à partir d'un flux binaire obtenu comportant l'information sur le signal d'erreur de prédiction codé par le codage de type MICDA et ne nécessite pas d'autres informations ou de traitements du codeur. Les différents modes particuliers de réalisation mentionnés ci-après peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, aux étapes du procédé d'estimation défini ci-dessus.
Dans un premier mode de réalisation, l'estimation de la variance du signal d'erreur de prédiction est effectuée selon les étapes suivantes: - obtention du signal d'erreur de prédiction décodé; - calcul de l'énergie du signal d'erreur de prédiction décodé obtenu pour déterminer sa variance.
On utilise ici de façon équivalente les termes variance ou énergie. En effet pour les signaux bien centrés, ce qui est le cas pour les signaux concernés ici les deux mesures sont quasiment identique (et parfaitement identique pour les signaux parfaitement centrés). Dans ce mode de réalisation, le flux binaire est entièrement décodé pour obtenir le signal d'erreur de prédiction. Le calcul de la variance sur ce signal décodé est alors efficace et précis. Dans un deuxième mode de réalisation, l'estimation de la variance du signal d'erreur de prédiction est effectuée selon les étapes suivantes: - obtention de facteurs d'échelle de quantification par échantillon pour une trame courante du signal audio décodé; - calcul d'une moyenne des facteurs d'échelle obtenus pour les échantillons de la trame courante; l'estimation de la variance du bruit de codage est fonction au moins de la moyenne ainsi calculée. Dans ce mode de réalisation, on utilise le facteur d'échelle de quantification qui est obtenu directement à partir du flux binaire sans le décoder entièrement. Le facteur d'échelle de quantification est en effet représentatif du signal d'erreur de prédiction codé. Cette méthode permet donc de l'obtenir avec une moindre complexité.
Dans un mode de réalisation particulier, le procédé comporte en outre une étape d'association pour la trame courante k, d'une classe ck en fonction de l'intervalle de valeur dans lequel se situe la moyenne des facteurs d'échelle de la trame courante k et en ce que l'estimation de la variance du bruit de codage est en outre fonction des classes déterminées pour la trame courante et pour un nombre prédéterminé de trames précédentes. L'estimation du bruit de codage s'effectue alors de façon plus précise avec la prise en compte des classes des moyennes de facteur d'échelle. On obtient en effet une réduction significative de l'écart quadratique moyen entre la variance par trame du bruit de codage et de son estimation.
De façon simple, l'association d'une classe à une trame s'effectue par la recherche d'une distance minimum entre la valeur de la moyenne des facteurs d'échelle de la dite trame et les centres des intervalles disjoints que forment une partition de l'ensemble des valeurs possibles des moyennes des facteurs d'échelle. Dans une variante de réalisation, l'association d'une classe à une trame est en outre fonction de la valeur de la moyenne des facteurs d'échelle d'un nombre prédéterminé de trames précédentes. Ainsi la classe elle-même porte également l'information de l'évolution de l'énergie des trames consécutives. En analogie avec la différence entre la quantification scalaire et la quantification vectorielle, cette solution est plus performante mais également plus complexe (en stockage et en calcul).
Dans un mode de réalisation particulier, la variance du bruit de codage est déterminée à partir de 17,1'1 coefficients d'une matrice de dimension p+1 prédéfinie par apprentissage d'une base de données de signaux audio de référence et stockée en mémoire, /7, étant le nombre de classes déterminées et p le nombre de trames précédentes prises en compte pour l'estimation de la variance du bruit de codage.
Dans un mode de réalisation préféré p = 1. Les signaux de référence pouvant être de type différents, les coefficients de la matrice ainsi définie sont calculés pour un grand nombre de situations possibles. Ceci permet d'apporter plus de précision pour différents types de signaux sur l'estimation du bruit de codage.
Dans un mode de réalisation particulier, le procédé comporte les étapes suivantes, mises en oeuvre pour les signaux de référence de la base de données, codés, décodés et synchronisés: - extraction par trame de facteurs d'échelle; - calcul d'un bruit de codage par soustraction au signal décodé du signal d'origine; - calcul des moyennes des facteurs d'échelle par trame, des écarts type du bruit de codage pour chaque trame fenêtré par une fenêtre incluant un nombre prédéterminé d'échantillons de la trame précédente; Ces calculs sur différents types de signaux permettent de calculer les coefficients de la matrice prédéfinie de la façon suivante: - calcul pour chaque trame d'un rapport entre la moyenne et l'écart type calculés pour les signaux de référence de la base de données; -obtention et enregistrements des coefficients de la matrice par calcul d'une moyenne des rapports calculés pour chaque coordonnée (i,j) de la matrice, correspondant aux classes i et j respectives. Cette matrice pourra alors être utilisée pour calculer l'estimation de la variance du bruit de codage, de façon efficace.
Ainsi, de façon optimale et dans un mode de réalisation particulier le calcul d'estimation de la variance du bruit de codage s'effectue selon l'équation suivante pour une trame courante k de signal: D k -\ 2 MR[Ck-PCk] ) Avec Dk la moyenne des facteurs d'échelle de la trame courante k et MR[ck_uck], le coefficient de la matrice prédéfinie de coordonnée (k-1, k) correspondant aux classes k-1 et k associées à la trame précédente et à la trame courante k. L'invention vise également un procédé de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA. Le procédé est tel qu'il comporte les étapes suivantes: - estimation d'un bruit de codage selon un procédé d'estimation décrit ci-dessus; -détermination d'une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, pour appliquer un traitement de réduction de bruit de codage estimé. Elle vise un dispositif d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA comportant: - un module d'estimation de la variance du bruit de codage en fonction du résultat d'un module d'estimation de la variance du signal d'erreur de prédiction codé; - un module d'estimation d'un bruit de codage par un bruit blanc dont la variance est la variance estimée du bruit de codage.
Elle vise également un dispositif de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA, comportant: - un dispositif d'estimation d'un bruit de codage tel que décrit; -un module de filtrage apte à déterminer une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, et à appliquer un traitement de réduction de bruit de codage estimé. ( = Elle vise aussi un décodeur de signal audionumérique comprenant un dispositif d'estimation d'un bruit de codage tel que décrit et/ou un dispositif de traitement de réduction d'un bruit de codage tel que décrit. Ces dispositifs et ce décodeur présentent les mêmes avantages que les procédés décrits précédemment, qu'ils mettent en oeuvre. L'invention vise également un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé d'estimation tel que décrit, lorsque ces instructions sont exécutées par un processeur. Enfin l'invention se rapporte à un support de stockage, lisible par un processeur, intégré ou non au dispositif d'estimation, éventuellement amovible, mémorisant un programme informatique mettant en oeuvre un procédé de tel que décrit précédemment. 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 de façon schématique la structure générale d'un codec comportant un module de post-traitement de réduction de bruit de codage comportant un dispositif d'estimation de bruit de codage selon un mode de réalisation de l'invention; la figure 2 illustre un codec de type MICDA pour lequel le procédé et le dispositif selon l'invention peuvent être mis en oeuvre; la figure 3 illustre sous forme d'organigramme, les étapes principales d'un procédé d'estimation d'un bruit de codage selon un mode de réalisation de l'invention; la figure 4 illustre un codeur de type normalisé ITU-T G.722 délivrant un flux binaire à partir duquel le procédé d'estimation dans un mode particulier de réalisation de l'invention, peut être mis en oeuvre; - la figure 5 illustre un exemple de limites des intervalles de classification utilisés dans un mode de réalisation particulier de l'invention; - la figure 6 illustre les fenêtres mises en oeuvre pour le calcul des différents paramètres du procédé d'estimation selon un mode de réalisation de l'invention; - La figure 7 illustre le nombre d'échantillons pris en compte lors de l'apprentissage à partir d'une base de référence, pour déterminer une matrice d'estimation selon un mode de réalisation de l'invention; - La figure 8 illustre les valeurs d'une matrice d'estimation du bruit de codage pour la bande basse fréquence d'un codeur de type G.722, utilisé dans un mode de réalisation du procédé d'estimation de l'invention; et - La figure 9 illustre un exemple de réalisation matérielle d'un dispositif d'estimation de bruit de codage selon un mode de réalisation de l'invention.
En référence à la figure 1, une chaine de traitement d'un signal audio est présentée. Un signal s(n) est codé en compression par un codeur COD de type MICDA comportant une opération de quantification Q du signal d'erreur de prédiction. Ce signal codé est transmis via un canal de transmission CA puis décodé par un décodeur DEC homologue du codeur COD. Le signal ainsi décodé, noté x(n), présente alors un bruit de quantification ou de codage b(n) qui se définit mathématiquement comme un écart (s(n) -x(n)) ou (x(n) -s(n)), le signe n'ayant pas d'importance ici. Une unité de traitement de réduction du bruit de quantification TBQ est prévu en aval du décodeur DEC, pour supprimer ou au moins limiter le bruit de codage (pour le rendre moins audible) dans le signal x(n). Pour effectuer ce traitement de réduction de bruit, que l'on appellera également post-traitement, l'unité de traitement comporte un dispositif BQ d'estimation du bruit de codage. Ce dispositif d'estimation du bruit de codage comporte un module 100 d'estimation de la variance du signal d'erreur de prédiction codé. Ce module 100 comporte lui-même un module 101 d'obtention du signal d'erreur de prédiction décodé (e(n)) ou bien d'un facteur d'échelle de quantification par échantillon (v(n)), à partir d'un flux binaire d'un signal audio codé selon un codage de type MICDA et reçu au décodeur DEC. Dans le cas où les signaux internes du décodeur DEC sont accessibles, le décodeur peut également fournir au module TBQ le signal d'erreur de prédiction décodé (e(n)) ou bien les facteurs d'échelle de quantification par échantillon (v(n)). Néanmoins, le décodeur DEC déterminant lui-même ces signaux e(n) et v(n) à partir du flux binaire reçu, on peut donc généraliser en disant ces signaux sont obtenus à partir d'un flux binaire d'un signal audionumérique codé. Le module 100 comporte en outre un module de calcul 102 soit de l'énergie du signal d'erreur de prédiction décodé (Ek), soit d'une moyenne Dk des facteurs d'échelles pour une trame courante k du signal audio décodé. Ce calcul définit dans les deux cas, la variance du signal d'erreur de prédiction codé. A partir de cette variance issue du module 100, un module 103 estime la variance du bruit de codage Evk. Le dispositif BQ comporte également un module 104 d'estimation du bruit de codage à partir de la variance déterminée par le module 103. L'estimation du bruit de codage Bk ainsi obtenue par le dispositif BQ est ensuite envoyée en entrée d'un module de filtrage 105 qui appliqué au signal décodé x(n), effectue le traitement de réduction de bruit estimé. Le signal post-traité x'(n) est fourni en sortie du dispositif de traitement TBQ.
On rappelle ci-dessous, en référence à la figure 2, les caractéristiques de la technologie MICDA. La technologie MICDA ou ADPCM (pour « Adaptative Differential Pulse Code Modulation » en anglais) est une technique de compression des signaux multimédias. Les exemples de codeurs utilisant la technologie MICDA les plus connus et les plus utilisés sont deux codeurs de parole, normalisés à l'UIT-T (Union Internationale des Télécommunications): le codeur UIT-T G.726 pour des signaux en bande téléphonique (ou bande étroite) échantillonnés à 8 kHz (codeur DECT pour « Digital Enhanced Cordless Telecommunications» en anglais) et le codeur UIT-T G.722 pour des signaux en bande élargie échantillonnés à 16 kHz (codeur voix HD pour la VoIP). Le codage MICDA est un codage prédictif où l'échantillon courant est prédit par un prédicteur adaptatif de type ARMA (pour « Auto Regressive Moving Average » en anglais) à partir des valeurs décodées passées. En utilisant les valeurs décodées aussi à l'encodeur donné par un quantificateur inverse local (Qa-1), le décodeur peut faire la même prédiction que l'encodeur. L'adaptation du prédicteur est également faite à partir des valeurs décodées (du signal décodé et de l'erreur de prédiction décodée), échantillon par échantillon, sans transmission d'information supplémentaire. L'encodeur MICDA (COD) représenté en figure 2, quantifie la différence e(n) (l'erreur de prédiction) entre la prédiction xp (n), issu du prédicteur adaptatif (Pred.A), de l'échantillon courant et la vraie valeur s(n) de l'échantillon courant en utilisant un quantificateur scalaire adaptatif (Qa). L'amplitude codée de l'erreur de prédiction est composée de 2 parties : une partie constante y(I(n)) stockée en mémoire ROM indexée par les valeurs de quantification scalaire et un facteur adaptatif multiplicatif v(n) (dans le domaine linéaire) appelé facteur d'échelle, dont l'adaptation est faite sans transmission d'information supplémentaire, échantillon par échantillon, en fonction de l'indice de quantification transmis. L'adaptation du facteur d'échelle est décrite plus loin. On note également que ce facteur d'échelle est à peu près proportionnel avec la variance du signal d'erreur de prédiction, ce facteur d'échelle est donc très représentatif du signal d'erreur de prédiction. Dans le flux binaire ("bitstream" en anglais) MICDA, on transmet donc uniquement les indices de quantification scalaire obtenus en quantifiant l'erreur de prédiction échantillon par échantillon. Ces indices de quantification scalaire se décomposent en un bit de signe sign(n)et un indice de quantification d'amplitude .1(n). Pour décoder le flux binaire, le décodeur (DECOD) effectue une quantification inverse échantillon par échantillon de l'erreur de prédiction utilisant le quantificateur adaptatif inverse (Qa-1). Le décodeur fait également la même prédiction de l'échantillon courant que celle effectuée à l'encodeur, en utilisant le même prédicteur adaptatif ARMA (Pred.A) (en l'absence d'erreurs de transmission) adapté échantillon par échantillon. En cas d'erreurs de transmission, le prédicteur et le quantificateur au décodeur divergent de ceux à l'encodeur.
Grâce à l'utilisation de facteurs d'oubli ils re-convergent généralement en quelques millisecondes. La valeur décodée de l'échantillon courant est obtenue en additionnant la prédiction et la valeur déquantifiée de l'erreur de prédiction.
Le bruit de quantification d'une telle architecture de codeur MICDA revient finalement à b(n)= s (n) - x(n) = e (n) - e Q (n) lorsqu'on ne prend pas en compte des erreurs de transmission. Les prédictions n'apportent pas d'erreur supplémentaire car elles se font en parallèle à partir du signal décodé.
Le codage MIC et le codage MICDA sont des codeurs de faible complexité. Il est donc important que l'algorithme de réduction de bruit soit également de faible complexité pour pouvoir l'implémenter sur les mêmes processeurs que ceux du codage. Ainsi, selon l'invention, il est possible d'estimer la variance du signal d'erreur de prédiction en décodant complètement ce signal (l'erreur de prédiction) à partir du train binaire MICDA et en calculant son énergie ou sa variance. Une autre méthode efficace et beaucoup moins complexe est de ne décoder que les facteurs d'échelle v(n) et de faire l'estimation de la variance à partir de ces valeurs. De façon alternative, si les signaux internes du décodeur sont accessibles, le décodeur peut fournir également au module d'estimation soit l'erreur de prédiction décodée soit le facteur d'échelle décodé.
La figure 3 illustre sous forme d'organigramme, les étapes principales d'un procédé d'estimation d'un bruit de codage, selon un mode de réalisation. Ainsi, à l'étape E300, on estime la variance du signal d'erreur de prédiction codé. Pour cela, à l'étape E301, à partir du train binaire T, on obtient, selon un premier mode de réalisation, le signal d'erreur de prédiction décodé e(n) en décodant complètement le train binaire ou selon un deuxième mode de réalisation, pour une trame courante de taille / de signal décodé, les facteurs d'échelle de quantification de l'erreur de prédiction v(n) obtenus par échantillon. Dans un mode de réalisation particulier en référence à la figure 4, on verra un exemple d'extraction de ces facteurs d'échelle.
A l'étape E302, selon le premier mode de réalisation, un calcul d'énergie du signal d'erreur de prédiction décodé est effectué pour obtenir la variance du signal d'erreur. Selon le deuxième mode de réalisation, à l'étape E302, le calcul d'une moyenne arithmétique Dk des facteurs d'échelle v(n) pour la trame kest effectué. (k+1)1 1 v(i) n _ i=k1+1 "--"k - 1 Des variantes concernant le calcul de Dk par d'autres types de moyenne, comme la moyenne géométrique ou quadratique sont possibles. \ii(k+1)1 Moyenne géométrique : Dee, = i nv(i) k i=k1+1 (k+1)1 Moyenne quadratique : Dquad =- v(i)2 n z=k1+1 Dans un mode de réalisation simplifié, l'étape E300 est suivi de l'étape E305 d'estimation de la variance du bruit de quantification en fonction de la variance du signal d'erreur de prédiction. Ainsi, dans le premier mode de réalisation, la variance du bruit de quantification est estimée à partir de l'énergie du signal d'erreur de prédiction décodé et selon le deuxième mode de réalisation, la variance du bruit de quantification est estimée à partir de la moyenne des facteurs d'échelle Dk . Dans le mode de réalisation simplifié, l'estimation de la variance du bruit de quantification est obtenue par division de Dk par une constante. De façon à éviter des dégradations de la qualité audibles à l'issue du traitement de réduction de bruit, un autre mode de réalisation apportant plus de précision prend en compte également une classe ck fonction de la valeur de la moyenne des facteurs d'échelle Dk ou de l'énergie Ek pour estimer la variance du bruit de quantification. On décrit ici le mode de réalisation utilisant les classes ck pour le deuxième mode de réalisation avec facteurs d'échelle. Il peut tout aussi bien s'appliquer au cas du premier mode de réalisation utilisant le signal d'erreur de prédiction décodé. Dans ce dernier cas, la moyenne des facteurs d'échelle Dk est remplacée par l'énergie Ek calculée par trame pour le signal d'erreur décodé. En déterminant l'intervalle dans lequel se situe Dk , on associe à la trame k une classe ck à l'étape E303. Ce calcul s'effectue par la recherche du minimum de distance aux centres CI des différents intervalles disjoints [LI(k);LI(k+1)] qui forment une partition de l'ensemble des valeurs que peuvent prendre Dk: ck = arg min ((C7 [i]- Dk )) Cette classification est équivalente à une quantification scalaire des valeurs Dk sur nc valeurs, nc étant le nombre total de classes.
A l'étape E304, la valeur ck pour la trame courante est mémorisée pour une utilisation ultérieure lors du calcul de l'estimation de la variance de l'étape E305, pour ce mode de réalisation. Ainsi, à partir de Dk, de ck , et de c,_,;ie (1; p) les classes de p trames précédentes, avec p une valeur prédéterminée, on calcule l'estimation de la variance du bruit de codage à l'étape E305: Evk= f (Dk,ck i;ie (0;p)) Un exemple d'une telle fonction f est donné ultérieurement. Par ce mode de réalisation, on obtient une réduction significative de l'écart quadratique moyen entre la variance par trame du bruit de codage et de son estimation comme le montre le tableau 1 ci-dessous pour différents exemples d'échantillons sonores: Ecart Parole propre Parole bruitée Contenu mixte Musique Base de quadratique moyen données mode de 1.1815e-07 3.0309e-08 3.2123e-07 3.2369e-09 7.4531e-07 réalisation simplifié (division par une constante) mode de 1.8023e-08 1.6203e-08 8.8490e-08 1.8076e-09 4.8562e-07 réalisation utilisant les classes ck et p= 1 Tableau 1 A l'étape E306, une estimation du bruit de codage est obtenue à partir de l'estimation de la variance calculée à l'étape E305. Cette estimation du bruit de codage est obtenue par un bruit blanc dont la variance est celle estimée à l'étape E305. Le bruit blanc est un signal aléatoire dont la densité spectrale de puissance est la même sur toute la largeur de bande représentée, cette largeur en fréquence est la moitié de la fréquence d'échantillonnage. La variance d'un bruit blanc dépend de sa valeur de densité spectrale de puissance et de la fréquence d'échantillonnage. Ainsi, en connaissant la fréquence d'échantillonnage et la variance, le niveau de la densité spectrale de puissance peut être déterminé par une simple multiplication de la variance par une constante dépendant de la fréquence d'échantillonnage.
Une variante d'extension de la classification incluant les trames précédentes est possible. La classe ck est alors aussi définie en fonction des valeurs des moyennes du facteur d'échelle de d trames précédentes, selon l'équation (6) suivante: Ck = f (D,;i E (0; cl)) Le module de filtrage 105 de la figure 1 effectue un traitement de réduction de bruit à partir du bruit estimé à l'étape E306. Ce module reprend les principes du filtre utilisé dans l'annexe C du codeur normalisé ITU-T G.711.1. Pour une trame k, à partir du signal décodé x(n) et l'estimation du bruit pour la même trame, on calcule dans le domaine fréquentiel un filtre W(k)(f ) par la technique de la TSNR ("Two Step Noise Reduction") décrit par exemple dans le document intitulé "a Two-step noise reduction technique" des auteurs C.Plapous, C.Marro, L.Mauuary 8( P.Scalart, dans ICASSP 2004. A partir de la distribution spectrale en puissance (PSD) pour la trame k du signal décodé X(k)(f ) et de l'estimation de bruit 73(k) ( f ) , on a un rapport signal à bruit (RSB) a posteriori RSB(k) - post ' X(k) ( f ) RSB p(k)st ( f )= -(k) B ( f ) Le rapport signal à bruit a priori pour la trame est calculé en deux étapes. Tout d'abord on calcule une première estimation RSBpnol par une décision dirigée entre le RSB a priori final de la trame précédente et le RSB a posteriori: RSBp(krz)ol = ,8RSBkno12) + (1- fl)max(RSB p(kos) t -1,0) RSB prio, permet de calculer un premier filtre de réduction de bruit Wi (f), d'après la forme de Wiener : RSB p(kri?o, (f) Wl(k) Cf) = 1+ RSB(k) ( f) priol Ce filtre permet d'affiner l'estimation du RSB a priori en considérant cette fois ci, la PSD du signal filtré par Wi . Une deuxième estimation du RSB a prioriest alors donné par : RSB 02 (f)= X (k) (f ) (Wl(k) (f ))2 T3(k) (f ) Le filtre est alors calculé à partir de cette deuxième version du RSB par la forme de Wiener : W( (f ) RSB2 p( (f) krz)ok) = 1+ RSB(pkri),, (f) Par transformée de Fourier inverse et réorganisation des coefficients, un filtre FIR temporel et causal h(n) est calculée : l(k) (n)= iFFT (W,n(k) (f)) La réorganisation des coefficients est la suivante : h1(k) (n +32) pourn = 0:31 h(k)(n) h1(k) (n -32) pourn = 32:63 Cette réponse impulsionnelle est fenêtrée par une fenêtre symétrique de Hanning à 33 coefficients de façon à réduire de moitié la taille nécessaire de FIR.
Le module de filtrage 105 met donc en oeuvre une étape de détermination d'une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, obtenu selon les étapes E301 à E306, pour appliquer un traitement de réduction de bruit de codage.
Le mode de réalisation décrit ci-après est donné pour une estimation du bruit de codage de la bande basse d'un codeur de type normalisé UIT-T G.722. Dans ce codeur, le signal de la sous-bande basse est en effet codé par un codeur indépendant MICDA. Un tel codeur est par exemple décrit dans le document " Rec. ITU-T G.722, 7 kHz audio-coding within 64 kbit/s, Sep. 2012" et illustré à la figure 4 décrite à présent.
Le codeur G.722 code le signal d'entrée (x(n)) échantillonné à 16 kHz en deux sous- bandes échantillonnées à 8 kHz. La division en sous-bandes est faite par un filtre miroir en quadrature (QMF pour "Quadrature Mirror Filter" en anglais) par le module 401. A partir de deux échantillons d'entrée le filtre QMF donne en sortie un échantillon xL(n) de bande basse (0-4000 Hz) et un échantillon xH(n) de bande haute (4000-8000 Hz). Les signaux des 2 sous- bandes sont codés indépendamment par des codeurs MICDA 402 et 403. Les indices des deux erreurs de prédiction quantifiées IH(n) et IL(n) sont ainsi transmis dans le flux binaire I(n) après multiplexage en 404. Le codeur G.722 a trois débits: 64, 56 et 48 kbit/s. Chaque échantillon de la sous-bande basse est codé sur 6 bits au plus haut débit (48 kbit/s), sur 5 bits au débit intermédiaire (40 kbit/s), et sur 4 bits au plus bas débit (32 kbit/s). Au plus haut débit, le flux codé de la sous-bande basse est constitué de la couche coeur à 4 bits par échantillon et de deux couches d'amélioration à 1 bit par échantillon chacune. La sous-bande haute est toujours codée sur 2 bits (16 kbit/s) par échantillon indépendamment du débit. On décrit ici l'adaptation du quantificateur de la bande basse du codeur G.722.
Typiquement, dans cette bande, l'erreur de prédiction au plus bas débit (48 kbit/s dont bande basse à 32 kbit/s) est codée sur 4 bits : 1 bit de signe sign(n) et 3 bits I(n) pour choisir parmi les 8 amplitudes possibles du quantificateur scalaire. En réalité le train binaire du G.722 ne contient pas directement les 3 bits de l'indice I(n) mais on peut le déduire facilement à partir des 4 bits extraits du train binaire selon le tableau 2 ci dessous: 4 bits dans le train binaire Signe 1(n) 0000 + 0 0001 + 7 0010 + 6 0011 + 5 0100 + 4 0101 + 3 0110 + 2 0111 + 1 1000 - 7 1001 - 6 1010 - 5 1011 - 4 1100 - 3 1101 - 2 1110 - 1 1111 - 0 Tableau 2 L'amplitude décodée de l'erreur de prédiction est décomposée en 2 parties : une partie constante de type logarithmique y(I(n))stockée en mémoire ROM indexée par I(n), et un facteur adaptatif multiplicatif appelé facteur d'échelle v(n). Par exemple le quantificateur fixe de 4 bits (incluant 1 bit de signe) dans la bande inférieure de G.722 contient les 8 valeurs d'amplitude suivantes, données dans le tableau 3: indice d'amplitude I(n) 0 1 2 3 4 5 6 7 valeur de quantification y(I(n)) 0 0.037 0.079 0.129 0.192 0.274 0.394 0.624 Tableau 3 Le facteur d'échelle v(n) permet d'adapter l'étendue du quantificateur à l'amplitude du signal à quantifier échantillon par échantillon pour assurer un bon rapport signal à bruit indépendamment du niveau de l'erreur de prédiction. L'adaptation est faite de la façon suivante : quand pour quantifier l'erreur de prédiction on utilise un des plus grands niveaux du quantificateur scalaire on augmente la valeur du facteur d'échelle en le multipliant par un facteur d'adaptation M(I(n))supérieur à 1 pour étendre un peu plus le quantificateur et ainsi éviter la saturation du quantificateur. Inversement, quand un des plus faibles niveaux du quantificateur scalaire est choisi on diminue la valeur du facteur d'échelle en le multipliant par un facteur d'adaptation M(I(n)) inférieur à 1 pour rétrécir un peu plus le quantificateur et ainsi mieux utiliser sa dynamique et obtenir un bon rapport signal à bruit. La valeur du facteur d'adaptation M(I(n)) dépend donc de l'indice de quantification transmis I(n), elle est inférieure à 1 si l'indice correspond à une valeur quantifiée faible (0, 0.037 et 0.079 dans l'exemple de la bande basse du codeur G.722) et supérieure à 1 pour des autres valeurs. Dans le codeur G.722 cette adaptation est faite dans le domaine logarithmique, par addition du facteur d'adaptation logarithmique ML(I(n)) correspondant à l'indice d'amplitude transmis I(n) au facteur d'échelle logarithmique vdn). Le tableau 4 donne les valeurs du facteur d'adaptation dans le domaine logarithmique MdI(n)) et le facteur d'adaptation multiplicatif dans le domaine linéaire M(I(n))pour les 8 niveaux possibles : indice d'amplitude I(n) 0 1 2 3 4 5 6 7 log facteur d'adaptation ML(I(n)) -60 -30 58 172 334 538 1198 3042 linéaire facteur d'adaptation M(I(n)) 0.98 0.99 1.02 1.06 1.12 1.2 1.5 2.81 Tableau 4 De plus, la valeur obtenue est bornée dans l'intervalle [0, 18432] : v',(n)= min(max(vi (n - 1) + A (I (n -1)),0),184-32) En cas d'erreur de transmission cette adaptation n'est pas faite avec la même valeur à l'encodeur et au décodeur, l'encodeur et le décodeur se désynchronisent. En utilisant l'équation précédente cette désynchronisation persisterait indéfiniment. Pour assurer leur resynchronisation après une erreur de transmission un facteur d'oubli est appliqué. Dans le cas du codeur G.722 il s'agit d'une multiplication par 0.9922 ((32512 en virgule fixe Q15, 32512/32768)) du facteur d'échelle logarithmique précédent : v ,(n)= min(max (0.9922v (n -1)+ (/ (n -1)),0),18432) Finalement, la conversion log-lin est faite par une simple lecture de table de 289 entrées, l'indice pour cette table est obtenu en divisant vL(n) par 64 (décalage binaire à droite par 6, "shift" en anglais). Cette adaptation dans le G.722, en utilisant ces tables de conversion log-lin, correspond dans le domaine linéaire à : v (n)= min(max(v (n 9922 M (n -1)),6),4095) (1) Dans ce mode de réalisation, pour la bande basse du codeur G.722, on utilise des trames de 1=40 échantillons soit 5ms. Le procédé d'estimation du bruit de quantification, à l'étape E301 de la figure 3, extrait, dans le deuxième mode de réalisation, les facteurs d'échelle par échantillon pour une trame k courante selon l'équation 1 et les tableaux 2 et 4 ci-dessus à partir du train binaire T reçu au décodeur.
A l'étape E302, la moyenne Dk de v(n) est obtenue comme décrit en référence à la figure 3. A l'étape E303, en déterminant l'intervalle dans lequel se situe Dk on associe à la trame k une classe ck , n, étant le nombre total de classes, fixé à 40 dans cet exemple de réalisation.
Dans le mode de réalisation décrit ici, cette classe ck et la classe ck de la trame précédente permettent de déterminer dans une matrice MRP;77, de taille nc.n, le paramètre qui permet d'estimer la variance du bruit E, de la manière suivante : D k -\ 2 MR[Ck-1,Ck] ) Des variantes de cette estimation sont possibles. Le choix est fait de faire une classification par trame mais il est possible de faire une classification en considérant en sus des trames précédentes. En considérant l'espace (Dk_i *1),), on peut choisir de faire une quantification vectorielle de cet espace, par exemple par une méthode de k-moyenne. On peut aussi étendre la dimension de cette espace de classification.
Dans le mode de réalisation décrit ici le nombre des trames précédentes p prises en compte est égal à 1. Ces résultats sont facilement généralisable pour les cas où p est supérieur à 1. Dans ce cas la dimension de la matrice MR est égale à p+1. Cette considération des trames précédentes peut se faire aussi par l'intermédiaire de la matrice MR. Dans le cas d'une classification par quantification vectorielle sur n' niveau, MR sera un vecteur de taille n'. Dans le cas d'une classification par trame, la dimension de MR peut être allongée. Ici fixée à 2, il est possible de l'agrandir à 3,4 voire au-delà, les paramètres étant pris en compte en entrée étant les classes ck_, des trames actuelles et précédentes. Le choix d'une classification scalaire et d'une matrice MR de dimension 2 sont justifiés par un compromis entre complexité et qualité. Dans un exemple de réalisation du procédé d'estimation, un apprentissage est effectué à partir d'une base de données comportant une concaténation de différentes conditions de signaux : parole propre, parole avec bruit d'ambiance, musique, et mélange de parole et musique. Les signaux de cette base de données sont codés, décodés de manière à extraire : 1. Le signal de facteur d'échelle v(n) 2. Le bruit de quantification exact de la bande basse b(n), obtenu comme différence des signaux d'origine de la bande basse xL(n) et décodé Ka(n)synchronisés en annulant le retard.
A partir de ces deux informations, on extrait pour la base de données par trame de /=40 échantillons la moyenne Dk de v(n) et l'écart-type o-k de b(n) pour chaque trame fenêtré par une fenêtre asymétrique de Hanning, incluant 24 échantillons de la trame précédente selon l'équation (3) ci dessous. On fait ainsi un recouvrement des trames sur les 24 premiers échantillons. ( Ey= (2) ( , 0.5 -0.5cos k ,k = 0:47 \,. 48) Hanning 64 (k) = ( 0.5 + 0.5cos (k - 47)- ,k = 48:63 16) Ce fenêtrage a entre autre pour intérêt de ne pas introduire de retard. Ce type de fenêtrage est illustré en référence à la figure 6 où on peut voir le signal (x(n)), les fenêtres de Han ning asymétriques (fen.) et les limites de trame (lim.). La flèche indiquée sur la figure représente le recouvrement. Cette fenêtre permet d'assurer une continuité et a l'avantage de ne pas introduire de retard supplémentaire car elle ne nécessite pas la connaissance des échantillons appartenant à la trame suivante. Bien sûr d'autres types de fenêtres peuvent être également utilisées, comme par exemple une fenêtre symétrique Hamming de 72 échantillons centrée sur la trame, en couvrant également 16 échantillons de la trame suivante ("Lookahead" en anglais). L'utilisation d'une telle fenêtre augmentera cependant le retard algorithmique par la durée de 16 échantillons (2 ms avec la fréquence d'échantillonnage de 8000 Hz). A partir des valeurs Dk et o-k obtenues pour les signaux de la base de données, un vecteur D de rapport rk avec rk = est calculé. Les valeurs de la matrice MR seront calculées à 0-k partir de ces valeurs rk. Dans cet exemple de réalisation, le nombre de classe /7, est fixé à 40. Un tableau CI représente les centres des intervalles des classes. Ces intervalles sont déterminés par leurs bornes g obtenues par partition « équiprobable » de D. Sur chaque segment, on trouve le même nombre de valeur de D dans la base d'apprentissage. Le tableau CI a donc un vecteur de taille 40 dont les valeurs sont définies comme suit: V (c,d)E (1; 40)2' card (D k E [LI (c) ; LI (c +1)1)= card (D k E [LI (d); LI (d +1)1) Les C/(c)sont alors les milieux des segments 11I(c);LI(c+1)1,c=1 ,...,40 L I (0+ LI (c +1) V c e (1; 40) , CI (c)= 2 La figure 5 représente les limites des intervalles de classification pour les 40 classes. Des variantes sur le choix des intervalles et des centres sont possibles. Sur le choix des intervalles, on peut choisir évidemment une partition en segments de taille égale ou encore une partition en segments de tailles différentes, suivant une suite exponentielle, où la taille de l'intervalle est le double du précédent par exemple.
Les centres peuvent aussi prendre en compte la répartition des éléments de la base de données dans chaque intervalle, soit par moyenne de ces éléments, soit par choix de la médiane. (3) Moyenne : C/ (c) = moyenne (D k I Dk E (1.1 (C):L1 (C +1))) On peut alors déterminer le flux de classes c de la base de donnée. Les coefficients de la matrice MR/Usont obtenus par moyenne arithmétique des rde même coordonnées. (iI C = ck-/ = ) MR est alors un tableau de taille 40*40. Dans l'établissement de la matrice MR, il est possible que des couples (//7) ne soient pas représentés dans la base d'apprentissage. On sait qu'on trouvera toujours une classe j tel que ci=j, le problème est de trouver le sous-ensemble des k tel que le précédent est ck_1=4 ce sous-ensemble pouvant être vide. On prendra alors par défaut la moyenne des rk avec ck = j (rk I k= j) La figure 7 illustre le nombre de trames attribué à chaque élément de la matrice MR, avec la base d'apprentissage utilisée. Malgré une taille importante de la base d'apprentissage, il se peut qu'un certain nombre de couple (ck,ck_i) soit absent. On peut y observer que les cas où ck_i est grand (qui signifie une moyenne de facteur Dk_i élevée) et où ck est petit (signifiant une moyenne de facteur Dk faible) ne sont jamais représentés dans la base d'apprentissage (cases noires dans le coin supérieur gauche sur la figure). Ceci a une explication physique. En effet, on ne passe pas d'une trame de très forte énergie à une trame de très faible énergie. Ceci est dû à l'algorithme d'adaptation qui permet de rapides augmentations du facteur d'échelle v (maximum du facteur multiplicatif 2.81 par échantillon) et une diminution faible (minimum du facteur multiplicatif 0.98 par échantillon). Ainsi pour une durée de 2 trames soit 80 échantillons dans notre exemple, la diminution de facteur d'échelle maximale est de 0.9880=0.2 et la moyenne de ces facteurs d'échelles par trame peut au maximum diminuer de Dk-j. I Dk = 0.45.
La figure 8 montre les valeurs de la matrice MR ainsi obtenue. On peut y observer la grande dynamique de ces valeurs (entre 20 et 160). On y voit également que, comme attendu, ces valeurs sont les plus fortes dans la diagonale de cette matrice correspondant aux cas où l'énergie du signal ne change pas significativement de trame à trame et où l'adaptation du facteur d'échelle est optimale. Et inversement, ces valeurs sont faibles loin de la diagonale correspondant au cas où l'énergie du signal à quantifier augmente brusquement et où l'adaptation automatique a du mal à trouver le point de fonctionnement optimal du fait d'un bruit de quantification plus fort. Dans le mode de réalisation simplifié (quand l'étape E302 est suivi de l'étape E305) la matrice MR' est remplie par une constante (la valeur moyenne de toutes les valeurs Dk).
L'estimation de la variance du bruit de codage est alors calculée par la valeur de la moyenne Dk par trame divisée par la valeur constante. Cette estimation ne prend pas en compte les zones de transition qui peuvent avoir lieu. L'intérêt du mode de réalisation incluant les étapes E303 et E304 est montré ici par le fait que les valeurs de la matrice ne sont pas constantes et permettent d'obtenir une estimation de la variance du bruit de codage de façon plus précise surtout dans les zones de transition. Des variantes sur le calcul de la matrice MR sont possibles, outre ces formes détaillées plus tôt. Le choix d'une autre valeur autre que la moyenne arithmétique, comme par exemple les moyennes géométriques ou quadratiques ou encore la médiane est également possible.
La figure 9 représente un exemple de réalisation matérielle d'un dispositif d'estimation 900 selon l'invention. Celui-ci peut faire partie intégrante d'un dispositif de traitement de réduction de bruit de quantification (TBQ) ou encore d'un décodeur audiofréquence ou d'un équipement recevant des signaux audio décodés. Ce type de dispositif comporte un processeur PROC coopérant avec un bloc mémoire BM comportant une mémoire de stockage et/ou de travail MEM. Un tel dispositif comporte un module d'entrée E apte à recevoir un flux binaire T d'un signal audio numérique codé et un module de sortie S apte à transmettre l'estimation du bruit de quantification déterminé par le dispositif à un module de filtrage intégré ou non au dispositif.
Le bloc mémoire peut avantageusement comporter un programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé d'estimation au sens de l'invention, lorsque ces instructions sont exécutées par le processeur PROC, et notamment les étapes d'estimation de la variance du bruit de codage en fonction d'une estimation de la variance du signal d'erreur de prédiction codé et d'estimation d'un bruit de codage par un bruit blanc dont la variance est la variance estimée du bruit de codage. Typiquement, la description de la figure 3 reprend les étapes d'un algorithme d'un tel programme informatique. Le programme informatique peut également être stocké sur un support mémoire lisible par un lecteur du dispositif ou téléchargeable dans l'espace mémoire de celui-ci. La mémoire MEM enregistre selon un mode de réalisation, les classes déterminées à partir des moyennes de facteur d'échelle des trames traitées et de manière générale, toutes les données nécessaires à la mise en oeuvre du procédé. Dans un mode possible de réalisation, le dispositif ainsi décrit peut également comporter les fonctions de décodage, les fonctions de traitement en plus des fonctions d'estimation du bruit de codage selon l'invention.

Claims (15)

  1. REVENDICATIONS1. Procédé d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA codant un signal d'erreur de prédiction, caractérisé en ce qu'il comporte les étapes suivantes: - estimation de la variance du bruit de codage (E305) en fonction d'une estimation de la variance du signal d'erreur de prédiction codé (E300); - estimation d'un bruit de codage (E306) par un bruit blanc dont la variance est la variance estimée du bruit de codage.
  2. 2. Procédé selon la revendication 1, caractérisé en ce que l'estimation de la variance du signal d'erreur de prédiction est effectué selon les étapes suivantes: - obtention (E301) du signal d'erreur de prédiction décodé; - calcul (E302) de l'énergie du signal d'erreur de prédiction décodé obtenu pour déterminer sa variance.
  3. 3. Procédé selon la revendication 1, caractérisé en ce que l'estimation de la variance du signal d'erreur de prédiction est effectué selon les étapes suivantes: - obtention (E301) de facteurs d'échelle de quantification par échantillon pour une trame courante du signal audio décodé; - calcul (E302) d'une moyenne des facteurs d'échelle obtenus pour les échantillons de la trame courante; et en ce que l'estimation de la variance du bruit de codage est fonction au moins de la moyenne ainsi calculée.
  4. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte en outre une étape d'association pour la trame courante k, d'une classe ck en fonction de l'intervalle de valeur dans lequel se situe la moyenne des facteurs d'échelle de la trame courante k et en ce que l'estimation de la variance du bruit de codage est en outre fonction des classes déterminées pour la trame courante et pour un nombre prédéterminé de trames précédentes.
  5. 5. Procédé selon la revendication 4, caractérisé en ce que l'association d'une classe à une trame s'effectue par la recherche d'une distance minimum entre la valeur de la moyenne des facteurs d'échelle de la dite trame et les centres des intervalles disjoints que forment une partition de l'ensemble des valeurs possibles des moyennes des facteurs d'échelle.
  6. 6. Procédé selon la revendication 4, caractérisé en ce que l'association d'une classe à une trame est en outre fonction de la valeur de la moyenne des facteurs d'échelle d'un nombre prédéterminé de trames précédentes.
  7. 7. Procédé selon la revendication 4, caractérisé en ce que la variance du bruit de codage est déterminée à partir de 17,1'1 coefficients d'une matrice de dimension p+1 prédéfinie par apprentissage d'une base de données de signaux audio de référence et stockée en mémoire, /7, étant le nombre de classes déterminées, p étant le nombre de trames précédentes prises en compte pour l'estimation de la variance du bruit de codage
  8. 8. Procédé selon la revendication 7, caractérisé en ce qu'il comporte les étapes suivantes, mises en oeuvre pour les signaux de référence de la base de données, codés, décodés et synchronisés: - extraction par trame de facteurs d'échelle; - calcul d'un bruit de codage par soustraction au signal décodé du signal d'origine; - calcul des moyennes des facteurs d'échelle par trame, des écarts type du bruit de codage pour chaque trame fenêtré par une fenêtre incluant un nombre prédéterminé d'échantillons de la trame précédente;
  9. 9. Procédé selon la revendication 8, caractérisé en ce que les coefficients de la matrice prédéfinie sont obtenus par les étapes suivantes: - calcul pour chaque trame d'un rapport entre la moyenne et l'écart type calculés pour les signaux de référence de la base de données; -obtention et enregistrements des coefficients de la matrice par calcul d'une moyenne des rapports calculés pour chaque coordonnée (i,j) de la matrice, correspondant aux classes i et j respectives.
  10. 10. Procédé selon la revendication 9, caractérisé en ce que le calcul d'estimation de la variance du bruit de codage s'effectue selon l'équation suivante pour une trame courante k de signal: MR[Ck-P Ck] avec Dk la moyenne des facteurs d'échelle de la trame courante k et MR[ck_uck], le coefficient de la matrice prédéfinie de coordonnée (k-1, k) correspondant aux classes k-1 et k associées à la trame précédente et à la trame courante k. =35
  11. 11. Procédé de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA, caractérisé en ce qu'il comporte les étapes suivantes: - estimation d'un bruit de codage selon un procédé conforme à l'une des revendications 1 à10; -détermination d'une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, pour appliquer un traitement de réduction de bruit de codage estimé.
  12. 12. Dispositif d'estimation d'un bruit de codage à partir d'un flux binaire d'un signal audionumérique codé en compression selon un codage de type MICDA, caractérisé en ce qu'il comporte: - un module d'estimation de la variance du bruit de codage (103) en fonction du résultat d'un module d'estimation de la variance du signal d'erreur de prédiction codé (100); - un module d'estimation d'un bruit de codage (104) par un bruit blanc dont la variance est la variance estimée du bruit de codage.
  13. 13. Dispositif de traitement de réduction d'un bruit de codage d'un signal audionumérique codé et décodé en compression selon un codage et décodage de type MICDA, caractérisé en ce qu'il comporte: - un dispositif d'estimation d'un bruit de codage conforme à la revendication 12; -un module de filtrage apte à déterminer une fonction de filtrage à appliquer au signal décodé, en fonction de l'estimation du bruit de codage, et à appliquer un traitement de réduction de bruit de codage estimé.
  14. 14. Décodeur de signal audionumérique comprenant un dispositif d'estimation d'un bruit de codage conforme à la revendication 12 et/ou un dispositif de traitement de réduction d'un bruit de codage conforme à la revendication 13.
  15. 15. Programme informatique comportant des instructions de code pour la mise en oeuvre des étapes du procédé d'estimation selon l'une des revendications 1 à 10, lorsque ces instructions sont exécutées par un processeur.35
FR1452460A 2014-03-24 2014-03-24 Estimation d'un bruit de codage introduit par un codage en compression de type micda Pending FR3018942A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1452460A FR3018942A1 (fr) 2014-03-24 2014-03-24 Estimation d'un bruit de codage introduit par un codage en compression de type micda
PCT/FR2015/050716 WO2015145050A1 (fr) 2014-03-24 2015-03-20 Estimation d'un bruit de codage introduit par un codage en compression de type micda

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1452460A FR3018942A1 (fr) 2014-03-24 2014-03-24 Estimation d'un bruit de codage introduit par un codage en compression de type micda

Publications (1)

Publication Number Publication Date
FR3018942A1 true FR3018942A1 (fr) 2015-09-25

Family

ID=51063596

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1452460A Pending FR3018942A1 (fr) 2014-03-24 2014-03-24 Estimation d'un bruit de codage introduit par un codage en compression de type micda

Country Status (2)

Country Link
FR (1) FR3018942A1 (fr)
WO (1) WO2015145050A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995028770A1 (fr) * 1994-04-13 1995-10-26 Commonwealth Scientific And Industrial Research Organisation Procede et systeme de codage/decodage d'un signal micda

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1995028770A1 (fr) * 1994-04-13 1995-10-26 Commonwealth Scientific And Industrial Research Organisation Procede et systeme de codage/decodage d'un signal micda

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CHARBONNIER A ET AL: "SUB-BAND ADPCM CODING FOR HIGH QUALITY AUDIO SIGNALS", AUDIO AND ELECTROACOUSTICS, UNDERWATER SIGNAL PROCESSING. NEW YORK, APR. 11 - 14, 1988; [INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH & SIGNAL PROCESSING. ICASSP], NEW YORK, IEEE, US, vol. VOL. 5, no. 1988, 11 April 1988 (1988-04-11), pages 2540 - 2543, XP000012857 *
J.L. GARCIA, C. MARRO, B. KÖVESI: "A PCM coding noise reduction for ITU-T G.711.1", INTERSPEECH 2008, 22 September 2008 (2008-09-22) - 26 September 2008 (2008-09-26), Brisbane, pages 57 - 60, XP009179236 *
LAWRENCE H GOLDSTEIN ET AL: "Quantization Noise in ADPCM Systems", IEEE TRANS. COMMUN. (SPECIAL ISSUE ON SPREAD SPECTRUM COMMUNICATIONS, 1 February 1977 (1977-02-01), pages 227 - 238, XP055130560, Retrieved from the Internet <URL:http://ieeexplore.ieee.org/ielx5/26/23887/01093799.pdf?tp=&arnumber=1093799&isnumber=23887> [retrieved on 20140721] *

Also Published As

Publication number Publication date
WO2015145050A1 (fr) 2015-10-01

Similar Documents

Publication Publication Date Title
EP2586133B1 (fr) Contrôle d&#39;une boucle de rétroaction de mise en forme de bruit dans un codeur de signal audionumérique
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
CA2874965C (fr) Attenuation efficace de pre-echos dans un signal audionumerique
EP2104936B1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
WO2010058117A1 (fr) Codage de signal audionumerique avec mise en forme du bruit dans un codeur hierarchique
EP3161659A1 (fr) Ré-échantillonnage par interpolation d&#39;un signal audio pour un codage /décodage à bas retard
EP2727107B1 (fr) Fenêtres de pondération en codage/décodage par transformée avec recouvrement, optimisées en retard
FR2966634A1 (fr) Codage/decodage parametrique stereo ameliore pour les canaux en opposition de phase
EP2936488B1 (fr) Atténuation efficace de pré-échos dans un signal audionumérique
EP0906613B1 (fr) Procede et dispositif de codage d&#39;un signal audiofrequence par analyse lpc &#34;avant&#34; et &#34;arriere&#34;
EP2319037A1 (fr) Reconstruction de données audio multicanal
EP2347411B1 (fr) Attenuation de pre-echos dans un signal audionumerique
EP2232489B1 (fr) Codage/decodage par transformee, a fenetres adaptatives
EP1875465A1 (fr) Procede d&#39;adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques
EP2652735B1 (fr) Codage perfectionne d&#39;un etage d&#39;amelioration dans un codeur hierarchique
EP2979437B1 (fr) Mixage optimisé de flux audio codés selon un codage par sous-bandes
WO2009047461A1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique avec repartition de la complexite
FR3018942A1 (fr) Estimation d&#39;un bruit de codage introduit par un codage en compression de type micda
WO2009004227A1 (fr) Codage de signaux audionumériques
WO2011073600A1 (fr) Codage/decodage parametrique stereo avec optimisation du traitement de reduction des canaux
EP2589045B1 (fr) Codage/décodage prédictif linéaire adaptatif
FR2911227A1 (fr) Codage par transformee, utilisant des fenetres de ponderation et a faible retard
WO2011144863A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
FR2759510A1 (fr) Methode de codage audio et dispositif
FR3007184A1 (fr) Controle du traitement d&#39;attenuation d&#39;un bruit de quantification introduit par un codage en compresssion

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2