(19)
(11) EP 2 589 045 B1

(12) FASCICULE DE BREVET EUROPEEN

(45) Mention de la délivrance du brevet:
16.04.2014  Bulletin  2014/16

(21) Numéro de dépôt: 11737984.2

(22) Date de dépôt:  17.06.2011
(51) Int. Cl.: 
G10L 19/06(2013.01)
G10L 19/18(2013.01)
(86) Numéro de dépôt:
PCT/FR2011/051393
(87) Numéro de publication internationale:
WO 2012/001260 (05.01.2012 Gazette  2012/01)

(54)

CODAGE/DÉCODAGE PRÉDICTIF LINÉAIRE ADAPTATIF

ADAPTIVE LINEARE PRÄDIKTIVE CODIERUNG/DECODIERUNG

ADAPTIVE LINEAR PREDICTIVE CODING/DECODING


(84) Etats contractants désignés:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30) Priorité: 29.06.2010 FR 1055206

(43) Date de publication de la demande:
08.05.2013  Bulletin  2013/19

(73) Titulaire: Orange
75015 Paris (FR)

(72) Inventeurs:
  • PHILIPPE, Pierrick
    35520 Melesse (FR)
  • VIRETTE, David
    80639 München (DE)
  • LAMBLIN, Claude
    22730 Tregastel (FR)

(74) Mandataire: Cabinet Plasseraud 
52, rue de la Victoire
75440 Paris Cedex 09
75440 Paris Cedex 09 (FR)


(56) Documents cités: : 
FR-A1- 2 762 464
US-A1- 2003 225 576
   
  • H.G. Yeh, M. Vaklev: "An Adaptive Predictor With Cascaded Forward-Backward Structure", IEEE Xplore IEEE Transcations on Circuits and Systems, vol. 53, no. 88 août 2006 (2006-08), août 2006 (2006-08), XP002607814, Extrait de l'Internet: URL:http://ieeexplore.ieee.org/stamp/stamp .jsp?tp=&arnumber=1683998 [extrait le 2010-11-02]
   
Il est rappelé que: Dans un délai de neuf mois à compter de la date de publication de la mention de la délivrance de brevet européen, toute personne peut faire opposition au brevet européen délivré, auprès de l'Office européen des brevets. L'opposition doit être formée par écrit et motivée. Elle n'est réputée formée qu'après paiement de la taxe d'opposition. (Art. 99(1) Convention sur le brevet européen).


Description


[0001] L'objet de l'invention concerne le domaine du codage/décodage de données audio.

[0002] Dans un exemple d'application, l'invention peut porter sur le codage des sons présentant des alternances de parole et de musique. Pour coder efficacement des signaux de parole seuls ou superposés avec un son quelconque, les techniques de type CELP (pour « Code-excited linear prediction ») sont généralement préconisées.

[0003] Les codeurs CELP sont des codeurs prédictifs et ont pour but de modéliser la production de la parole à partir de divers éléments tels que :
  • une excitation stochastique (par exemple un bruit blanc ou une excitation algébrique) modélisant le flux d'air sortant des poumons en périodes voisées et/ou non voisées,
  • une prédiction à long-terme pour modéliser la vibration des cordes vocales, en période voisée en particulier, et
  • une prédiction à court-terme, sous forme d'un filtre LPC à P coefficients (LPC pour « Linear Predictive Coding »), pour modéliser les modifications du conduit vocal, comme par exemple la prononciation de consonnes voisées.


[0004] Ce nombre de coefficients P est choisi afin de bien modéliser la structure formantique du signal de parole. Le signal de parole ayant en général quatre formants dans la bande de fréquences 0 à 4 kHz, dix coefficients de filtres modélisent correctement cette structure (deux coefficients sont nécessaires pour modéliser chaque formant).

[0005] Pour un signal large bande échantillonné à 16 kHz, un ordre LPC de 16 coefficients est typiquement employé.

[0006] On présente en référence à la figure 1, le spectre d'un signal de parole (en trait plein) auquel on superpose (en traits pointillés) la réponse en fréquence d'un filtre LPC modélisant son enveloppe spectrale.

[0007] Un signal de parole échantillonné sn, filtré par un tel filtre LPC, présente un signal résiduel rn tel que :

ai étant les coefficients du filtre.



[0008] La puissance du signal résiduel rn peut être faible et son spectre aplati, par un choix judicieux des coefficients ai.

[0009] Le signal résiduel est alors plus simple à coder que le signal sn lui-même. Il peut se modéliser facilement par un signal harmonique, fortement périodique, comme représenté sur la figure 2, où X(f) est le spectre du signal d'origine s (trait noir) et E(f) est le spectre du signal résiduel r (en trait gris).

[0010] Les coefficients ai sont typiquement calculés par une mesure de corrélation sur le signal sn (et par application d'un l'algorithme de type de Levinson-Durbin pour inverser les équations de Wiener-Hopf).

[0011] Deux éléments principaux sont alors constitutifs des codecs CELP :
  • une modélisation du conduit vocal, par la prédiction court terme qui modélise l'enveloppe spectrale sous forme d'un filtre LPC et
  • une modélisation de l'excitation passant au travers du conduit vocal, qu'elle soit voisée ou non.


[0012] Ces deux éléments paramétriques, même s'ils modélisent correctement les signaux vocaux, n'ont pas vocation à reproduire fidèlement les signaux audio musicaux ou mélangés (avec superpositions de différents éléments sonores de parole et musicaux). En particulier, le filtre LPC modélisant l'enveloppe spectrale n'est plus adapté au signal simple de voix et l'excitation ne répond plus au modèle voisé/non voisé.

[0013] Il a été proposé, notamment dans l'implémentation du codeur 3GPP AMR WB+, un codage de signal mixte parole/ audio qui est amélioré en particulier par un meilleur codage de l'excitation. Le codage par l'enveloppe LPC est conservé, mais le codage de l'excitation est amélioré.

[0014] Outre la modélisation par un prédicteur à long-terme et de l'excitation stochastique, un codage par transformée peut être ajouté dans les cas où les sons ne répondent pas au modèle de production de la parole. On parle de codage dit « CELP + TCX » (pour « Transform Coded excitation »). Une telle technique consiste en les étapes suivantes :
  • estimation au codage de l'enveloppe LPC du signal à coder avec un nombre de coefficients fixé,
  • sélection du modèle d'excitation (modèle voisé/ non voisé paramétrique ou codage par transformée), et
  • transmission du mode sélectionné, de l'excitation codée et de l'enveloppe LPC.


[0015] Grâce à ce choix de codage pour l'excitation, la qualité du codage selon l'AMR WB+ est satisfaisante pour les signaux audio consistant en des mélanges parole avec bruit de fond ou parole avec fond musical, donc typiquement pour les signaux où la parole domine en énergie. En effet, pour ces signaux, l'enveloppe transmise sous forme LPC est un paramètre pertinent puisque le signal est principalement constitué de parole qui se décrit bien grâce à une enveloppe LPC d'un ordre donné. L'enveloppe décrit en effet les formants (liés aux fréquences de résonnance du conduit vocal) en fonction du nombre de coefficients choisis.

[0016] En revanche, pour des signaux avec une composante faible en signal de parole - voire pour des signaux n'étant pas constitués principalement de voix - l'enveloppe LPC estimée et transmise au codeur n'est plus suffisante. Le signal audio est alors souvent trop complexe pour se limiter, par exemple, à cinq formants, et son évolution dans le temps fait qu'un nombre de coefficients fixé n'est pas adapté.

[0017] Ainsi, pour coder un son complexe, du fait de la limitation au niveau du codage de l'enveloppe, l'effort de codage est reporté au niveau du codage de l'excitation et le codeur perd alors de son efficacité.

[0018] Une solution consisterait à adapter au cours du temps le nombre de coefficients LPC transmis, pour les portions du signal audio qui requièrent une bonne précision pour l'enveloppe. Cette approche n'est cependant pas viable car dans un système de codage à bas débit, une meilleure précision de codage sur l'enveloppe retirerait du débit disponible pour le codage de l'excitation et la qualité ressentie ne serait alors pas améliorée pour autant.

[0019] Une autre solution consisterait à effectuer une prédiction linéaire avec une analyse "arrière" telle que l'estimation de l'enveloppe LPC ne porte plus sur le signal à coder mais sur un signal décodé préalablement, ce signal « précédent » pouvant être disponible à l'identique au codeur et au décodeur. On peut alors économiser la transmission de l'enveloppe LPC car il est possible de la reconstituer sans information au décodeur, cette économie pouvant servir à mieux modéliser l'excitation par exemple. Pour ce qui concerne le codage des sons musicaux, cette prédiction linéaire avec analyse "arrière" permet potentiellement d'augmenter le nombre de coefficients de filtres modélisant l'enveloppe. Typiquement, un ordre de 50 peut être utilisé pour bien modéliser un signal musical et permettre un codage aisé du signal résiduel d'excitation.

[0020] En revanche, l'utilisation d'une information passée ne permet pas d'anticiper les évolutions du signal audio car utiliser un prédicteur arrière est pertinent pour un signal stationnaire mais le spectre à une trame donnée n'est précisément modélisé et peut être utilisé pour une trame suivante que si les propriétés statistiques et notamment spectrales du signal demeurent stables. Sinon, le filtre LPC estimé n'est pas pertinent pour la trame considérée et le signal résiduel reste alors difficile à encoder. Le prédicteur arrière perd donc tout son intérêt.

[0021] Une solution préconisée dans l'état de l'art connu de la demande de brevet n° FR 2 762 464, est donc d'utiliser une commutation entre un filtre de prédiction "avant", calculé sur la trame courante, et un filtre de prédiction arrière, calculé sur le signal reçu au préalable. L'encodeur analyse le signal et décide si le signal est stationnaire ou non. Si le signal est stationnaire, le filtre arrière est utilisé. Sinon, un filtre avant à peu de coefficients est transmis au décodeur. Une telle réalisation permet de contrôler précisément la qualité du signal résiduel à encoder. Elle est mise en oeuvre dans la norme ITU-T G.729-E, dans laquelle une décision sur la stationnarité du signal résulte dans un filtre estimé « arrière » avec 30 coefficients, ou un filtre estimé « en avant » à 10 coefficients.

[0022] L'inconvénient de cette technique est principalement de faire cohabiter ces deux techniques d'estimation. Un choix discontinu doit être effectué, suivant la stationnarité du signal. Dans le cas d'une non-stationnarité "légère" comme l'apparition d'un instrument dans un ensemble musical, il conviendrait de considérer ce nouvel évènement dans le signal et donc envoyer un nouveau filtre avant. Toutefois, on peut néanmoins considérer que le signal est suffisamment stable pour que le filtre arrière soit approprié. Face à une telle situation à dilemme, le système de codage tend à

[0023] changer souvent de configuration au cours du temps, de façon relativement imprévisible, ce qui engendre des distorsions. En effet, changer trop souvent de traitement au cours du temps n'est pas efficace, la solution retenue n'étant pas forcément la meilleure.

[0024] En résumé, l'état de l'art préconise :
  • un prédicteur avant fixe, à peu de coefficients de filtre, modélisant grossièrement l'enveloppe,
  • un prédicteur arrière fixe, présentant un nombre élevé de coefficients, mais ne pouvant pas modéliser les variations de signal d'une trame à l'autre,
  • une alternance entre les deux types de prédicteurs qui génère parfois des discontinuités gênantes.


[0025] La présente invention vient améliorer la situation.

[0026] Elle propose à cet effet un procédé de codage d'un signal audio numérique comportant une succession de blocs consécutifs de données, à partir d'un filtre prédictif. Le procédé au sens de l'invention selon la revendication 1 comporte en particulier l'utilisation d'un filtre prédictif modifié pour le codage d'au moins un bloc courant. Ce filtre modifié est construit par la combinaison de :
  • un filtre arrière calculé pour un bloc passé, précédant le bloc courant, et
  • un filtre modifiant ayant des coefficients déterminés en fonction du signal dans le bloc courant.


[0027] L'invention présente de nombreux avantages : elle permet en particulier de ne pas passer abruptement d'un filtre arrière à un filtre avant, mais peut par exemple offrir la possibilité d'une transition par un tel filtre modifié notamment entre l'utilisation d'un filtre arrière et celle d'un filtre avant. Elle permet également d'éviter le passage par un filtre avant à peu de coefficients pour coder un signal stationnaire doté d'une enveloppe complexe alors que celui-ci n'est que faiblement perturbé par une non stationnarité.

[0028] Un autre avantage est d'enrichir un filtre arrière en produisant une qualité de codage optimum sans nécessairement transmettre un filtre avant complet, en particulier avec autant de coefficients par exemple qu'un filtre avant.

[0029] Un autre avantage, de fait, est de permettre plus de choix au codeur avec différentes catégories de filtres : arrière, avant et modifiés.

[0030] Les paramètres d'enrichissement comportent les coefficients d'un filtre modifiant, et le filtre modifié est construit par une combinaison entre filtre arrière et de filtre modifiant.

[0031] Cette combinaison peut être, dans un exemple de réalisation décrit ci-après, une convolution du filtre arrière par le filtre modifiant. En variante, dans un autre espace, il peut s'agir d'une multiplication par exemple, ou autre.

[0032] Une telle réalisation présente l'avantage de permettre une simplification des opérations de calcul auprès d'un décodeur recevant les paramètres précités.

[0033] Ainsi, dans un mode de réalisation, le procédé peut comporter, pour le codage d'un bloc courant, un choix basé sur au moins un critère prédéterminé, d'un filtre prédictif parmi au moins :
  • un filtre arrière, calculé pour un bloc passé, précédant le bloc courant, et
  • un filtre avant, adapté pour le bloc courant, et
  • un filtre modifié, estimé sur la base d'un filtre arrière et en fonction du signal dans le bloc courant.


[0034] Ce critère peut par exemple tenir compte d'une stationnarité du signal entre le bloc passé et le bloc courant, pour le choix de l'un des filtres parmi un filtre arrière, un filtre avant et un filtre modifié.

[0035] Dans une réalisation particulière, le critère prédéterminé peut comporter une estimation d'un gain de prédiction basée sur un rapport entre la puissance du signal dans le bloc courant et la puissance d'un signal résiduel après filtrage de ce signal en utilisant chacun des filtre arrière, avant et modifié. Une telle réalisation sera décrite en détails plus loin, notamment en référence aux figures 4 et 5.

[0036] Le critère précité peut tenir compte en outre d'un nombre de paramètres à envoyer à un décodeur pour le décodage d'un bloc courant et comportant au moins des coefficients que comporte le filtre à choisir. Ainsi, dans une telle réalisation, le critère prédéterminé peut comporter une recherche d'optimum entre :
  • le gain de prédiction qu'offre un filtre à choisir, d'une part, et
  • un débit adapté pour la transmission des paramètres nécessaires à un décodeur pour reconstruire ce filtre.


[0037] Ainsi, dès lors qu'un choix peut être effectué pour le type de filtre à utiliser, il est possible de baser aussi ce choix sur l'ordre du filtre à choisir et, dans une réalisation particulière, le procédé comporte alors les étapes :
  1. a) déterminer une pluralité de filtres avant d'ordres respectifs distincts,
  2. b) déterminer une pluralité de filtres arrière d'ordres respectifs distincts,
  3. c) calculer une pluralité de filtres modifiés d'ordres respectifs distincts, estimés chacun sur la base d'un filtre arrière déterminé à l'étape b) et en fonction du signal dans un bloc courant à coder,
  4. d) comparer, pour un même nombre de paramètres à envoyer à un décodeur, ce nombre étant déterminé en fonction des ordres de filtre, les performances d'au moins deux filtres parmi les filtres avant, les filtres arrière et les filtres modifiés déterminés aux étapes a), b) et c), et
  5. e) sélectionner, pour le codage d'un bloc courant, un filtre prédictif présentant les meilleures performances selon la comparaison de l'étape d), pour un nombre donné de paramètres à envoyer à un décodeur.


[0038] Le filtre modifiant peut être estimé par une technique quelconque, telle que par exemple :
  • par déconvolution d'un filtre avant adapté pour le filtrage du bloc courant, par ledit filtre arrière calculé pour un bloc passé, ou encore
  • sur la base d'une analyse d'un signal résiduel obtenu après filtrage du bloc courant par le filtre arrière précité, ou encore
  • par identification au sens des moindres carrés, en calculant des termes d'autocorrélation de coefficients du filtre arrière et d'intercorrélation entre le filtre modifié et le filtre arrière.


[0039] Une fois que les coefficients du filtre modifiant sont déterminés par l'une de ces techniques, le procédé peut comporter en outre une communication à un décodeur, d'informations de type :
  • choix d'un filtre avant pour un boc courant, avec une transmission de paramètres représentant des coefficients du filtre avant,
  • ou choix d'un filtre arrière ou d'un filtre modifié pour un bloc courant, avec, dans le cas d'un choix d'un filtre modifié, une transmission de paramètres représentant des coefficients du filtre modifiant.


[0040] La présente invention vise alors aussi un procédé selon la revendication 12, de décodage d'un signal audio numérique comportant une succession de blocs consécutifs de données, le procédé utilisant un filtre prédictif pour le décodage d'un bloc courant, le procédé comportant en particulier :

une réception d'informations, comportant des coefficients de filtre représentant des paramètres d'enrichissement d'un filtre arrière, pour le calcul d'un filtre prédictif modifié basé sur la combinaison d'un filtre arrière, calculé pour un bloc passé, précédant le bloc courant, et d'un filtre modifiant ayant des coefficients issus des informations reçues, et une utilisation dudit filtre prédictif ainsi modifié pour le décodage d'au moins un bloc courant.



[0041] Finalement, le procédé de décodage peut alors comporter une étape dans laquelle, pour le décodage d'au moins un bloc courant donné, on utilise plutôt le filtre prédictif ainsi modifié.

[0042] Par exemple, cette combinaison peut consister en une multiplication ou en une convolution (ou autres) du filtre arrière par le filtre modifiant.

[0043] Bien entendu, pour d'autres blocs courants, le décodeur pourra utiliser aussi un filtre arrière ou un filtre avant, selon les informations reçues du codeur.

[0044] En particulier, au décodage, le filtre arrière peut être reconstruit sur la base de données précédemment décodées. Par exemple, il est possible d'utiliser le signal résiduel que le décodeur a reçu du codeur, pour un bloc passé, si l'ordre du filtre arrière à reconstruire est plus élevé qu'un filtre précédemment construit pour ce bloc passé.

[0045] Le procédé de décodage peut comporter ainsi les étapes, pour la détermination du filtre arrière :
  • détermination d'un ordre du filtre arrière, en fonction desdites informations reçues, et
  • estimation du filtre arrière, à partir de données précédemment décodées et en utilisant cet ordre de filtre.


[0046] L'information d' « ordre de filtre » peut être transmise directement d'un codeur au décodeur, ou encore consister en une information implicite. Par exemple dans ce dernier cas, le décodeur peut être programmé pour calculer un filtre arrière à N1 coefficients si un filtre modifié doit être construit et calculer un filtre arrière à N2 coefficients par exemple s'il n'est prévu d'utiliser qu'un simple filtre arrière pour le décodage.

[0047] L'invention propose aussi un dispositif d'encodage selon la revendication 14, un dispositif de décodage selon la revendication 15 et un programme informatique selon la revendication 16.

[0048] Ainsi, l'invention propose une combinaison de filtre arrière et d'un filtre modifiant choisis pour se compléter et pour créer un filtre modifié de meilleure qualité que le filtre arrière, puisqu'il s'agit d'une version du filtre arrière, enrichie par une mise à jour issue des caractéristiques tirées du bloc courant. Selon l'un des avantages de l'invention, l'enveloppe de signal est précisément décrite (pour tout type de signal), avec un débit de transmission optimal, que ce soit sous la forme d'un filtre avant, un filtre arrière ou encore un filtre modifié. De plus, la transition entre filtre (que ce soit avant, arrière ou modifié) s'effectue en douceur par rapport à l'art antérieur et on évite ainsi l'effet de discontinuité décrit précédemment en référence à l'art antérieur.

[0049] La qualité de codage résultant de l'utilisation de l'invention est alors améliorée.

[0050] D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels, outre les figures 1 et 2 présentées ci-avant :
  • la figure 3 illustre schématiquement une succession de blocs de signal sous forme de trame, pour le choix d'un filtre pertinent notamment pour le codage du signal,
  • la figure 4 illustre un exemple de gain de prédiction qu'offre le choix d'un filtre modifié Ai, ou d'un filtre arrière Bi, ou d'un filtre avant Fi, en fonction de l'ordre de ce filtre,
  • la figure 5 illustre un exemple de gain de prédiction qu'offre un filtre en fonction du débit que sollicite le choix de ce filtre, nécessaire pour la transmission de ses coefficients (ou de ses paramètres d'enrichissement de filtre arrière à transmettre par exemple sous la forme d'indices ISF pour un filtre modifié Ai, comme on le verra dans un exemple de réalisation décrit ci-après),
  • la figure 6A illustre schématiquement un dispositif d'encodage dans un mode de réalisation de l'invention,
  • la figure 6B illustre schématiquement les étapes d'un procédé d'encodage dans un mode de réalisation de l'invention,
  • la figure 7A illustre schématiquement un dispositif de décodage dans un mode de réalisation de l'invention,
  • la figure 7B illustre schématiquement les étapes d'un procédé de décodage dans un mode de réalisation de l'invention.


[0051] Les notations utilisées dans ce qui suit sont ainsi définies :
  • Fi pour un filtre avant (« Forward » en anglais) d'ordre i,
  • Bi pour un filtre arrière (« Backward » en anglais) d'ordre i,
  • Ai pour un filtre modifié d'ordre i, correspondant donc à une version enrichie d'un filtre arrière Bj par l'utilisation d'un filtre modifiant décrit en détail plus loin, et
  • Mi pour un filtre modifiant d'ordre i.


[0052] Dans l'exemple de réalisation décrit ci-après, on se place dans le cadre d'un codage utilisant des filtres LPC (pour « Linear Predictive Coding »). Cette technique peut donc être du type CELP, par exemple selon les normes G.729, AMR, AMR-WB, ou encore utiliser une transformée de codage en complément, comme par exemple au sens des normes G.718, G.729.1, AMR WB+, MPEG-D (« Unified Speech and Audio Coding »).

[0053] Dans un système à base de filtres LPC, le filtrage a pour vocation de séparer le signal à coder en deux composantes :
  • l'enveloppe spectrale, modélisée par ce filtre composé de ses P coefficients ai, et
  • le signal résiduel restant à coder (et correspondant à un signal plus efficace à transmettre car allégé de son enveloppe spectrale), comme suit :

    où rn exprime ici le signal résiduel, calculé sur le signal audio d'entrée xn, par convolution avec le filtre de coefficients ai.



[0054] Cette équation peut s'exprimer au travers de sa transformée en z, notée :



[0055] Le filtre LPC A(z) est ainsi de la forme :



[0056] Le nombre P désigne le nombre de coefficients non nuls. Il est appelé « l'ordre du filtre ». Habituellement, un nombre judicieux pour un signal de parole en bande étroite (échantillonnée à 8 kHz) est de 10. Cet ordre peut être augmenté néanmoins afin de mieux modéliser le spectre du signal et notamment accentuer la précision de son enveloppe. Il peut aussi être augmenté si la fréquence d'échantillonnage du signal est plus élevée.

[0057] Le signal résiduel peut aussi être présenté dans le domaine pondéré perceptuel. Ainsi, au lieu d'appliquer le filtre LPC (ai) tel quel, une modification de ce filtre est utilisée afin de mieux prendre en compte les propriétés de l'oreille humaine lors du codage du résiduel. Typiquement, on utilise une pondération perceptive, en utilisant le filtre W(z) :

où γ, γ1, γ2 sont des coefficients à valeur réelle compris typiquement entre 0,9 et 1.



[0058] Les coefficients ai du filtre LPC sont communément estimés en identifiant le signal audio et sa prédiction réalisée au sens des moindres carrés. On cherche donc les coefficients ai minimisant l'erreur quadratique du signal audio passé, au travers du filtre A(z). On cherche donc à minimiser la puissance du signal rn. Cette puissance est estimée sur une certaine durée représentant un nombre d'échantillons N. Les coefficients sont donc valables pour cette période de temps. Cette estimation de coefficients de filtre LPC est ainsi réalisée par l'estimation des termes d'autocorrélation du signal xn, et par la résolution des équations de Yule Walker ou Wiener Hopf, typiquement par un algorithme rapide de type Levinson Durbin, comme décrit par exemple dans la référence : "Linear prediction a tutorial review", John Makhoul, Proceedings of the IEEE, 63 (5):561-580, Avril 1975.

[0059] D'autres algorithmes peuvent néanmoins être employés pour l'estimation des coefficients ai, par exemple par estimation spectrale ou par la méthode de covariance.

[0060] L'estimation des coefficients du filtre LPC peut être réalisée sur le signal courant xn, sur une trame représentant un ensemble d'échantillons, ou encore sur une version du signal xm (m<n) résultant d'un décodage local précédent (complet ou partiel) du signal sous forme codée. Le décodage local est obtenu par décodage des paramètres encodés au niveau de l'encodeur. Ce décodage local permet de récupérer au niveau du codeur les informations exploitables par le décodeur à l'identique.

[0061] On se réfère à la figure 3 pour décrire comment utiliser des informations disponibles pour le calcul du filtre LPC :
  • le filtre LPC est calculé sur les échantillons originaux de la trame en cours (trame t), ou des trames antérieures (t-1, t-2, etc.) : dans de tels cas, il s'agit d'un filtre LPC « avant » et ses coefficients (notés ci-après fn) doivent être communiqués au décodeur, ou
  • le filtre LPC peut être calculé à partir des échantillons localement décodés, donc antérieurs à la trame en cours (t-1, t-2, etc.) : dans ce cas, il s'agit d'un filtre LPC « arrière » et le décodeur est aussi capable d'estimer les coefficients (notés bn) du même filtre LPC, lequel n'a donc pas besoin d'être communiqué au décodeur.


[0062] Les performances du filtre LPC, ou une version pondérée de celui-ci, peuvent ensuite être évaluées en estimant la puissance du signal résiduel (c'est-à-dire la puissance du signal résultant du filtrage du signal original de la trame en cours par le filtre LPC considéré). Le rapport de la puissance du signal original divisée par la puissance du signal résiduel donne une quantité appelée « gain de prédiction », souvent exprimé en dB.

[0063] On présente, dans la table suivante, un exemple numérique donnant les gains de prédiction obtenus pour les filtres avant et arrière pour différents ordres.

[0064] Dans ce mode de réalisation, les filtres LPC sont estimés en mode avant, sur la trame courante, et en mode arrière sur la trame précédente décodée. Leur gain de prédiction propre est ensuite calculé. Les ordres utilisés vont de p=4 à p=32, dans le tableau ci-après.



[0065] On constate ainsi que le gain du filtre LPC avant est toujours meilleur que le gain du filtre LPC arrière pour un ordre donné. Cette observation s'explique par le fait que le filtre LPC arrière n'est pas adapté pour traiter la trame courante, mais plutôt la trame précédente. En revanche, il arrive souvent (comme dans le cas présenté ici à titre d'exemple), en particulier lorsque le signal est bien stationnaire, que le gain d'un filtre LPC arrière soit supérieur au gain de prédiction d'un filtre LPC avant d'ordre inférieur. Dans l'exemple du tableau ci-avant, le gain de prédiction est plus important en mode arrière avec un ordre 24, qu'en mode avant avec un ordre de 10 ou 16.

[0066] On comprendra alors qu'il est avantageux de choisir le filtre LPC arrière d'ordre 24 (b24) par rapport au filtre avant d'ordre 10 (f10) pour le codage. De plus, le filtre f10 requiert la transmission de ses coefficients au décodeur, alors que le filtre b24 est calculable au décodeur sans nécessité de transmettre d'information supplémentaire.

[0067] Néanmoins, le filtre b24 a un gain de prédiction bien plus faible que le gain de prédiction du filtre f24 (filtre avant pourtant de même longueur).

[0068] Ainsi, il est proposé dans ce mode de réalisation de ne pas baser la représentation du filtre LPC seulement sur un filtre arrière, mais de lui adjoindre un filtre modifiant (M) transmis au décodeur. Le filtre LPC finalement utilisé (A) découle alors de la combinaison du filtre arrière (B) et du filtre modifiant M, comme suit :



[0069] Ce filtre A, appelé ci-après « filtre modifié », est alors utilisé au codeur (éventuellement pondéré) pour calculer le résidu. Une version inversée (1/A(z)) de ce filtre est utilisée au décodeur pour remettre en forme le spectre du signal.

[0070] Pour le calcul du filtre modifiant M, différentes modes de réalisation sont possibles.

[0071] Dans une première approche, le filtre modifiant peut être calculé de façon classique par l'algorithme de Levinson Durbin agissant sur le signal issu du filtrage du signal de la trame courante par le filtre arrière déterminé.

[0072] Ainsi, en termes plus génériques, le filtre modifiant peut être déterminé sur la base d'une analyse d'un signal résiduel obtenu après filtrage du bloc courant par un filtre arrière calculé pour un bloc passé.

[0073] Dans une seconde approche, le filtre modifiant M peut être calculé par approximation d'un filtre avant cible d'ordre équivalent. En effet, si q est l'ordre du filtre modifiant M et r l'ordre du filtre arrière B, il est possible de déterminer, pour la trame courante, le filtre modifié A d'ordre p=q+r-1. Le filtre modifiant (M) peut être estimé par "déconvolution".

[0074] En effet, il peut être estimé par exemple, selon une première option, par déconvolution de type déterministe, en calculant alors le filtre 1/B(z) (par division polynomiale) que l'on multiplie par le filtre F(z) pour obtenir un filtre M dont le produit avec le filtre arrière B donne une approximation de la réponse fréquentielle du filtre F : le filtre B(z) étant issu d'une analyse LPC, le filtre inverse 1/B(z) est donc stable et peut alors être inversé.

[0075] Ainsi, en termes génériques, le filtre modifiant peut être estimé, selon cette première option, par déconvolution d'un filtre avant adapté pour le filtrage du bloc courant, par un filtre arrière calculé pour un bloc passé.

[0076] Selon une deuxième option, le filtre modifiant peut être estimé par une méthode d'identification de Wiener au sens des moindres carrés dans laquelle on calcule les termes d'autocorrélation du filtre arrière (r0, r1, rq-1), ainsi que l'intercorrélation entre le filtre avant cible et le filtre arrière (c0,c1... cq-1), le filtre M étant alors obtenu par le produit matriciel suivant :



[0077] Ainsi, en termes génériques, cette deuxième option peut être mise en oeuvre par identification au sens des moindres carrés, en calculant des termes d'autocorrélation de coefficients du filtre arrière et d'intercorrélation entre le filtre modifié et le filtre arrière.

[0078] La deuxième option peut être exécutée en pratique par un algorithme rapide (du type utilisé pour l'identification des coefficients LPC et basé sur l'autocorrélation du signal). Néanmoins, la première option de déconvolution peut être aussi avantageuse.

[0079] Le filtre M obtenu par l'une quelconque de ces techniques est ensuite quantifié typiquement sous une forme propre à la transmission des coefficients de filtres LPC (par exemple en utilisant une conversion de type LSF, LSP ou ISF (pour « line spectral frequencies », ou « pairs »)). Une fois quantifiés, ces coefficients sont convolués au filtre arrière B pour obtenir un filtre A(z) qui pourra être reproduit à l'identique au décodeur.

[0080] Ensuite, les performances du filtre obtenu sont comparées avec celles du filtre avant quantifié (F) contenant le même nombre de coefficients que le filtre M calculé. Si le nombre de bits utilisés pour transmettre un filtre ne dépend que de la longueur du filtre (ce qui est souvent le cas en codage de parole/audio), alors les performances entre le filtre A et le filtre F peuvent être directement comparées par leur gain de prédiction, calculé sur le signal original xn. Ainsi :
  • si le filtre A dispose d'un gain de codage supérieur au filtre F, alors le filtre M est transmis,
  • et, dans le cas contraire, le filtre F est transmis.


[0081] Préférentiellement, le filtre A étant d'un ordre supérieur au filtre F (rendant donc son estimation coûteuse au décodeur car faisant intervenir l'estimation du filtre B et le décodage du filtre M), on ne sélectionne le filtre A que si son gain de prédiction est bien supérieur à celui du filtre F (de quelques dB).

[0082] On a décrit ci-avant comment pouvait être construit un filtre avant à partir d'un filtre arrière choisi.

[0083] On décrit maintenant comment choisir une entité « filtre arrière ou filtre avant issu de ce filtre arrière », parmi plusieurs possibilités.

[0084] Un mode de réalisation présenté ci-après considère donc le calcul d'une pluralité de filtres arrière, avant et modifiant.

[0085] On calcule ainsi à plusieurs ordres des filtres arrière (B) pb0, pb1, pb2, pb3,....

[0086] On calcule aussi à plusieurs ordres des filtres avant quantifiés (F) pf0 pf1, pf2, pf3,...

[0087] Le nombre de filtres avant n'est pas nécessairement identique au nombre de filtres arrière.

[0088] Pour un ensemble de filtres arrière déterminés, on calcule, suivant le procédé présenté précédemment, un ensemble de filtres modifiants quantifiés. Il est judicieux de choisir des filtres modifiants ayant des ordres identiques aux ordres des filtres avant F déjà calculés (pf0, pf1, pf2, pf3).

[0089] La convolution des filtres arrière (B) et des filtres modifiés (M) donne alors un ensemble de filtres combinés (A) dont les performances sont comparées à celles des filtres avant (en particulier à celles des filtres avant ayant un ordre identique au filtre modifié M).

[0090] On a représenté sur la figure 4 les performances des filtres arrière calculés à 5 ordres différents (de B0 d'ordre pb0 à B4 d'ordre pb4). On observe que le filtre B4 a de moins bonnes performances que le filtre B3. Ce filtre, comme tout filtre arrière de performance inférieure à un filtre arrière d'ordre d'inférieur, est d'emblée éliminé des considérations ultérieures. On évite ainsi de calculer inutilement des filtres modifiés basés sur ce filtre B4. On a représenté aussi les performances des filtres avant calculés à 4 ordres différents (de F0 d'ordre pf0 à F3 d'ordre pf3). L'abscisse du graphe de la figure 4 représente l'ordre de prédiction et l'ordonnée, le gain de prédiction.

[0091] Sur la base du filtre B1, on calcule un filtre modifiant (M1,0) d'ordre pf0 pour obtenir un premier filtre A0.

[0092] Sur la base du filtre B2, on calcule un filtre modifiant (M2,0) d'ordre pf0 pour obtenir un second filtre A1.

[0093] Sur la base du filtre B3 on calcule un filtre modifiant (M3.0) d'ordre pf0 pour obtenir un troisième filtre A2.

[0094] Sur la base du filtre B3, on calcule un filtre modifiant (M3,1) d'ordre pf1 pour obtenir un quatrième filtre A3.

[0095] Les filtres A0, A1 et A2 ont donc un coût de transmission identique, car ils nécessitent le transport de pf0 coefficients. Ce coût de transmission peut être considéré identique à celui du filtre F0.

[0096] De même, le coût de transmission du filtre A3 est assimilé au coût de transmission du filtre F1.

[0097] En positionnant les filtres dans le plan débit/gain de codage (figure 5), on sélectionne finalement les meilleures possibilités pour le codage de l'enveloppe LPC. Il apparaît que les configurations pertinentes sont alors les filtres B3, A0 ou A2, F1, F2 et F3. Les autres configurations, offrant des performances inférieures pour un débit identique ou supérieur, peuvent donc être éliminées.

[0098] Ainsi, pour un débit limité à d0, on pourra choisir les filtres A0 ou A2, ou alors le filtre B3. En effet, il apparaît que ce sont les filtres qui offrent le meilleur gain de prédiction pour une sollicitation de débit d0 relativement modeste. Pour ce dernier choix, il peut être pris en compte un critère de complexité, en particulier au décodeur, car :
  • le choix du filtre A0 nécessite le calcul du filtre B1 et le décodage d'un filtre modifiant d'ordre pf0
  • le choix du filtre A2 nécessite le calcul du filtre B2 et le décodage d'un filtre modifiant d'ordre pf0 : ce choix implique donc plus de complexité que celui du filtre A0 pour une performance identique
  • le choix du filtre B3 nécessite le calcul d'un filtre d'ordre élevé pb3 et présente donc plus de complexité.


[0099] Si la solution retenue dépend de la complexité admise au décodeur, on retient dans cet exemple le filtre A0.

[0100] Dans la réalisation ci-dessus, des configurations de même débit étaient comparées entre elles. Bien entendu, il est possible de comparer aussi des configurations ayant des débits différents. A cet effet, on utilise la relation ci-après donnant le rapport signal à bruit d'un signal codé par prédiction linéaire :



[0101] où d représente le nombre de bits affectés à la transmission du résidu. Ce nombre peut être estimé, connaissant le débit total, pour le codage de la trame audio (T), le nombre d'échantillons qu'elle comporte (N) et le débit nécessaire au codage du filtre LPC (R), comme suit :



[0102] Ainsi pour comparer deux configurations à débits différents, on peut comparer leur rapport signal à bruit :



[0103] Si cette quantité est positive, on choisira le filtre d'indice 2 (sinon, le filtre d'indice 1).

[0104] En fonctionnement dynamique, le type de filtre avant/arrière/combiné peut changer d'une trame à la suivante, selon le choix effectué au codeur. On veillera cependant à éviter les changements de configuration trop rapides si les gains de prédiction ne sont pas suffisamment différents, en particulier entre la configuration utilisée sur la trame précédente et la configuration donnant les meilleures performances sur la trame courante.

[0105] Typiquement, un changement n'est utile qu'au-delà d'un certain seuil (par exemple 1 dB).

[0106] En outre, le codeur doit informer le décodeur afin qu'il puisse calculer le filtre LPC choisi. Des informations utiles à cet effet sont par exemple :
  • la présence d'un filtre arrière B,
  • la présence d'un filtre avant F,
  • l'ordre du filtre arrière utilisé,
  • l'ordre du filtre avant utilisé,
  • l'ordre du filtre modifiant M,
  • les coefficients du filtre avant,
  • les coefficients du filtre modifiant.


[0107] Toutefois, elles ne sont pas toutes nécessaires, pour une configuration donnée. On envisage les trois possibilités suivantes :
  • filtre avant
  • filtre arrière
  • filtre arrière plus filtre modifiant.


[0108] Une syntaxe efficace peut se présenter comme suit :
Code Nb Remarque
si (B) 1 présence du filtre arrière
{    
  lecture index_pb 2 ordre du filtre arrière
}    
si (F) 1 présence du filtre
{    
  lecture index_pf 1 ordre du filtre avant ou
  lecture des f[pf] ISF,... nombre de bits, dépend de
}    


[0109] Dans cet exemple, les coefficients de filtres sont supposés quantifiés sous leur forme ISF. Ils sont regroupés pour être codés conjointement. Une configuration typique utilisée dans le codeur AMR-WB (3GPP) est reprise dans cet exemple de réalisation. Elle est de 46 bits pour 16 coefficients LPC représentés sous la forme ISF. Pour 10 coefficients, on utilisera plutôt 18 bits par exemple.

[0110] La lecture de l'indicateur index_pb sur 2 bits est associée à un nombre de coefficients de filtre correspondant. Par exemple, on peut prévoir l'association suivante :
Index_pb pB
0 4
1 8
2 16
3 32


[0111] De même, l'indicateur index_pf peut être représenté sur un seul bit :
Index_pf pB
0 10
1 16


[0112] Si le filtre B est à estimer, les coefficients fn sont interprétés comme les coefficients du filtre modifiant le filtre arrière. Sinon les coefficients fn sont interprétés comme des coefficients de filtre avant.

[0113] La syntaxe présentée ci-dessus peut être aménagée, ou même simplifiée, si on réduit le nombre de combinaisons. Par exemple, le champ index_pb peut être omis s'il n'est envisagé qu'un seul ordre de filtre arrière possible. Par exemple, si le filtre B doit être transmis, l'ordre du filtre arrière pourra être implicitement fixé à 16. De même, pour le filtre avant F ou modifiant M, une seule longueur peut être envisagée, par exemple 16.

[0114] La syntaxe se simplifie alors comme suit :
Code nb Remarque
B 1 présence du filtre arrière
si (F) 1 présence du filtre
{    
  lecture des f[pf] ISF,... 16 coefficients
}    


[0115] Au décodage, le décodeur, sur lecture de l'information indiquant l'utilisation du filtre arrière et de son ordre, calcule le filtre arrière de l'ordre indiqué sur les échantillons décodés au préalable.

[0116] Sur réception de l'indication de présence et de l'ordre d'un filtre, il décode les indices ISF transmis pour convertir le filtre en coefficients de filtres LPC. Bien entendu, ici, si seul le filtre arrière est signalé (sans indices ISF), le décodeur comprend que le filtre utilisé n'est finalement que le filtre arrière (B). Si les deux filtres sont transmis (avec les indices ISF), le décodeur comprend que le filtre A utilisé est le filtre « modifié » (obtenu par la convolution des filtres avant et arrière (B*M), le filtre M étant interprété comme le filtre modifiant).

[0117] Si seul le filtre avant est transmis avec son ordre, le décodeur comprend que le filtre utilisé est le filtre avant seul.

[0118] Ainsi, la présente invention propose une alternative au codage de l'enveloppe LPC, élément critique pour la qualité d'un codage notamment en codage audio. Du fait de la syntaxe légère proposée, un mode alternatif de codage de l'enveloppe LPC n'entraîne aucune difficulté par rapport aux techniques actuelles : le codeur peut toujours choisir le mode standard LPC avant, comme position de repli. De même, tout comme l'état de l'art, le décodeur est capable d'utiliser des filtres arrière, notamment lorsque le signal est stationnaire. Néanmoins, il est aussi capable de tirer avantage des deux approches en les combinant. Ainsi, on augmente encore les performances du filtre LPC en augmentant sa précision pour produire une qualité améliorée.

[0119] Par opposition à l'état de l'art, le fait de compléter un filtre arrière avec un filtre modifiant, entraîne moins de variations brusques dans le traitement des trames (plus de commutation avant/arrière brusque d'une trame à la suivante). Ici encore, une amélioration de qualité est apportée.

[0120] La présente invention vise aussi un dispositif d'encodage d'un signal pour la mise en oeuvre du procédé de codage ci-avant. Un exemple de réalisation est représenté sur la figure 6A et un tel codeur D1 comporte par exemple :
  • des moyens CALC pour calculer un filtre modifié A sur la base d'un filtre arrière et au moins en fonction du signal dans le bloc courant SGN-Tn (dans une trame courante Tn par exemple), et
  • des moyens de codage COD d'au moins un bloc courant en utilisant ce filtre modifié A.


[0121] Ainsi, en référence à la figure 6B, le dispositif encodeur, sur la base d'un signal SGN dans une trame courante Tn à l'étape 10, détermine un gain de prédiction Gp pour un débit donné d, en envisageant plusieurs types de filtres avant F, arrière B et modifiés A et retient à l'étape 12 le filtre présentant par exemple le meilleur gain de prédiction, à ce débit donné d. Si le meilleur filtre candidat est un filtre modifié A (étape 13), la construction de celui-ci implique un filtre modifiant Mj, l'ordre j de ce filtre modifiant pouvant être choisi en fonction de l'ordre i du filtre arrière Bi sur la base duquel est construit le filtre modifié A. A l'étape 14, les coefficients du filtre modifiant Mj et l'ordre i du filtre Bi peuvent être alors envoyés à un dispositif décodeur D2.

[0122] La présente invention vise aussi un programme informatique comportant des instructions pour la mise en oeuvre de ces étapes, lorsque ce programme est exécuté par un processeur, par exemple d'un tel dispositif d'encodage D1. Ainsi, l'organigramme représenté sur la figure 6B peut illustrer l'algorithme général d'un tel programme.

[0123] La présente invention vise aussi le dispositif de décodage D2 d'un signal encodé pour la mise en oeuvre du procédé de décodage. En référence à la figure 7A, un tel dispositif comporte au moins :
  • des moyens de réception REC d'informations (par exemple des informations représentant les coefficients du filtre modifiant Mj (sous forme d'ISF par exemple) et l'ordre i du filtre arrière Bi), pour le calcul d'un filtre prédictif modifié A,
  • des moyens de calcul CALC de ce filtre modifié A, basé sur :

    * un filtre arrière Bi, calculé pour un bloc passé, précédant le bloc courant, et

    * des paramètres d'enrichissement du filtre arrière Bi, issus des informations reçues,

  • et des moyens de décodage DEC d'au moins un bloc courant en utilisant le filtre modifié A.


[0124] Ainsi, en référence à la figure 7B, le dispositif décodeur reçoit à l'étape 20 des informations (par exemple issues du codeur D1), ces informations peuvent comporter ici :
  • les paramètres d'enrichissement précités, sous la forme de coefficients d'un filtre modifiant Mj,
  • ainsi, qu'un ordre i de filtre arrière Bi à calculer.


[0125] A l'étape 21, ce filtre arrière Bi est calculé, à partir de données précédemment décodées (par exemple d'une trame précédente T̂n-1) et en utilisant l'ordre i de filtre. A l'étape 22, le filtre modifiant Mj et le filtre arrière Bi ainsi calculé sont combinés (par exemple par convolution) pour obtenir à l'étape 23 le filtre modifié A servant au décodage du signal par le dispositif décodeur D2 (étape 24), pour une trame courante à délivrer T̂n.

[0126] La présente invention vise aussi un programme informatique comportant des instructions pour la mise en oeuvre de ces étapes, lorsque ce programme est exécuté par un processeur, par exemple d'un tel dispositif de décodage D2. Ainsi, l'organigramme représenté sur la figure 7B peut illustrer l'algorithme général d'un tel programme.

[0127] Le programme pour la mise en oeuvre du procédé d'encodage (figure 6B) et le programme pour la mise en oeuvre du procédé de décodage (figure 7B) peuvent être regroupés au sein d'un même programme informatique général au sens de l'invention.

[0128] Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant à titre d'exemple ; elle s'étend à d'autres variantes.

[0129] Ainsi par exemple, le critère de choix d'un filtre illustré par la figure 5 peut ne pas se limiter simplement au meilleur gain de prédiction pour un débit donné. Outre le seuil en dB à fixer pour passer d'un filtre arrière à un filtre modifié (ou d'un filtre modifié à un filtre avant) sans perception audible pour un utilisateur, un autre critère pouvant être pris en considération peut être la complexité des calculs à mener au codeur ou au décodeur. Ainsi, en référence à nouveau à la figure 5, les filtres modifiés A0 et A2 sont les meilleurs candidats au débit d0. Il sera alors choisi préférentiellement le filtre A0, moins complexe que le filtre A2, et offrant néanmoins les mêmes performances en termes de gain de prédiction.


Revendications

1. Procédé de codage d'un signal audio numérique comportant une succession de blocs consécutifs de données, à partir d'un filtre prédictif,
caractérisé en ce qu'il comporte l'utilisation d'un filtre prédictif modifié (A), pour le codage d'au moins un bloc courant, ledit filtre modifié (A) étant construit par la combinaison :

- d'un filtre arrière (B) calculé pour un bloc passé, précédant le bloc courant, et

- d'un filtre modifiant (M) ayant des coefficients déterminés en fonction du signal dans le bloc courant.


 
2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte, pour le codage d'un bloc courant, un choix basé sur au moins un critère prédéterminé, d'un filtre prédictif parmi au moins :

- un filtre arrière (B), calculé pour un bloc passé, précédant le bloc courant, et

- un filtre avant (F), adapté pour le bloc courant, et

- un filtre modifié (A), estimé sur la base d'un filtre arrière et en fonction du signal dans le bloc courant.


 
3. Procédé selon la revendication 2, caractérisé en ce que ledit critère tient compte d'une stationnarité du signal entre le bloc passé et le bloc courant, pour le choix de l'un des filtres parmi un filtre arrière, un filtre avant et un filtre modifié.
 
4. Procédé selon la revendication 3, caractérisé en ce que le critère prédéterminé comporte une estimation d'un gain de prédiction basée sur un rapport entre la puissance du signal dans le bloc courant et la puissance d'un signal résiduel après filtrage de ce signal en utilisant chacun desdits filtre arrière, avant et modifié.
 
5. Procédé selon l'une des revendications 3 et 4, caractérisé en ce que ledit critère tient compte en outre d'un nombre de paramètres à envoyer à un décodeur pour le décodage d'un bloc courant et comportant au moins des coefficients que comporte le filtre à choisir.
 
6. Procédé selon la revendication 5, prise en combinaison avec la revendication 4, caractérisé en ce que le critère prédéterminé comporte une recherche d'optimum entre :

- le gain de prédiction qu'offre le filtre, et

- un débit adapté pour la transmission desdits paramètres.


 
7. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comporte les étapes :

a) déterminer une pluralité de filtres avant (F0, F1, F2, F3) d'ordres respectifs distincts,

b) déterminer une pluralité de filtres arrière (B0, B1, B2, B3) d'ordres respectifs distincts,

c) calculer une pluralité de filtres modifiés (A0, A1, A2, A3) d'ordres respectifs distincts, estimés chacun sur la base d'un filtre arrière déterminé à l'étape b) et en fonction du signal dans un bloc courant,

d) comparer, pour un même nombre de paramètres à envoyer à un décodeur, ce nombre étant déterminé en fonction desdits ordres de filtre, les performances d'au moins deux filtres parmi lesdits filtres avant, lesdits filtres arrière et lesdits filtres modifiés, et

e) sélectionner, pour le codage d'un bloc courant, un filtre prédictif présentant les meilleures performances selon la comparaison de l'étape d), pour un nombre donné de paramètres à envoyer à un décodeur.


 
8. Procédé selon la revendication 1, caractérisé en ce que le filtre modifiant (M) est estimé par déconvolution d'un filtre avant (F) adapté pour le filtrage du bloc courant, par ledit filtre arrière calculé pour un bloc passé.
 
9. Procédé selon la revendication 1, caractérisé en ce que le filtre modifiant (M) est déterminé sur la base d'une analyse d'un signal résiduel obtenu après filtrage du bloc courant par ledit filtre arrière calculé pour un bloc passé.
 
10. Procédé selon la revendication 1, caractérisé en ce que le filtre modifiant (M) est estimé par identification au sens des moindres carrés, en calculant des termes d'autocorrélation de coefficients du filtre arrière (B) et d'intercorrélation entre le filtre modifié (A) et le filtre arrière (B).
 
11. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une communication à un décodeur, d'informations de type :

- choix d'un filtre avant pour un bloc courant, avec une transmission de paramètres représentant des coefficients du filtre avant,

- ou choix d'un filtre arrière ou d'un filtre modifié pour un bloc courant, avec, dans le cas d'un choix d'un filtre modifié, une transmission de paramètres représentant des coefficients dudit filtre modifiant (M).


 
12. Procédé de décodage d'un signal audio numérique comportant une succession de blocs consécutifs de données, le procédé utilisant un filtre prédictif pour le décodage d'un bloc courant, caractérisé en ce qu'il comporte :

- une réception d'informations, comportant des coefficients de filtre représentant des paramètres d'enrichissement d'un filtre arrière, pour le calcul d'un filtre prédictif modifié (A) basé sur la combinaison d'
un filtre arrière (B), calculé pour un bloc passé, précédant le bloc courant, et
d'un filtre modifiant (M) ayant des coefficients issus des informations reçues,

- et une utilisation dudit filtre prédictif ainsi modifié (A) pour le décodage d'au moins un bloc courant.


 
13. Procédé selon la revendication 12, caractérisé en ce qu'il comporte les étapes, pour la détermination du filtre arrière (B) :

- détermination d'un ordre du filtre arrière (B), en fonction desdites informations reçues, et

- calcul du filtre arrière, à partir de données précédemment décodées et en utilisant ledit ordre de filtre.


 
14. Dispositif d'encodage d'un signal pour la mise en oeuvre du procédé selon l'une des revendications 1 à 11, caractérisé en ce qu'il comporte au moins

- des moyens adaptés de calcul d'un filtre prédictif modifié sur la base d'un filtre arrière et d'un filtre modifiant combiné au filtre arrière, ledit filtre modifiant ayant des coefficients déterminés en fonction du signal dans le bloc courant, et

- des moyens de codage d'au moins un bloc courant en utilisant ledit filtre prédictif modifié.


 
15. Dispositif de décodage d'un signal pour la mise en oeuvre du procédé selon l'une des revendications 12 à 13, caractérisé en ce qu'il comporte au moins :

- des moyens de réception d'informations, comportant des coefficients de filtre représentant des paramètres d'enrichissement d'un filtre arrière, pour le calcul d'un filtre prédictif modifié (A)

- des moyens adaptés de calcul dudit filtre modifié, basé sur :

* un filtre arrière (B), calculé pour un bloc passé, précédant le bloc courant, et

* un filtre modifiant (M) combiné au filtre arrière, ayant des coefficients issus des informations reçues

- et des moyens de décodage d'au moins un bloc courant en utilisant ledit filtre prédictif modifié.


 
16. Programme informatique comportant des instructions pour la mise en oeuvre du procédé de codage selon l'une des revendications 1 à 11 et/ou pour la mise en oeuvre du procédé de décodage selon l'une des revendications 12 à 13, lorsque ce programme est exécuté par un processeur.
 


Ansprüche

1. Verfahren zur Codierung eines digitalen Audiosignals, umfassend eine Aneinanderreihung von aufeinanderfolgenden Datenblöcken aus einem prädiktiven Filter,
dadurch gekennzeichnet, dass es die Verwendung eines modifizierten prädiktiven Filters (A) für die Codierung mindestens eines laufenden Blocks umfasst, wobei der modifizierte Filter (A) konstruiert ist durch die Kombination:

- eines hinteren Filters (B), der für einen vergangenen Block, der dem laufenden Block vorangeht, berechnet wurde, und

- eines modifizierenden Filters (M) mit Koeffizienten, die in Abhängigkeit von dem Signal im laufenden Block bestimmt werden.


 
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es für die Codierung eines laufenden Blocks eine Auswahl umfasst, die auf mindestens einem vorbestimmten Kriterium eines prädiktiven Filters basiert, unter mindestens:

- einem hinteren Filter (B), der für einen vergangenen Block, der dem laufenden Block vorangeht, berechnet wurde, und

- einem vorderen Filter (F), der für den laufenden Block angepasst ist, und

- einem modifizierten Filter (A), der auf Basis eines hinteren Filters und in Abhängigkeit von dem Signal im laufenden Block geschätzt wird.


 
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass das Kriterium einen stationären Charakter des Signals zwischen dem vergangenen Block und dem laufenden Block für die Auswahl eines der Filter unter einem hinteren Filter, einem vorderen Filter und einem modifizierten Filter berücksichtigt.
 
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass das vorbestimmte Kriterium eine Schätzung einer Prädiktionsverbesserung basierend auf einem Verhältnis zwischen der Leistung des Signals im laufenden Block und der Leistung eines Restsignals nach dem Filtern dieses Signals unter Verwendung jedes der hinteren, vorderen und modifizierten Filter umfasst.
 
5. Verfahren nach einem der Ansprüche 3 und 4, dadurch gekennzeichnet, dass das Kriterium ferner eine Anzahl von Parametern berücksichtigt, die an einen Decoder für die Decodierung eines laufenden Blocks zu senden sind und umfassend mindestens Koeffizienten, die der auszuwählende Filter enthält.
 
6. Verfahren nach Anspruch 5 in Kombination mit Anspruch 4, dadurch gekennzeichnet, dass das vorbestimmte Kriterium eine Optimumsuche umfasst zwischen:

- der Prädiktionsverbesserung, die der Filter bietet, und

- einer Menge, die für die Übertragung der Parameter angepasst ist.


 
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass es die folgenden Schritte umfasst:

a) Bestimmung einer Vielzahl von vorderen Filtern (F0, F1, F2, F3) mit jeweils unterschiedlichen Befehlen,

b) Bestimmung einer Vielzahl von hinteren Filtern (B0, B1, B2, B3) mit jeweils unterschiedlichen Befehlen,

c) Berechnen einer Vielzahl von modifizierten Filtern (A0, A1, A2, A3) mit jeweils unterschiedlichen Befehlen, die jeweils auf Basis eines in Schritt b) bestimmten hinteren Filters und in Abhängigkeit von dem Signal im laufenden Block geschätzt werden,

d) für eine selbe Anzahl von an einen Decoder zu sendenden Parametern, wobei diese Anzahl in Abhängigkeit von den Filterbefehlen bestimmt wird, Vergleichen der Leistungen mindestens zweier Filter unter den vorderen Filtern, hinteren Filtern und modifizierten Filtern, und

e) für die Codierung eines laufenden Blocks, Auswahl eines prädiktiven Filters, der die besten Leistungen nach dem Vergleich des Schrittes d) für eine gegebene Anzahl von an einen Decoder zu sendenden Parametern aufweist.


 
8. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der modifizierende Filter (M) durch Dekonvolution eines vorderen Filters (F), der zum Filtern des laufenden Blocks angepasst ist, durch den hinteren Filter, der für einen vergangenen Block berechnet wurde, geschätzt wird.
 
9. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der modifizierende Filter (M) auf Basis einer Analyse eines Restsignals, das nach dem Filtern des laufenden Blocks durch den hinteren Filter, der für einen vergangenen Block berechnet wurde, geschätzt wird.
 
10. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der modifizierende Filter (M) durch Identifikation im Sinne der kleinsten Quadrate geschätzt wird, wobei die Termini der Autokorrelation von Koeffizienten des hinteren Filters (B) und der Interkorrelation zwischen dem modifizierten Filter (A) und dem hinteren Filter (B) berechnet werden.
 
11. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es ferner eine Kommunikation zu einem Decoder von Informationen folgenden Typs umfasst:

- Auswahl eines vorderen Filters für einen laufenden Block mit einer Übertragung von Parametern, die Koeffizienten des vorderen Filters darstellen,

- oder Auswahl eines hinteren Filters oder eines modifizierten Filters für einen laufenden Block mit, im Falle einer Auswahl eines modifizierten Filters, einer Übertragung von Parametern, die Koeffizienten des modifizierenden Filters (M) darstellen.


 
12. Verfahren zum Decodieren eines digitalen Audiosignals, umfassend eine Aneinanderreihung von aufeinanderfolgenden Datenblöcken, wobei das Verfahren einen prädiktiven Filter für die Decodierung eines laufenden Blocks verwendet, dadurch gekennzeichnet, dass es umfasst:

- einen Empfang von Informationen, umfassend Filterkoeffizienten, die Anreicherungsparameter eines hinteren Filters darstellen, für die Berechnung eines modifizierten prädiktiven Filters (A), basierend auf der Kombination:

* eines hinteren Filters (B), der für einen vergangenen Block, der dem laufenden Block vorangeht, berechnet wurde, und

* eines modifizierenden Filters (M) mit Koeffizienten, die aus den empfangenen Informationen stammen,

- und eine Verwendung des so modifizierten prädiktiven Filters (A) für die Decodierung mindestens eines laufenden Blocks.


 
13. Verfahren nach Anspruch 12, dadurch gekennzeichnet, dass es für die Bestimmung des hinteren Filters (B) die folgenden Schritte umfasst:

- Bestimmung eines Befehls des hinteren Filters (B) in Abhängigkeit von den empfangenen Informationen, und

- Berechnen des hinteren Filters auf Basis von vorher decodierten Daten und unter Verwendung des Filterbefehls.


 
14. Vorrichtung zur Codierung eines Signals für den Einsatz des Verfahrens nach einem der Ansprüche 1 bis 11, dadurch gekennzeichnet, dass sie mindestens umfasst:

- Mittel, die zur Berechnung eines modifizierten prädiktiven Filters auf Basis eines hinteren Filters und eines modifizierenden Filters in Kombination mit dem hinteren Filter geeignet sind, wobei der modifizierende Filter Koeffizienten hat, die in Abhängigkeit von dem Signal im laufenden Block bestimmt werden, und

- Mittel zum Codieren mindestens eines laufenden Blocks unter Verwendung des modifizierten prädiktiven Filters.


 
15. Vorrichtung zur Decodierung eines Signals für den Einsatz des Verfahrens nach einem der Ansprüche 12 bis 13, dadurch gekennzeichnet, dass sie mindestens umfasst:

- Mittel für den Empfang von Informationen, umfassend Filterkoeffizienten, die Anreicherungsparameter eines hinteren Filters darstellen, für die Berechnung eines modifizierten prädiktiven Filters (A),

- Mittel, die für die Berechnung des modifizierten Filters angepasst sind, basierend auf:

* einem hinteren Filter (B), der für einen vergangenen Block, der dem laufenden Block vorangeht, berechnet wurde, und

* einem modifizierenden Filter (M) in Kombination mit dem hinteren Filter, mit Koeffizienten, die von den empfangenen Informationen stammen,

- und Mittel zum Decodieren mindestens eines laufenden Blocks unter Verwendung des modifizierten prädiktiven Filters.


 
16. Informatikprogramm, umfassend Instruktionen für den Einsatz des Codierungsverfahrens nach einem der Ansprüche 1 bis 11 und/oder für den Einsatz des Decodierungsverfahrens nach einem der Ansprüche 12 bis 13, wenn dieses Programm von einem Prozessor ausgeführt wird.
 


Claims

1. Method of coding a digital audio signal comprising a succession of consecutive blocks of data, on the basis of a predictive filter,
characterized in that it comprises the use of a modified predictive filter (A), for coding at least one current block, said modified filter (A) being constructed by the combination of:

- a backward filter (B) calculated for a past block, preceding the current block, and

- a modifying filter (M) having coefficients determined as a function of the signal in the current block.


 
2. Method according to Claim 1, characterized in that it comprises, for coding a current block, a choice based on at least one predetermined criterion of a predictive filter from among at least:

- a backward filter (B), calculated for a past block, preceding the current block, and

- a forward filter (F), suitable for the current block, and

- a modified filter (A), estimated on the basis of a backward filter and as a function of the signal in the current block.


 
3. Method according to Claim 2, characterized in that said criterion takes into account a stationarity of the signal between the past block and the current block, for the choice of one of the filters from among a backward filter, a forward filter and a modified filter.
 
4. Method according to Claim 3, characterized in that the predetermined criterion comprises an estimate of a prediction gain based on a relationship between the power of the signal in the current block and the power of a residual signal after this signal is filtered using each of said backward, forward and modified filters.
 
5. Method according to either of Claims 3 and 4, characterized in that said criterion further takes into account a number of parameters to be sent to a decoder for decoding a current block and comprising at least the coefficients that the filter to be chosen comprises.
 
6. Method according to Claim 5, taken in combination with claim 4, characterized in that the predetermined criterion comprises a search for the optimum between:

- the prediction gain offered by the filter, and

- a bitrate suitable for transmitting said parameters.


 
7. Method according to one of the preceding claims, characterized in that it comprises the steps of:

a) determining a plurality of forward filters (F0, F1, F2, F3) of distinct respective orders,

b) determining a plurality of backward filters (B0, B1, B2, B3) of distinct respective orders,

c) calculating a plurality of modified filters (A0, A1, A2, A3) of distinct respective orders, each estimated on the basis of a backward filter determined in step b) and as a function of the signal in a current block,

d) comparing, for the same number of parameters to be sent to a decoder, this number being determined as a function of said filter orders, the performance of at least two filters from among said forward filters, said backward filters and said modified filters, and

e) selecting, for coding a current block, a predictive filter with the best performance according to the comparison of step d), for a given number of parameters to be sent to a decoder.


 
8. Method according to Claim 1, characterized in that the modifying filter (M) is estimated by deconvolution of a forward filter (F) suitable for filtering the current block, by said backward filter calculated for a past block.
 
9. Method according to Claim 1, characterized in that the modifying filter (M) is determined on the basis of an analysis of a residual signal obtained after filtering of the current block by said backward filter calculated for a past block.
 
10. Method according to Claim 1, characterized in that the modifying filter (M) is estimated by identification in the least squares sense, by calculating autocorrelation terms of the backward filter coefficients (B) and intercorrelation between the modified filter (A) and the backward filter (B).
 
11. Method according to Claim 1, characterized in that it further comprises an information message to a decoder, of the type:

- choice of a forward filter for a current block, with a transmission of parameters representing coefficients of the forward filter,

- or choice of a backward filter or a modified filter for a current block, with, in the case of a choice of a modified filter, a transmission of parameters representing coefficients of said modifying filter (M).


 
12. Method of decoding a digital audio signal comprising a succession of consecutive blocks of data, the method using a predictive filter for decoding a current block, characterized in that it comprises:

- a reception of information, comprising filter coefficients representing enrichment parameters of a backward filter, for calculating a modified predictive filter (A) based on the combination of:

* a backward filter (B), calculated for a past block, preceding the current block, and

* a modifying filter (M) having coefficients originating from the information received,

- and use of said predictive filter thus modified (A) for decoding at least one current block.


 
13. Method according to Claim 12, characterized in that it comprises the following steps for determining the backward filter (B):

- determining an order of the backward filter (B), as a function of said received information, and

- calculating the backward filter from previously decoded data and by using said filter order.


 
14. Signal encoding device for implementing the method according to one of Claims 1 to 11, characterized in that it comprises at least:

- suitable means of calculating a modified predictive filter on the basis of a backward filter and of a modifying filter combined with the backward filter, said modifying filter having coefficients determined as a function of the signal in the current block, and

- means of coding at least one current block using said modified predictive filter.


 
15. Signal decoding device for implementing the method according to either of Claims 12 and 13, characterized in that it comprises at least:

- means of reception of information, comprising filter coefficients representing enrichment parameters of a backward filter, for calculating a modified predictive filter (A)

- suitable means of calculating said modified filter, based on:

* a backward filter (B), calculated for a past block, preceding the current block, and

* a modifying filter (M) combined with the backward filter, having coefficients originating from the information received,

- and means of decoding at least one current block using the modified predictive filter.


 
16. Computer program comprising instructions for implementing the method of coding according to one of Claims 1 to 11 and/or for implementing the method of decoding according to either of Claims 12 and 13, when this program is executed by a processor.
 




Dessins

















Références citées

RÉFÉRENCES CITÉES DANS LA DESCRIPTION



Cette liste de références citées par le demandeur vise uniquement à aider le lecteur et ne fait pas partie du document de brevet européen. Même si le plus grand soin a été accordé à sa conception, des erreurs ou des omissions ne peuvent être exclues et l'OEB décline toute responsabilité à cet égard.

Documents brevets cités dans la description




Littérature non-brevet citée dans la description