Note: Descriptions are shown in the official language in which they were submitted.
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
1
PROCEDE DE QUANTIFICATION D'UN CODEUR DE PAROLE A TRES
BAS DEBIT
L'invention concerne un procédé de codage de la parole. Elle
s'applique notamment à la réalisation de vocodeurs à très bas débit, de
l'ordre de 600 bits par seconde.
Elle est utilisée par exemple pour le codeur MELP, (codeur à
excitation mixte en anglo-saxon Mixed Excitation Linear Prediction), décrit
par exemple dans l'une des références [1,2,3,4].
Le procédé est par exemple mis en oeuvre dans les
communications par satellite, la téléphonie sur internet, les répondeurs
statiques, les pageurs vocaux, etc.
L'objectif de ces vocodeurs est de reconstruire un signal qui soit le
plus proche possible, au sens de la perception par l'oreille humaine, du
signal de parole d'origine, en utilisant un débit binaire le plus faible
possible.
Pour atteindre cet objectif, la plupart des vocodeurs utilisent un
modèle totalement paramétré du signal de parole. Les paramètres utilisés
concernent : le voisement qui décrit le caractère harmonique des sons voisés
ou le caractère stochastique des sons non voisés, la fréquence fondamentale
des sons voisés encore connue sous le vocable anglo-saxon PITCH ,
l'évolution temporelle de l'énergie ainsi que l'enveloppe spectrale du signal
pour exciter et paramétrer les filtres de synthèse.
Dans le cas du codeur MELP, les paramètres spectraux utilisés
sont les coefficients LSF (en anglo-saxon Line Spectral Frequencies) dérivés
d'une analyse par prédiction linéaire, LPC codage prédictif linéaire (en anglo-
saxon Linear Predictive Coding). L'analyse se fait pour un débit classique de
2400 bit/sec toutes les 22.5 ms.
Les informations supplémentaires extraites lors de la modélisation
sont :
0 la fréquence fondamentale ou pitch,
0 les gains,
CA
02567162 2006-11-18 .. .. . .
. . .
277000-6.1
CESOPAMC1
EPc05733805
21. OZ 2006
o l'information de voisement en sous-bande,
0 les coefficients de Fourier calculés sur le signal résiduel après
prédiction linéaire.
Le document de ULPU SINERVO et AL divulgue une méthode
5 permettant de quantifier les coefficients spectraux. Dans la méthode
proposée, un quantificateur de matrice multi-trames est utilisé pour exploiter
la corrélation entre les paramètres LSF des trames adjacentes.
Le document de STACHURSKI concerne une technique de
codage pour des débits autour de 4 kbits/s. La technique de codage utilise
10 un modèle MELP dans lequel les coefficients complexes sont utilisés
dans la
synthèses de parole. Dans ce document on analyse l'importance des
paramètres.
L'objet de la présente invention est, notamment, d'étendre le
modèle MELP au débit de 600bits/sec. Les paramètres retenus sont par
15 exemple, le pitch, les coefficients spectraux LSF, les gains et le
voisement.
Les trames sont regroupées par exemple en une super trame de 90 ms,
c'est-à-dire 4 trames consécutives de 22.5 ms du schéma initial (schéma
habituellement utilisé).
Un débit de 600 bits/sec est obtenu à partir d'une optimisation du
20 schéma de quantification des différents paramètres (pitch, coefficient LSF,
gain, voisement).
L'invention concerne un procédé de codage et de décodage de la
parole pour les communications , vocales utilisant un vocodeur à très bas
25 débit comportant une partie analyse pour le codage et la transmission des
paramètres du signal de parole, tels que l'information de voisement par sous-
bande, le pità h, les gains, les paramètres spectraux LSF et une partie
synthèse pour la réception et le décodage des paramètres transmis et la
reconstruction du signal de parole. H est caractérisé en ce qu'il comporte au
30 moins les étapes suivantes :
FEUILLE MODIFIÉE
2.1.ï02./200Ã!
à
CA 02567162 2006-11-18
- ,
Ptlnted
'27:/Q3s/2QQ&
PE$CPAIVID
E
................... .
.
= regrouper les paramètres voisement, pitch, gains, coefficients LSF sur
N trames consécutives pour former une super-trame,
= = effectuer une quantification vectorielle de l'information de voisement
pour chaque super-trame en élaborant une classification utilisant les
informations sur l'enchaînement en termes de voisement existant sur
un sous-multiple de N trames élémentaires consécutives, l'information
de voisement permet en effet d'identifier des classes de sons pour
lesquels l'allocation du débit et les dictionnaires associés seront
optimisés,
15
25
FEUILLE MODIFIÉE-
'21.ïe2Opel
,f
CA 02567162 2011-03-16
3
= coder le pitch, les gains et les coefficients LSF en utilisant la
classification obtenue.
La classification est par exemple élaborée en utilisant les
informations sur l'enchaînement en termes de voisement existant sur 2
trames élémentaires consécutives.
Le procédé selon l'invention permet avantageusement d'offrir un
codage fiable pour des faibles débits.
Un aspect de l'invention concerne - un procédé, de codage et de
décodage de la parole pour les communications vocales utilisant un vocodeur
à très bas débit comportant une partie analyse pour le codage et la
transmission de paramètres du signal de parole, tels que l'information de
voisement par sous-bande, le pitch, les gains, les paramètres spectraux LSF
et une partie synthèse pour la réception et le décodage de paramètres
transmis et la reconstruction du signal de parole comprenant exécuter le
étapes suivantes sur un processeur audio :
regrouper les paramètres voisement, pitch, grains, coefficients LSF sur
N trames consécutives pour former une super-trame,
effectuer une quantification vectorielle de l'information de voisement
pour chaque super-trame en élaborant une classification utilisant les
informations sur l'enchaînement en termes de voisement existant sur un sous-
multiple de N trames élémentaires consécutives, l'information de voisement
permettant en effet d'identifier des classes de sons pour lesquels
l'allocation
du débit et les dictionnaires associés seront optimisés,
la classification est effectuée sur des classes de voisement sur un
horizon de 2 trames élémentaires,
les classes sont au nombre de 6 et comportent :
une 1 ère classe comprenant deux trames consécutives non
voisées (UU) ;
une 2ème classe comprenant une trame non voisée suivie d'une
trame voisée (UV) ;
CA 02567162 2011-03-16
3a
une 3ème classe comprenant une trame voisée suivie d'une
trame non voisée (VU) ;
une 4ème classe comprenant deux trames consécutives voisée,
avec un moins une trame de voisement faible, l'autre trame étant de
voisement supérieur ou égal (VV4) ;
une elle classe comprenant deux trames consécutives voisées,
avec au moins une trame de voisement moyen, l'autre trame étant de
voisement supérieur ou égal (VV2) ; et
une 6ème classe comprenant deux trames consécutives voisées,
où chacune des trames est fortement voisée, et où seule la dernière
sous-bande peut être non voisée (VV3) ;
coder le pitch, les gains et coefficients LSF en utilisant la classification
obtenue.
Un autre aspect de l'invention concerne l'utilisation du procédé tel
que décrit ciliessus avec un codeur de parole de type MELP à 600 bits/s.
D'autres caractéristiques et avantages de la présente invention
apparaîtront mieux à la lecture de la description d'un exemple de réalisation
donné à titre iliustratif, annexé des figures qui représentent :
O La figure 1 un schéma général du procédé selon l'invention pour la
partie codeur,
O La figure 2 le schéma fonctionnel de la quantification vectorielle de
l'information de voisement,
O Les figures 3 et 4 le schéma fonctionnel de la quantification vectorielle
du pitch,
O La figure 5 le schéma fonctionnel de la quantification vectorielle des
paramètres spectraux (coefficients LSF),
0 La figure 6 le schéma fonctionnel de quantification vectorielle multi-
étages,
O La figure 7 le schéma fonctionnel de la quantification vectorielle des
gains,
CA 02567162 2011-03-16
3b
o La figure 8 un schéma appliqué à la partie décodeur.
L'exemple détaillé ci-après, à titre illustratif et nullement limitatif,
concerne un codeur MELP adapté au débit de 600 bits/sec.
Le procédé selon l'invention porte notamment sur l'encodage des
paramètres qui permettent de reproduire au mieux avec un minimum de débit
toute la complexité du signal de parole. Les paramètres retenus sont par
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
4
exemple : le pitch, les coefficients spectraux LSF, les gains et le voisement.
Le procédé fait notamment appel à une procédure de quantification
vectorielle avec classification.
La figure 1 schématise globalement les différentes mises en
oeuvre au niveau d'un codeur de la parole. Le procédé selon l'invention se
déroule en 7 étapes principales.
Etape d'analyse du signal de parole
L'étape 1 analyse le signal au moyen d'un algorithme de type
MELP connu de l'Homme du métier. Dans le modèle MELP, une décision de
voisement est prise pour chaque trame de 22.5 ms et pour 5 sous-bandes de
fréquences prédéfinies.
Etape de regroupement des paramètres
Pour l'étape 2, le procédé regroupe les paramètres sélectionnés :
voisement, pitch, gains et coefficients LSF sur N trames consécutives de
22.5 ms pour former une supertrame de 90 ms. La valeur N=4 est choisie par
exemple pour former un compromis entre la réduction possible du débit
binaire et le retard introduit par le procédé de quantification (compatible
avec
les techniques d'entrelacement et de codage correcteur d'erreurs actuelles).
Etape de quantification de l'information de voisement ¨ détaillée à la
figure 2
A l'horizon d'une supertrame, l'information de voisement est donc
représentée par une matrice à composantes binaires (0: non voisé ; 1 :
voisé) de taille (5*4), 5 sous-bandes MELP, 4 trames.
Le procédé utilise une procédure de quantification vectorielle sur n
bits, avec par exemple n=5. La distance utilisée est une distance euclidienne
pondérée afin de favoriser les bandes situées en basses fréquences. On
utilise par exemple comme vecteur de pondération [1.0 ; 1.0 ; 0.7 ; 0.4 ;
0.1].
L'information de voisement quantifiée permet d'identifier des
classes de sons pour lesquels l'allocation du débit et les dictionnaires
associés seront optimisés. Cette information de voisement est ensuite mise
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
en uvre pour la quantification vectorielle des paramètres spectraux et des
gains avec pré-classification.
Le procédé peut comporter une étape d'application de contraintes.
Lors de la phase d'apprentissage, le procédé fait par exemple appel aux 4
5 vecteurs suivants [0,0,0,0,0], [1,0,0,0,0], [1,1,1,0,0], [1,1,1,1,1]
indiquant le
voisement de la bande basse vers la bande haute. Chaque colonne de la
matrice de voisement , associée au voisement d'une des 4 trames
constitutant la supertrame, est comparée à chacun de ces 4 vecteurs, et
remplacée par le vecteur le plus proche pour l'apprentissage du dictionnaire.
Lors du codage, on applique la même contrainte (choix des 4
vecteurs précédents) et on réalise la quantification vectorielle QV en
appliquant le dictionnaire trouvé précédemment. On obtient ainsi les indices
de voisement.
Dans le cas du modèle MELP, l'information de voisement faisant
partie des paramètres à transmettre, l'information de classification est donc
disponible au niveau du décodeur sans surcoût en terme de débit.
En fonction de l'information de voisement quantifiée, des
dictionnaires sont optimisés. Pour cela le procédé définit par exemple 6
classes de voisement sur un horizon de 2 trames élémentaires. La
classification est par exemple déterminée en utilisant les informations sur
l'enchaînement en termes de voisement existant sur un sous-multiple de N
trames élémentaires consécutives, par exemple sur 2 trames élémentaires
consécutives.
Chaque super trame est donc représentée sur 2 classes de
voisement. Les 6 classes de voisement ainsi définies sont par exemple :
Classe Caractéristiques de la classe
1 ere classe UU Deux trames consécutives non voisées
2eme classe UV Une trame non voisée suivie d'une trame voisée
3"e classe VU Une trame voisée suivie d'une trame non voisée
4eme classe VVi Deux trames consécutives voisées, avec au moins une
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
6
trame de voisement faible (1,0,0,0,0), l'autre trame étant
de voisement supérieur ou égal
5eme classe VV2 Deux trames consécutives voisées, avec au moins une
trame de voisement moyen (1,1,1,0,0), l'autre trame étant
de voisement supérieur ou égal
6eme classe VV3 Deux trames consécutives voisées, où chacune des
trames est fortement voisée, c'est-à-dire où seule la
dernière sous-bande peut être non voisée (1,1,1,1,x)
Un dictionnaire est optimisé pour chaque niveau de voisement.
Les dictionnaires obtenus sont estimés dans ce cas sur un horizon de 2
trames élémentaires.
Les vecteurs obtenus sont donc de taille 20=210 coefficients
LSF, selon l'ordre de l'analyse par prédiction linéaire dans le modèle MELP
initial.
Etape de définition des modes de quantification détaillée à la figure 1
A partir des ces différentes classes de quantification, le procédé
définit 6 modes de quantification déterminés selon l'enchaînement des
classes de voisement :
=
Mode Enchaînement des classes
1E'r mode Classes non voisées (UU)
2eme mode Classe non voisée (UU) et classe mixte (UV, VU)
3' mode Classes mixtes (UV, VU)
4" mode Classes voisées (VV) et classes non voisées (UU)
56me mode Classes voisées (VV) et classes mixtes (UV, VU)
6' mode Classes voisées (VV)
La table 1 regroupe les différents modes de quantification en
fonction de la classe de voisement et la table 2 l'information de voisement
pour chacun des 6 modes de quantification.
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
7
Classe 1 : UU Classe 2: UV Classe 3: VU Classe 4,5,6:
VV
Classe 1 : UU 1 2 2 4
Classe 2 : UV 2 3 3 5
Classe 3 : VU 2 3 3 5
Classe 4,5,6 : VV 4 5 5 6
Table 1
Information de voisement
Mode 1 (UUIUU)
Mode 2 (UUIUV), (UUIVU), (UVIUU), (VUIUU)
Mode 3 (UVIUV), (UVIVU), (VUIUV), (VUIVU)
Mode 4 (VVIUU), (UUIVV)
Mode 5 (VVIUV), (VVIVU), (UVIVV), (VUIVV)
Mode 6 (VVIVV)
Table 2
Afin de limiter la taille des dictionnaires et de réduire la complexité
de recherche, le procédé met en oeuvre une méthode de quantification de
type multi-étages, telle que la méthode MSV,Q (en anglo-saxon Multi Stage
Vector Quantisation) connue de l'Homme du métier.
Dans l'exemple donné, une supertrame est constituée de 4
la vecteurs de 10 coefficients LSF et la quantification vectorielle est
appliquée
pour chaque regroupement de 2 trames élémentaires (2 sous-vecteurs de 20
coefficients).
Il y a donc au moins 2 quantifications vectorielles multiétages dont
les dictionnaires sont déduits de la classification (table 1).
Etape de quantification du pitch figures 3 et 4
Le pitch est quantifié de façon différente selon le mode.
0 Dans le cas du mode 1 (non voisé, nombre de trames voisées égal à
0), aucune information de pitch n'est transmise.
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
8
0 Dans le cas du mode 2, une seule trame est considérée comme
voisée et identifiée par l'information de voisement. Le pitch est alors
représenté sur 6 bits (quantification scalaire de la période de pitch
après compression logarithmique).
o Dans les autres modes :
O 5 bits sont utilisés pour transmettre une valeur de pitch
(quantification scalaire de la période de pitch après
compression logarithmique),
O 2 bits sont utilisés pour positionner la valeur de pitch sur une
lo des 4 trames
O 1 bit est utilisé pour caractériser le profil d'évolution.
La figure 4 schématise le profil d'évolution du pitch. La valeur de
pitch transmise, sa position et le profil d'évolution sont déterminés en
minimisant un critère des moindres carrés sur la trajectoire de pitch estimée
à l'analyse. Les trajectoires considérées sont obtenues par exemple par
interpolation linéaire entre la dernière valeur de pitch de la super trame
précédente et la valeur de pitch qui sera transmise. Si la valeur de pitch
transmise n'est pas positionnée sur la dernière trame, l'indicateur du profil
d'évolution permet de compléter la trajectoiré 'soit en maintenant la valeur
atteinte, soit en retournant vers la valeur de pitch initiale (la dernière
valeur de pitch de la super trame précédente). L'ensemble des positions sont
considérées, ainsi que toutes les valeurs de pitch comprises entre la valeur
de pitch quantifiée immédiatement inférieure au pitch minimal estimé sur la
super trame et la valeur de pitch quantifiée immédiatement supérieure au
pitch maximal estimé sur la super trame.
Etape de quantification des paramètres spectraux, des coefficients LSF
détaillée aux figures 5, 6
La table 3 donne l'allocation du débit pour les paramètres
spectraux pour chacun des modes de quantification. La répartition du débit
pour chaque étage est donnée entre parenthèses.
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
9
Mode de quantification Allocation du débit (MSVQ)
Mode 1 (6,4,4,4) + (6,4,4,4) =36 bits
Mode 2 (6,4,4) + (7,5,4) = 30 bits
Mode 3 (6,5,4) + (6,5,4) = 30 bits
Mode 4 (6,4,4) + (7,5,4) = 30 bits
Mode 5 (6,5,4) + (6,5,4) = 30 bits
Mode 6 (7,5,4) + (7,5,4) = 32 bits
Table 3
Dans chacun des 6 modes, le débit est alloué prioritairement à la
classe de voisement supérieur, la notion de voisement supérieur
correspondant à un nombre de sous-bandes voisées supérieur ou égal.
Par exemple, dans le mode 4, les deux trames consécutives non
voisées seront représentées à partir du dictionnaire (6, 4, 4) tandis que les
deux trames consécutives voisées seront représentées par le dictionnaire (7,
5, 4). Dans le mode 2 les deux trames consécutives mixtes sont
représentées par le dictionnaire (7,5,4) et les deux trames consécutives non
voisées par le dictionnaire (6,4,4).
La table 4 regroupe la taille mémoire associée aux dictionnaires.
Classe Mode MSVQ type Nombre de vecteurs Taille mémoire
UU Mode 1 MSVQ (6,4,4,4) (64+16+16+16)
2240 mots
UU Modes 2,4 MSVQ (6,4,4) Inclus dans (6,4,4,4) 0
UV Mode 2 MSVQ (7,5,4) (128+32+16) 3520 mots
UV Mode 3,5 MSVQ (6,5,4) (64 +32 +16) 2240 mots
VU Mode 2 MSVQ (7,5,4) (128+32+16) 3520 mots
VU Mode 3,5 MSVQ (6,5,4) (64 +32 +16) - 2240 mots
VV Mode 4,6 MSVQ (7,5,4) (128+32+16) * 3 10560 mots
VV Mode 5 MSVQ (6,5,4) (64 + 32 +16) * 3 6720 mots
TOTAL =31040 mots
Table 4
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
Etape de quantification du paramètre gains détaillée à la figure 7
Un vecteur de m gains avec m=8 est par exemple calculé pour
chaque supertrame (2 gains par trame de 22.5 ms, schéma utilisé
habituellement pour le MELP). m peut prendre n'importe quelle valeur, et est
5 utilisé pour limiter la complexité de la recherche du meilleur
vecteur dans le
dictionnaire.
Le procédé utilise une quantification vectorielle avec pré-classification. La
table 5 regroupe les débits et la taille mémoire associée aux dictionnaires.
Le procédé calcule les gains, puis il regroupe les gains sur
lo N trames, avec N= 4 dans cet exemple. Il utilise ensuite la
quantification
vectorielle et le mode de classification prédéfini (à partir de l'information
de
voisement) pour obtenir les indices associés aux gains. Les indices étant
ensuite transmis vers la partie décodeur du système.
Mode Allocation du MSVQ type Nombre de vecteurs Taille
mémoire
débit MSVQNQ
Modes 1,2 (7,6) = 13 bits MSVQ (7,6) (128+64)
1536 mots
Modes 3,4,5 (6,5) = 11 bits MSVQ (6,5) (64+32)
768 mots
Mode 6 (9) = 9 bits VQ (9) 512 4096 mots
TOTAL = 6400 mots
Table 5
L'abrégé VQ correspond à la quantification vectorielle et MSVQ la méthode
de quantification vectorielle multiétages.
Evaluation du débit
La table 6 regroupe l'allocation du débit pour la réalisation du
codeur de parole de type MELP à 600 bit/sec une super trame de 54 bits
(90ms).
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
11
Mode Voisement LSF Pitch Gain
1 (54 bits) 5 bits (6,4,4,4) + (6,4,4,4) 0 (7,6)
32 bits 13 bits
2 (54 bits) 5 bits (6,4,4) + (7,5,4) 6 bits (7,6)
30 bits 13 bits
3 (54 bits) 5 bits (6,5,4) + (6,5,4) 8 bits (6,5)
30 bits 11 bits
4 (54 bits) 5 bits (6,4,4) + (7,5,4) 8 bits (6,5)
30 bits 11 bits
(54 bits) 5 bits (6,5,4) + (6,5,4) 8 bits (6,5)
30 bits 11 bits
6 (54 bits) 5 bits (7,5,4) + (7,5,4) 8 bits 9 bits
32 bits =
Table 6
La figure 8 représente le schéma au niveau de la partie décodage
du vocodeur. L'indice de voisement transmis par la partie codeur est utilisé
5 pour générer les modes de quantification. Les indices de voisement, de
quantification du pitch, des gains et des paramètres spectraux LSF transmis
par la partie codeur sont dé-quantifiés en utilisant les modes de
quantification
obtenus. Les différentes étapes sont effectuées selon un schéma semblable
à celui décrit pour la partie codeur du système. Les différents paramètres dé-
quantifiés sont ensuite regroupés avant d'être transmis à la partie synthèse
du décodeur pour restituer le signal de parole.
CA 02567162 2006-11-17
WO 2005/114653
PCT/EP2005/051661
12
Références :
1 - A Mixed Excitation LPC Vocoder Model for Low Bit Rate Speech
Coding , A.V. McCree, T.P. Barnwell III, IEEE Transactions on Speech and
Audio Processing, Vol. 3, n 4, pp 242-250, July 1995.
2 - A 2.4 kbits/s MELP Coder Candidate for the New US Federal
Standard , A.V. McCree, K. Truong, E.B. George, T.P. Barnwell III,
Viswanathan V., Proceedings of IEEE ICASSP, pp 200-203, 1996.
3 - MELP : The New Federal Standard at 2400 BPS , L.Supplee, R. Cohn,
J. Collura, A.V. McCree, Proceedings of IEEE ICASSP, pp 1591-1594, 1997.
4 - The 1200 and 2400 bit/s NATO Interoperable Narrow Band Voice
Coder , NATO STANAG n 4591.