[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 :
- a) déterminer une pluralité de filtres avant d'ordres respectifs distincts,
- b) déterminer une pluralité de filtres arrière d'ordres respectifs distincts,
- 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,
- 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
- 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 :
[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 B
1, on calcule un filtre modifiant (M
1,0) d'ordre
pf0 pour obtenir un premier filtre
A0.
[0092] Sur la base du filtre B
2, on calcule un filtre modifiant (M
2,0) d'ordre
pf0 pour obtenir un second filtre
A1.
[0093] Sur la base du filtre B
3 on calcule un filtre modifiant (M
3.0) d'ordre
pf0 pour obtenir un troisième filtre
A2.
[0094] Sur la base du filtre B
3, on calcule un filtre modifiant (M
3,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é à d
0, 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 d
0 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 :
[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 A
0 et A
2 sont les meilleurs candidats au débit d
0. Il sera alors choisi préférentiellement le filtre A
0, moins complexe que le filtre A
2, et offrant néanmoins les mêmes performances en termes de gain de prédiction.
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.
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.
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.