FR2737360A1 - Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes - Google Patents

Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes Download PDF

Info

Publication number
FR2737360A1
FR2737360A1 FR9509235A FR9509235A FR2737360A1 FR 2737360 A1 FR2737360 A1 FR 2737360A1 FR 9509235 A FR9509235 A FR 9509235A FR 9509235 A FR9509235 A FR 9509235A FR 2737360 A1 FR2737360 A1 FR 2737360A1
Authority
FR
France
Prior art keywords
vector
dictionary
samples
block
vectors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9509235A
Other languages
English (en)
Other versions
FR2737360B1 (fr
Inventor
Andrei Popescu
Nicolas Moreau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR9509235A priority Critical patent/FR2737360B1/fr
Publication of FR2737360A1 publication Critical patent/FR2737360A1/fr
Application granted granted Critical
Publication of FR2737360B1 publication Critical patent/FR2737360B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio

Abstract

On stocke au codeur et au décodeur des dictionnaires vectoriels (44) contenant chacun des vecteurs prédéterminés de N échantillons. On quantifie le spectre du signal, sur la base de quoi on sélectionne des dictionnaires vectoriels pour chaque bloc de L échantillons du signal et on alloue b(k) bits de quantification vectorielle et c(k) bits de quantification scalaire à chaque dictionnaire vectoriel sélectionné. Pour chaque bloc de L échantillons et pour chaque dictionnaire vectoriel sélectionné à l'égard de ce bloc, on sélectionne par un processus d'analyse par synthèse un vecteur optimal parmi 2**b(k) vecteurs dudit dictionnaire sélectionné et un gain associé parmi 2**c(k) gains d'un dictionnaire de gains (46).

Description

PROCEDES DE CODAGE ET DE DECODAGE DE SIGNAUX
AUDIOFREQUENCE, CODEUR ET DECODEUR POUR LA MISE EN OEUVRE
DE TELS PROCEDES
La présente invention concerne le domaine du codage numérique des signaux audiofréquence à des fins de compression.
Pour transmettre ou stocker efficacement sous forme numérique des signaux audiofréquence (de la parole ou de la musique), la première étape du traitement, le codage de source, consiste à utiliser des codeurs cherchant à réaliser une compression de l'information aussi importante que possible sans dégradation audible du signal reconstruit.
Actuellement, il n'existe pas un schéma de codage unique pour des signaux audiofréquence. Deux démarches, a priori assez distinctes, sont habituellement utilisées.
Pour du signal de parole en bande téléphonique, le codeur CELP (voir M. Schroeder et B. Atal : "Code excited linear prediction (CELP) High-quality speech at very low rates", Proceedings ICASSP, pages 937-940, 1985.) a montré sa supériorité. Il s'agit fondamentalement d'une quantification vectorielle de type "gain-forme" avec un dictionnaire de quantification régulièrement adapté aux caractéristiques statistiques à court terme du signal par une opération de filtrage (Voir N. Moreau : "Techniques de
Compression des Signaux", Collection Technique et
Scientifique des Télécommunications, Masson, 1995).Cette démarche est justifiée par le fait que le signal de parole admet un modèle de production simple et efficace de type "source-filtre". Dans le codeur CELP, la quantification vectorielle de l'excitation est réalisée avec une procédure d"analyse-par-synthèse". L'exploitation sommaire d'un modèle d'audition permet une mise en forme spectrale grossière du bruit de codage.
Pour du signal de musique, il n'existe pas de modèle de production étant donné la variété des sources sonores possibles ; par contre un modèle d'audition élaboré est généralement utilisé. Les codeurs adaptés à de la musique, par exemple Musicam à la base du codeur MPEG-Audio (voir
Norme internationale ISO/CEI 11172 : "Codage de l'image animée et du son associé pour les supports de stockage numérique jusqu'à environ 1,5 Mbit/sw, 1993) ou Aspec (voir
K.Brandenburg et al : ASPEC : Adaptative perceptual entropy coding of high quality music signais", Proceedings of the 90th AES convention, pages 1-11, 1991) utilisé dans la troisième couche de MPEG-Audio cherchent essentiellement à réaliser régulièrement une mise en forme spectrale du bruit de codage de façon à ce que la densité spectrale de puissance de ce bruit soit, quelle que soit la fréquence et quel que soit l'instant, toujours en-dessous d'une courbe appelée le seuil de masquage (voir N. Jayant et al. : "Signal compression based on models of human perception",
Proceedings IEEE, 81 (10) : 1385-1422, Octobre 1993).
Cette deuxième famille de codeurs relève des codeurs en sous-bandes ou par transformées. Compte tenu de l'équivalence formelle entre les codeurs en sous-bandes et les codeurs par transformées, on considère ci-dessous le seul cas des codeurs en sous-bandes.
Le schéma de principe d'une chaîne de codage et de décodage en sous-bandes est représenté sur la Figure 1. I 1 est composé des quatre éléments principaux suivants
1. Un banc de filtres d'analyse 10. Ce banc de filtres effectue une décomposition du signal original x(n) en M signaux. Les filtres d'analyse sont généralement des filtres passe-bande. Les signaux en sortie de ces filtres sont à bande étroite, et ils sont appelés les signaux de sous-bande. Ces signaux sont ensuite sous-échantillonnés (étage 12). On appelle ces signaux de sous-bande souséchantillonnés, les signaux de sous-bande décimés, et on les note y0 (m)...1(m). On On note hO(n)...hMl(n) les réponses impulsionnelles des filtres d'analyse (OSn < N) et L le facteur de sous-échantillonnage. Typiquement L = M.
2. un étage de quantification 14, sous le contrôle du troisième élément.
3. Un dispositif 16 qui effectue l'allocation des bits disponibles pour la quantification des signaux de sousbande décimés, en exploitant un modèle d'audition, à partir de paramètres spectraux du signal x(n) évalués par une unité 18.
4. Un banc de filtres de synthèse 22. Les signaux de sous-bande décimés et quantifiés, notés y (m),..., -l(m) sont sur-échantillonnés (étage 20), puis filtrés par les filtres de synthèse. On appelle les signaux en sortie des filtres de synthèse, les signaux de sous-bande interpolés.Le signal de synthèse x(n) est la somme de ces signaux. Les filtres de synthèse sont également des filtres passe-bande.
On note f0(n)...fM-l(n) les réponses impulsionnelles des filtres de synthèse (OSn < N).
On a supposé que tous les filtres sont de même longueur N. On appelle le rapport K = N/L le "facteur de recouvrement".
Généralement, les bancs de filtres d'analyse et de synthèse réalisent une découpe régulière ou en octaves de l'axe des fréquences. Les bancs de filtres utilisés en pratique sont des bancs de filtres pseudo-QMF, ou des bancs de filtres à reconstruction parfaite, ou encore ils correspondent à des transformées en ondelettes. Le plus souvent, on a la relation suivante entre fk(n) et h k (n) fk(n)=hk(N-l-n), pour Osn < N. En l'absence de quantification (si yk(m)=yk(m)), et pour des bancs de filtres à reconstruction (presque) parfaite, le signal de synthèse et le signal original sont soit identiques soit ils présentent une différence négligeable. En présence de quantification, on appelle "bruit de codage" la différence x(n)-x(n) entre le signal original et le signal de synthèse.L'allocation de bits permet d'effectuer une "mise en forme spectrale" du bruit de codage : les sous-bandes auxquelles plus de bits sont alloués sont quantifiées avec plus de précision, et donc avec un moindre bruit. La mise en forme du bruit de quantification est fondée sur des propriétés psychoacoustiques et son but est de rendre moins audible (idéalement inaudible) le bruit de codage. Le spectre du bruit introduit à cause de la quantification dans une sousbande donnée s'étend au-delà de cette sous-bande, aux sousbandes voisines. Ce phénomène parasite est assez compliqué à gérer.
Il a été proposé d'appliquer un codage de type CELP aux signaux décomposés en sous-bandes (voir M. Yong et A.
Gersho : Subband vector excitation coding with adaptive bitallocation", Proceedings ICASSP, 1989). La synthèse comporte alors des décodages CELP suivis d'un suréchantillonnage des signaux de sous-bande décimés ainsi restitués et du passage des signaux suréchantillonnés dans le banc de filtres de synthèse.
Les techniques antérieures ont permis l'élaboration de plusieurs codeurs performants et termes de qualité auditive du signal reconstruit. Toutefois, les taux de compression accessibles par ces méthodes ne sont pas encore suffisants. Les délais de reconstruction introduits par ces méthodes sont également encore trop élevés pour pouvoir développer de nouveaux services, par exemple, en communication de groupes (audio et visioconférences numériques, téléphonie sur haut-parleurs, etc.).
Un but de la présente invention est de proposer un processus de codage et de décodage de qualité avec des délais de reconstruction modérés.
L'invention propose ainsi un procédé de codage d'un signal numérique audiofréquence traité par blocs successifs de L échantillons, dans lequel on stocke P dictionnaires vectoriels contenant chacun des vecteurs prédéterminés de N échantillons. Le procédé de codage comprend les étapes suivantes
- analyser le spectre du signal audiofréquence pour déterminer des indices d'allocation
- en fonction desdits indices d'allocation, sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels pour chaque bloc de L échantillons, et allouer des bits de quantification vectorielle et des bits de quantification scalaire à chaque dictionnaire vectoriel sélectionné
- pour chaque bloc de L échantillons et pour chaque dictionnaire vectoriel sélectionné à l'égard de ce bloc, déterminer l'indice d'un vecteur optimal dans ledit dictionnaire sélectionné et l'indice d'un gain associé dans un dictionnaire de gains, le vecteur optimal et le gain associé étant respectivement sélectionnés, par un processus d'analyse par synthèse, parmi 2b(k) vecteurs dudit dictionnaire sélectionné et parmi 2c(k) gains du dictionnaire de gains, b(k) et c(k) désignant respectivement le nombre de bits de quantification vectorielle et le nombre de bits de quantification scalaire alloués audit dictionnaire sélectionné ; et
- former un flux binaire de sortie incluant les indices d'allocation et les indices des vecteurs optimaux et des gains associés.
Complémentairement, l'invention propose un procédé de décodage d'un flux binaire d'entrée pour synthétiser, en blocs successifs de L échantillons numériques, un signal audiofréquence codé par le flux binaire d'entrée, dans lequel on stocke P dictionnaires vectoriels contenant chacun des vecteurs prédéterminés de N échantillons.Le procédé de décodage comprend les étapes suivantes
- pour chaque bloc de L échantillons du signal à synthétiser, sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels et allouer à chaque dictionnaire vectoriel sélectionné des bits de quantification vectorielle et des bits de quantification scalaire inclus dans le flux binaire d'entrée, sur la base d'indices d'allocation inclus dans le flux binaire d'entrée
- pour chaque bloc de L échantillons et pour chaque dictionnaire vectoriel sélectionné à l'égard de ce bloc, calculer une contribution au signal de synthèse en multipliant un vecteur optimal par un gain associé, le vecteur optimal étant obtenu dans ledit dictionnaire vectoriel sélectionné au moyen d'un indice correspondant aux bits de quantification vectorielle alloués audit dictionnaire sélectionné dans le flux binaire d'entrée, et le gain associé étant obtenu à partir d'un indice dans un dictionnaire de gains, correspondant aux bits de quantification scalaire alloués audit dictionnaire sélectionné dans le flux binaire d'entrée ; et
- combiner lesdites contributions calculées pour former le signal audiofréquence.
Dans un mode de réalisation de l'invention, la bande passante du signal audiofréquence est subdivisée en M sousbandes, M étant un entier au plus égal au nombre P de dictionnaires vectoriels, et chacun des P dictionnaires vectoriels est associé à une sous-bande respective et contient des vecteurs de N échantillons représentant des signaux à bande étroite incluse dans la sous-bande associée audit dictionnaire vectoriel.
L'invention peut dans ce cas être vue comme une généralisation du codage en sous-bandes standard, qui en améliore les performances. Le processus de synthèse mis en oeuvre dans un décodeur en sous-bandes consiste à sommer des vecteurs (les réponses impulsionnelles des filtres de synthèse) multipliés par des gains respectifs (les signaux de sous-bandes quantifiés et décimés). L'approche de l'invention est de sommer non pas des vecteurs invariables, mais des vecteurs optimaux sélectionnés dans des dictionnaires vectoriels par un processus d'analyse-parsynthèse, les gains associés étant également quantifiés au moyen d'un ou plusieurs dictionnaires. En d'autres termes, les signaux de sous-bande interpolés sont quantifiés par une quantification vectorielle, au lieu d'une quantification scalaire suivie d'une interpolation.Les dictionnaires utilisés dans la quantification vectorielle peuvent être adaptés au signal par apprentissage.
Par ailleurs, on n'a plus besoin du banc de filtres d'analyse au niveau du codeur. La partition du spectre fréquentiel en sous-bandes n'est soumise à aucune contrainte, contrairement au codage en sous-bandes classique où la structure des filtres d'analyse et de synthèse limite les possibilités. L'invention permet en outre de prendre en compte aisément la périodicité des sons voisés par une technique de dictionnaire adaptatif, bien connue dans le domaine du codage CELP comme améliorant la qualité, mais délicate à mettre en oeuvre dans les codeurs en sous-bandes habituels. Enfin, le bruit de codage introduit dans une sousbande par la quantification des autres signaux de sous-bande est réduit.
Il est à noter que l'invention permet d'utiliser des vecteurs de longueur N plus grande que la longueur L des blocs d'analyse. Au niveau du codeur, le processus d'analyse par synthèse relatif à un bloc courant de L échantillons comprend alors, après réception des échantillons dudit bloc courant et des N-L échantillons suivants, la formation d'un vecteur cible de N échantillons en soustrayant d'un vecteur d'analyse de N échantillons, correspondant aux L échantillons du bloc courant et aux N-L échantillons suivants, des contributions des vecteurs optimaux déterminés relativement aux E[(N-1)/L] blocs précédents, E[.] désignant la partie entière. Un processus dual est mis en oeuvre au niveau du décodeur pour reconstruire le signal audiofréquence.On réalise ainsi une quantification vectorielle à recouvrement, ci-aprèsappeléeOVL-VQ (pour"OVerLap-VectorQuantization").
Un recouvrement de cette nature entre vecteurs sommés a été utilisé dans le domaine de la synthèse de sons musicaux à modélisation sinusoidale (voir E.B. George et al.
"Generalized overlap-add sinusoidal modeling applied to quasi-harmonic tone synthesis", Proceedings IEEE Workshop on
Applications of Signal Processing to Audio and Acoustics, 1993). Mais il est inhabituel de l'inclure dans un schéma de quantification.
L'analogie faite ci-dessus entre l'invention et les codeurs en sous-bandes classiques est transposable au cas général des codeurs à transformées. La structure des dictionnaires vectoriels utilisés ne reflète pas nécessairement une décomposition explicite en sous-bandes de la bande passante du signal d'entrée.
Un autre aspect de l'invention concerne un codeur audiofréquence pour traiter un signal numérique audiofréquence en blocs successifs de L échantillons, comprenant
- P dictionnaires vectoriels contenant chacun des vecteurs prédéterminés de N échantillons
- des moyens d'analyse du spectre du signal audiofréquence pour déterminer des indices d'allocation ;;
- des moyens d'allocation de bits pour sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels pour chaque bloc de L échantillons, et allouer des bits de quantification vectorielle et des bits de quantification scalaire à chaque dictionnaire vectoriel sélectionné, en fonction des indices d'allocation déterminés par les moyens d'analyse de spectre
- des moyens d'analyse par synthèse pour déterminer pour chaque bloc de L échantillons et pour chaque dictionnaire vectoriel sélectionné à l'égard de ce bloc, l'indice d'un vecteur optimal dans ledit dictionnaire sélectionné et l'indice d'un gain associé dans un dictionnaire de gains, le vecteur optimal et le gain associé étant respectivement sélectionnés, par un processus d'analyse par synthèse, parmi 2b(k) vecteurs dudit dictionnaire sélectionné et parmi 2c(k) gains du dictionnaire de gains, b(k) et c(k) désignant respectivement le nombre de bits de quantification vectorielle et le nombre de bits de quantification scalaire alloués audit dictionnaire sélectionné par les moyens d'allocation de bits ; et
- des moyens pour former un flux binaire de sortie incluant les indices d'allocation et les indices des vecteurs optimaux et des gains associés.
L'invention a également pour objet un décodeur audiofréquence pour synthétiser, en blocs successifs de L échantillons numériques, un signal audiofréquence codé par un flux binaire d'entrée, comprenant
- P dictionnaires vectoriels contenant chacun des vecteurs prédéterminés de N échantillons
- des moyens d'allocation de bits pour sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels et allouer à chaque dictionnaire vectoriel sélectionné des bits de quantification vectorielle et des bits de quantification scalaire inclus dans le flux binaire d'entrée, sur la base d'indices d'allocation inclus dans le flux binaire d'entrée
- des moyens pour calculer, pour chaque bloc de L échantillons et pour chaque dictionnaire vectoriel sélectionné à l'égard de ce bloc , une contribution au signal de synthèse en multipliant un vecteur optimal par un gain associé, le vecteur optimal étant obtenu dans ledit dictionnaire vectoriel sélectionné au moyen d'un indice correspondant aux bits de quantification vectorielle alloués audit dictionnaire sélectionné dans le flux binaire d'entrée, et le gain associé étant obtenu à partir d'un indice dans un dictionnaire de gains, correspondant aux bits de quantification scalaire alloués audit dictionnaire sélectionné dans le flux binaire d'entrée ; et
- des moyens pour combiner lesdites contributions calculées de façon à former le signal audiofréquence
D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'un exemple de réalisation non limitatif, en référence aux dessins annexés, dans lesquels
- la figure 1, précédemment discutée montre un schéma de principe d'une chaîne de codage et de décodage en sous bandes
- les figures 2 et 3 sont des schémas synoptiques respectivement d'un codeur et d'un décodeur selon l'invention ; et
- la figure 4 est un graphique illustrant un exemple de forme d'onde représentée par un vecteur d'un dictionnaire de sous-bande.
Revenant au schéma de la figure 1, le signal de synthèse x(n), restitué par un décodeur en sous-bandes à l'instant n (exprimé en multiples de la période d'échantillonnage) tel que n=mL+i, L désignant le facteur de décimation et m et i désignant deux entiers avec OSi < L, peut s'écrire
Figure img00100001

où Ym~j désigne le signal de la sous-bande k décimé et relatif à la période de sous-échantillonnage m-j, et f k (jL+i) désigne la réponse impulsionnelle du filtre de synthèse de la sous-bande k pour un retard de jL+i( < N) échantillons. Le facteur de recouvrement K est un entier égal à l+E[(N-l)/L] dans le cas général. Pour simplifier la présente description sans en affecter la généralité, on considérera ci-après le cas où N est un multiple entier de L : N=KL.
Si on interprète les périodes de sous-échantillonage comme des blocs d'analyse de L échantillons, et si on propose de mettre à jour les vecteurs fk=(fk(0) fk(l) fk(N~l)) à chaque bloc d'analyse en les sélectionnant dans un dictionnaire respectif, le signal de synthèse devient
Figure img00100002

q(k,m-j) désignant l'indice dans le dictionnaire relatif à la sous-bande k du vecteur fq(k m-j) sélectionné pour le bloc m-j. La quantité =ks' s'interprète alors comme un coefficient ou gain associé au vecteur fk (k,m- j ) dans un schéma de quantification du signal par une combinaison linéaire de vecteurs. Cette quantification vectorielle est à recouvrement (OVL-VQ) lorsque K > 1, c'est-à-dire N > L, un même vecteur s'étendant sur plusieurs blocs d'analyse.
On note que l'expression (2) peut être généralisée à un nombre P de dictionnaires vectoriels supérieur au nombre
M de sous-bandes. I1 est notamment possible d'attribuer plusieurs dictionnaires distincts à une ou plusieurs sousbandes, contenant des vecteurs de natures différentes (par exemple sinusoldes et bruits à bande étroite), les bits de quantification pouvant être alloués de manière distincte à un ou plusieurs dictionnaires de sous-bande si l'observation du spectre du signal le permet.
Une autre possibilité est de prévoir plusieurs dictionnaires de longueurs différentes pour une même sousbande, ces dictionnaires pouvant avoir ou ne pas avoir des parties communes. Lorsque cette sous-bande est retenue dans le processus d'allocation des bits, on sélectionne le dictionnaire d'où extraire le vecteur optimal en fonction du nombre de bits alloués à la sous-bande. Cette solution est relativement exigeante en termes d'espace mémoire nécessaire, mais elle a pour avantage de permettre une structure optimisée des dictionnaires selon le nombre de bits de quantification alloués.
On peut également prévoir un dictionnaire vectoriel supplémentaire constitué par un dictionnaire adaptatif contenant des échantillons passés du signal de synthèse, auquel des bits de quantification sont alloués en fonction d'une détection voisé/non voisé opérée sur le signal à coder.
La technique du dictionnaire adaptatif est utilisée dans les codeurs CELP ou analogues pour rendre compte de la hauteur tonale ("pitch") de la parole (voir W.B. Kleijn et al: "Improved speech quality and efficient vector quantization in SELP", Proc. ICASSP, New York, 1988, pages 155-158).
Enfin, l'expression (2) peut encore être généralisée au cas où plusieurs vecteurs peuvent être sélectionnés dans un même dictionnaire, ce qu'autorise l'allocation dynamique des bits de quantification. Ceci complique la forme de l'expression (2), mais n'apporte pas de complexité supplémentaire dans la structure du codeur ou du décodeur.
On note s(k,m) le nombre de vecteurs sélectionnés dans le dictionnaire k pour le bloc m, q(r,k,m) l'indice du (r+l)ième (0sr < s(k,m)) vecteur sélectionné dans le dictionnaire k pour le bloc m, et yrk, m le gain associé.
On note
Figure img00120001

la contribution au signal de synthèse du (r+l)-ième vecteur sélectionné dans le dictionnaire k pour le bloc m. La composante wr m(i) contribue au signal de synthèse à
k l'instant mL+i (Wr,m(i)=O si i < 0 ou i2N). Le vecteur Zm= < Zm(O) zm(N-l)) défini par
Figure img00120002

est la contribution globale au signal de synthèse des vecteurs sélectionnés lors du traitement du bloc m, ci-après appelée "contribution du bloc m". Dans l'expression (3),
P'=P+l si un dictionnaire adaptatif est prévu, P étant le nombre de dictionnaires de vecteurs fixes, et P'=P sinon. Si on se limite à 0si < L, l'expression du signal de synthèse relatif au bloc m est
Figure img00120003
Les indices de quantification étant transmis bloc après bloc, le décodeur est en mesure de reconstruire un bloc du signal de synthèse dès qu'il a reçu les indices de quantification relatifs à ce bloc, étant donné que le second terme du membre de droite de l'équation (4) ne fait intervenir que des contributions de blocs antérieurs.
Au niveau du codeur, les indices de quantification sont déterminés bloc par bloc par un processus d'analyse par synthèse. Mais la minimisation porte sur des vecteurs de longueur N supérieure à la longueur L des blocs (lorsque
K > 1). Ces vecteurs présentent des recouvrements d'un bloc à l'autre. La composante i (05i < N) du vecteur de synthèse relatif au bloc m s'écrit, avec u=E(i/L)
Figure img00130001
Le processus d'analyse par synthèse relatif à un bloc m consiste à caractériser le premier terme du membre de droite de l'équation (5). Le second terme correspond aux contributions des vecteurs déterminés pour les blocs antérieurs.Ce second terme est soustrait du vecteur d'entrée =(x(mL) ,...,x (mL+N-1) ) constitué des échantillons du signal audiofréquence appartenant au bloc m et des N-L échantillons suivants pour former un vecteur cibleYm=(vm(l),...,vm(N-l)):
Figure img00130002

pour 05i < N avec u=E(i/L). Le troisième terme du membre de droite de l'équation (5) est inconnu puisqu'il correspond aux contributions des blocs futurs. Ce troisième terme, qui contribue seulement aux échantillons x(mL+i) avec i2L du signal de synthèse, est ignoré dans l'analyse effectuée au codeur, de sorte que le codeur n'effectue complètement la synthèse que sur le bloc courant même si la longueur des vecteurs impliqués dans la minimisation est supérieure.Le fait de faire porter en partie la minimisation relative à un bloc sur des échantillons postérieurs à ce bloc permet d'atténuer dans une large mesure les problèmes de discontinuité bloc à bloc.
En référence à la figure 2, un codeur selon l'invention comporte une mémoire tampon 30 recevant les échantillons successifs du signal audiofréquence à coder x(n). Le signal x(n) a été échantilonné et numérisé en amont du codeur. La mémoire 30 doit avoir une capacité d'au moins
N échantillons pour qu'on puisse disposer du vecteur d'entrée de de N échantillons lors des traitements relatifs au bloc m.
Le spectre à court terme du signal d'entrée est analysé, sur des périodes généralement plus longues que les blocs, par un module 32 d'estimation du spectre à court terme. Le spectre peut par exemple être caractérisé par des paramètres LSP ("Line Spectrum Pairs") calculés à partir des autocorrélations du signal d'entrée. Les paramètres LSP sont quantifiés de façon connue par un module 33 fournissant des indices de quantification Q. L'utilisation des paramètres LSP est classique dans le domaine du codage audio (voir par exemple F.K. Soong and B.H. Juang : "Line spectrum pair (LSP) and speech data compression", Proceedings ICASSP, pages 1.10.1-1.10.4, 1984).
Le codeur représenté sur la figure 2 utilise un dictionnaire adaptatif 42 pour rendre compte des corrélations à long terme du signal d'entrée. Un détecteur de voisement 34 examine le signal d'entrée pour identifier les blocs voisés. Cet examen peut être effectué sur des périodes plus longues que les blocs. Le détecteur 34 délivre un bit V dont la valeur permet de repérer les blocs voisés et les blocs non voisés. La détection du voisement est également une fonction standard dans les codeurs audio.
Le bit V et les indices Q de quantification des paramètres LSP sont fournis à un module 36 d'allocation des bits. Ce module 36 sélectionne un ensemble de dictionnaires vectoriels pour chaque bloc. Pour chaque dictionnaire vectoriel sélectionné pour un bloc, le module 36 délivre par exemple un quadruplet k, b(k), c(k), g(k), dans lequel k indique le dictionnaire vectoriel sélectionné, b(k) désigne le nombre de bits de quantification vectorielle alloués au dictionnaire k, c(k) désigne le nombre de bits de quantification scalaire alloués au dictionnaire k, et g(k) désigne un facteur d'échelle du gain. Dans le cas général les nombres de bits b(k) et c(k) alloués à un même dictionnaire vectoriel peuvent être distincts. Pour simplifier la description, on considère ci-après le cas particulier où b(k)=c(k).Les facteurs d'échelle g(k) permettent de régler la dynamique des gains en fonction des caractéristiques du spectre. Pour allouer les bits de quantification, le module 36 peut mettre en oeuvre les algorithmes d'allocation classiquement utilisés dans les codeurs en sous-bandes (voir par exemple A. Gersho et R.M. Gray, "Vector Quantization and Signal Compression", Kluwer Academic Publishers, 1992, page 234), en réservant un nombre donné de bits au dictionnaire adaptatif pour les blocs repérés comme voisés par le bit V.
Les quadruplets k, b(k), c(k), g(k) sont fournis par le module 36 à un module 38 de minimisation qui détermine les indices de quantification q, q' des vecteurs optimaux et des gains associés relativement au bloc courant. Le dictionnaire adaptatif 42 et les M dictionnaires vectoriels de sous-bande 44 sont stockés dans une mémoire 40 du codeur à laquelle accède le module 38. La figure 2 montre la mémoire 40 comme contenant également un dictionnaire de gains 46, commun à tous les dictionnaires vectoriels 42, 44. Dans de nombreuses applications, la structure du dictionnaire de gains peut toutefois être suffisamment simple pour qu'on puisse se dispenser de le stocker, chaque gain pouvant dans ce cas être calculé rapidement sur la base de son indice q'. On peut également prévoir plusieurs dictionnaires de gains (stockés ou non) affectés chacun à un ou plusieurs des dictionnaires vectoriels.Lorsqu'un dictionnaire vectoriel est sélectionné, on va alors chercher la valeur du gain associé dans le dictionnaire de gains qui lui est affecté. Pour chaque dictionnaire vectoriel k qui a été sélectionné par le module 36 pour un bloc m, le module 38 détermine un vecteur optimal fqk(k,m) parmi les 2b(k) premiers vecteurs du dictionnaire vectoriel k (0sq(k,m) < 2b(k)), et un gain relatif associé
Yq' m) parmi les 2c(k) premiers gains du dictionnaire de gains 46 (0#q' (k,m) < 2c(k)). Avec les notations utilisées précédemment, le gain k associé au vecteur optimal est ymk=&gamma;q'(k,m).g(k) (ici, les indices r introduits dans l'équation (3) sont omis : si s(k,m) > l, l'indice k du dictionnaire vectoriel concerné figure dans s(k,m) quadruplets distincts fournis par le module 36).
La contribution Zm= (Zm(0)1, ..., Zm(N-1)) du bloc m qui a été synthétisé par le module de minimisation 38, est adressée à un module 48 de mise à jour du dictionnaire adaptatif. Le module 48 met à jour les échantillons du dictionnaire adaptatif 42 en vue du traitement des blocs suivants, selon l'une des méthodes classiquement utilisées dans les codeurs de parole à dictionnaire adaptatif.
Le codeur comporte un module 50 qui calcule la somme des contributions au signal de synthèse des K-l blocs précédant le bloc courant (second terme du membre de droite de l'équation (5)). Une fois qu'un bloc a été traité, sa contribution Zm sur N échantillons est fournie au module 48 pour que celui-ci en tienne compte dans le traitement des blocs suivants, en appliquant les décalages appropriés. Un soustracteur 52 retranche du vecteur d'entrée sm de N échantillons relatif au bloc m la somme des contributions des blocs m-K+l à m-l calculée par le module 50 pour fournir le vecteur cible Ym (équation (6)) au module de minimisation 38.
Si le codeur dispose d'une puissance de calcul importante, on peut envisager que le module 38 opère la minimisation de façon globale pour tous les dictionnaires vectoriels sélectionnés, cest-à-dire par exemple qu'il détermine l'ensemble des indices q, q' définissant selon l'équation (3) une contribution Zm = (zm(0),... zm(N-l)) du bloc m qui présente une distance minimale avec le vecteur cible vm, c'est-à-dire qui minimise le critère d'erreur
Figure img00170001
Pour alléger la charge de calcul, la procédure de minimisation comporte avantageusement plusieurs étages de minimisation successifs. Chaque étage correspond aux traitements relatifs à un quadruplet k,b,c,g fourni par le module 36.Ces traitements consistent par exemple à
- déterminer le couple d'indices q(k,m), q' q'(k,m) qui minimise le critère d'erreur
Figure img00170002

avec 05q(k,m) < 2b(k) et 0sq & k,m) < 2C(k), c'est-à-dire qui définit une contribution
Figure img00170003

présentant une distance minimale avec le vecteur cible y, ; puis
- recalculer le vecteur cible Ym pour l'étage suivant en retirant du vecteur cible précédent la contribution
Figure img00170004
L'ordre dans lequel les quadruplets k,b,c,g sont traités dans la procédure de minimisation multi-étages n'est pas indifférent, les différents vecteurs n'étant généralement pas orthogonaux. Le module 36 fournit les quadruplets k,b,c,g dans un ordre déterminé en fonction d'une observation du signal d'entrée.Lorsqu'un bloc est détecté comme voisé, il convient de traiter le dictionnaire adaptatif 42 dans le premier étage. L'ordre de traitement des dictionnaires de sous-bande sélectionnés depend du spectre du signal d'entrée.
Une possibilité est d'estimer la distribution de l'énergie du signal d'entrée dans les différentes sous-bandes et de sélectionner les dictionnaires de sous-bande 44 dans un ordre d'énergies décroissantes. On peut également prévoir de traiter en priorité les sous-bandes dans lequelles le signal présente des résonances prononcées, l'acuité des résonances pouvant classiquement être évaluée sur la base de la distribution des paires de raies spectrales que représentent les paramètres LSP.
Les indices de quantification Q des paramètres LSP, le bit voisé/non voisé V et les jeux d'indices q, q' sont adressés à un multiplexeur 54 qui construit selon un format déterminé le flux binaire transmis ou stocké en vue d'un décodage ultérieur.
Les indices de quantification des paramètres LSP définissent de façon univoque l'allocation des bits du flux de sortie aux dictionnaires de sous-bande 44. Néanmoins, la même distribution des bits entre les dictionnaires 44 peut a priori correspondre à plusieurs jeux distincts d'indices de quantification des paramètres LSP. I1 est donc envisageable de réduire le débit binaire de sortie en caractérisant l'allocation par des indices d'allocation Q occupant un plus petit nombre de bits que les indices de quantification des paramètres LSP. I1 suffit que le module 33 quantifie les paramètres LSP (ou d'autres paramètres spectraux fournis par le module 32) de manière à produire des indices d'allocation Q caractérisant de façon univoque la distribution des bits entre les dictionnaires 44, un débit minimal étant atteint lorsque cette caractérisation est biunivoque.
La figure 3 montre un décodeur pour restituer le signal de synthèse x < n) à partir du flux binaire reçu du codeur de la figure 2. Un démultiplexeur 74 trie les bits reçus pour restituer les indices d'allocation Q, les bits V et les jeux d'indices q, q'. Un module 56 d'allocation des bits, identique au module 36 du codeur, sélectionne les dictionnaires vectoriels à utiliser pour chaque bloc m, leur alloue des bits de quantification vectorielle et des bits de quantification scalaire, et détermine les facteurs d'échelle des gains.Les quadruplets k,b,c,g fournis par le module d'allocation 56 et les indices q, q' restitués par le démultiplexeur 74 sont adressés pour chaque bloc m à un module 58 qui calcule les contributions sm des vecteurs optimaux déterminés pour le bloc courant m, et qui fait la Ak somme de ces contributions sm pour obtenir la contribution globale sm du bloc courant m. Les vecteurs et éventuellement les gains relatifs associés yq(k m) sont lus par le module 58 dans une mémoire 60 ayant la même structure que la mémoire 40 du codeur.La contribution vm=(zm( ),-..,zm(N-l)) du bloc m aux L échantillons de synthèse de ce bloc et aux N-L échantillons suivants est adressée à un module 68 de mise à jour du dictionnaire adaptatif, qui opère de la même manière que le module correspondant 48 du codeur.
Le décodeur comporte un module 70 qui calcule la somme des contributions au signal de synthèse des K-1 blocs précédant le bloc courant. Ce module 70 reçoit du module 58 la contribution Zm sur N échantillons du bloc m au signal de synthèse pour en tenir compte dans le traitement des blocs suivants. Le module 70 opère de façon semblable au module correspondant 50 du codeur. Toutefois il délivre seulement
L (et non N) échantillons par bloc, à savoir les seconds termes du membre de droite de l'équation (4). La somme de ces
L échantillons est ajoutée par l'additionneur 72 aux L échantillons correspondants Azm zm(i), avec OSi < L, de la contribution du bloc m calculée par le module 58, afin de produire le signal audiofréquence synthétisé x(n) sur le bloc courant.
Dans une réalisation pratique, le codeur et le décodeur des figures 2 et 3 peuvent être incorporés chacun dans un processeur de signal numérique (DSP) programmé pour exécuter les fonctions des modules décrits ci-dessus, ou dans un circuit intégré spécifique (ASIC).
I1 est théoriquement possible de prévoir, pour chaque sous-bande k et chaque nombre de bits b(k) possible, un dictionnaire vectoriel de 2b(k) vecteurs sélectionné lorsque la sous-bande k est retenue pour le module 36 avec allocation de b(k) bits de quantification vectorielle. C'est pour limiter l'espace mémoire requis qu'on affecte un dictionnaire à chaque sous-bande dans l'exemple précédemment décrit, et qu'on recherche les vecteurs optimaux dans les 2b(k) premiers vecteurs. On peut également concevoir des compromis entre ces deux solutions extrêmes. Typiquement, chaque dictionnaire vectoriel 44 comprend jusqu'à 32 vecteurs représentant des signaux à bande étroite incluse dans la sous-bande à laquelle ledit dictionnaire est affecté.Ces signaux à bande étroite peuvent comprendre
- des sinusoides ayant des fréquences dans la sousbande respective, modulées par la réponse impulsionnelle d'un filtre passe-bas. Un vecteur de ce type est présenté sur la figure 4
- des bruits à bande étroite, obtenus en filtrant un bruit blanc par un filtre passe-bande ayant une réponse en fréquence centrée dans la sous-bande respective.
Lorsqu'un dictionnaire relatif à une sous-bande k contient des vecteurs de type sinusoide modulée, ces vecteurs sont ordonnés en vue de maximiser l'écart minimal entre leurs fréquences, quel que soit b(k). Si ss(k) désigne la largeur de la sous-bande et a(k) sa fréquence inférieure, les vecteurs de type sinusoide modulée sont ordonnées de façon que leurs fréquences respectives soit dans l'ordre suivant a(k) a(k)+(l/2)ss(k), a(k)+(l/4)ss(k), a(k)+(3/4)ss(k), a(k)+(l/8)ss(k), a(k)+(3/8)B(k), a(k)+(7/8)ss(k)...
A titre indicatif, les inventeurs ont pu valider un codeur du type de celui de la figure 2, appelé codeur en sous-bandes à analyse par synthèse, ou SBAS ("Sub-Band
Analysis-by-Synthetis coder") dans l'exemple particulier cidessous. Le signal d'entrée échantillonné à 8 kHz est traité en blocs de L=40 échantillons. La dimension des vecteurs composant le dictionnaire adaptatif et les dictionnaires vectoriels de sous-bande est de N=120. M=16 sous-bandes réalisent une partition non uniforme de la bande passante du signal d'entrée, à savoir huit sous-bandes de largeur 125 Hz entre 0 et 1 kHz, quatre sous-bandes de largeur 250 Hz entre 1 et 2 kHz, et quatre sous-bandes de largeur 500 Hz entre 2 et 4 kHz. L'analyse spectrale et la détection de voisement sont faites tous les 160 échantillons et réclament 28 bits de quantification.L'indice de quantification du retard LTP (c'est-à-dire l'indice du vecteur optimal du dictionnaire adaptatif) réclame 7 bits, et le gain associé 2 bits. On utilise un total de 12 bits par bloc pour les vecteurs optimaux des dictionnaires de sous-bande, alloués conformément à l'algorithme décrit à la page 234 de l'ouvrage de A. Gersho et R.M. Gray, "Vector Quantization and Signal
Compression, Kluwer Academic Publishers, 1992, et 12 bits pour les gains associés, les bits alloués au retard et au gain LTP venant s'ajouter à ces 24 bits pour les blocs non voisés. On réalise ainsi un codeur de débit égal à 8 kbits/s, le codage de chaque bloc de 5 ms nécessitant 7+2+12+12+(28/4)=40 bits. La complexité de ce codeur est réduite parce qu'on utilise une minimisation multi-étages avec des dictionnaires de taille limitée (s32 vecteurs), et parce que les dictionnaires de sous-bande sont fixes (pas de filtrage des dictionnaires comme dans les codeurs CELP). En outre, le retard de codage de ce codeur est faible, de l'ordre de 25 ms (cinq blocs).

Claims (17)

REVENDICATIONS
1. Procédé de codage d'un signal numérique audiofréquence (x(n)) traité par blocs successifs de L échantillons, caractérisé en ce qu'on stocke P dictionnaires vectoriels (44) contenant chacun des vecteurs prédéterminés de N échantillons, le procédé comprenant les étapes suivantes
- analyser le spectre du signal audiofréquence pour déterminer des indices d'allocation (Q)
- en fonction desdits indices d'allocation, sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels pour chaque bloc de L échantillons, et allouer des bits de quantification vectorielle et des bits de quantification scalaire à chaque dictionnaire vectoriel sélectionné
- pour chaque bloc (m) de L échantillons et pour chaque dictionnaire vectoriel (k) sélectionné à l'égard de ce bloc, déterminer l'indice (q) d'un vecteur optimal dans ledit dictionnaire sélectionné et l'indice (q') d'un gain associé dans un dictionnaire de gains (46), le vecteur optimal et le gain associé étant respectivement sélectionnés, par un processus d'analyse par synthèse, parmi 2b(k) vecteurs dudit dictionnaire sélectionné et parmi 2c(k) gains du dictionnaire de gains, b(k) et c(k) désignant respectivement le nombre de bits de quantification vectorielle et le nombre de bits de quantification scalaire alloués audit dictionnaire sélectionné ; et
- former un flux binaire de sortie incluant les indices d'allocation et les indices des vecteurs optimaux et des gains associés.
2. Procédé selon la revendication 1, caractérisé en ce que la bande passante du signal audiofréquence est subdivisée en M sous-bandes, M étant un entier au plus égal au nombre P de dictionnaires vectoriels, et en ce que chacun des P dictionnaires vectoriels est associé à une sous-bande respective et contient des vecteurs de N échantillons représentant des signaux à bande étroite incluse dans la sous-bande associée audit dictionnaire vectoriel.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'on stocke en outre un dictionnaire vectoriel adaptatif (42) contenant des vecteurs de N échantillons constitués d'échantillons passés d'un signal de synthèse construits à partir des vecteurs optimaux et des gains associés précédemment déterminés.
4. Procédé selon la revendication 3, caractérisé en ce qu'on détecte les blocs voisés du signal audiofréquence, le dictionnaire adaptatif étant sélectionné pour un bloc, et des bits de quantification lui étant alloués, lorsque ledit bloc est détecté comme voisé.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la longueur N des vecteurs des dictionnaires vectoriels est plus grande que la longueur L des blocs du signal audiofréquence, et en ce que le processus d'analyse par synthèse relatif à un bloc courant (m) de L échantillons comprend, après réception des échantillons dudit bloc courant et des N-L échantillons suivants, la formation d'un vecteur cible (xm) de N échantillons en soustrayant d'un vecteur d'analyse (sm) de N échantillons, correspondant aux
L échantillons du bloc courant et aux N-L échantillons suivants, des contributions (zm-j) des vecteurs optimaux déterminés relativement aux E[ (N-1)/L] blocs précédents, E[.] désignant la partie entière.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le processus d'analyse par synthèse relatif à un bloc de L échantillons comprend une minimisation en plusieurs étages successifs, chaque étage de minimisation comportant les étapes suivantes
- sélectionner un vecteur optimal dans un dictionnaire vectoriel sélectionné affecté audit étage et sélectionner un gain associé de manière à minimiser une distance entre un vecteur cible (m) de N échantillons et une contribution (wkm) sur N échantillons égale au produit dudit vecteur optimal et du gain associé ; et
- recalculer le vecteur cible (vm) en lui retranchant ladite contribution sur N échantillons
et en ce que les dictionnaires vectoriels sélectionnés sont affectés aux étages de minimisation sur la base des indices d'allocation (Q).
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que pour chaque bloc (m) de L échantillons et pour chaque dictionnaire vectoriel (k) sélectionné à l'égard de ce bloc, le vecteur optimal est sélectionné parmi les 2b(k) premiers vecteurs dudit dictionnaire sélectionné.
8. Procédé de décodage d'un flux binaire d'entrée pour synthétiser, en blocs successifs de L échantillons numériques, un signal audiofréquence codé par le flux binaire d'entrée, caractérisé en ce qu'on stocke P dictionnaires vectoriels (44) contenant chacun des vecteurs prédéterminés de N échantillons, le procédé comprenant les étapes suivantes
- pour chaque bloc de L échantillons du signal à synthétiser, sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels et allouer à chaque dictionnaire vectoriel sélectionné des bits de quantification vectorielle et des bits de quantification scalaire inclus dans le flux binaire d'entrée, sur la base d'indices d'allocation (Q) inclus dans le flux binaire d'entrée
- pour chaque bloc de L échantillons (m) et pour chaque dictionnaire vectoriel (k) sélectionné à l'égard de Ak ce bloc, calculer une contribution (wm) au signal de synthèse en multipliant un vecteur optimal par un gain associé, le vecteur optimal étant obtenu dans ledit dictionnaire vectoriel sélectionné au moyen d'un indice correspondant aux bits de quantification vectorielle alloués audit dictionnaire sélectionné dans le flux binaire d'entrée, et le gain associé étant obtenu à partir d'un indice dans un dictionnaire de gains, correspondant aux bits de quantification scalaire alloués audit dictionnaire sélectionné dans le flux binaire d'entrée ; et Ak
- combiner lesdites contributions calculées (wm) pour former le signal audiofréquence (x(n)).
9. Procédé selon la revendication 8, caractérisé en ce que la bande passante du signal audiofréquence est subdivisée en M sous-bandes, M étant un entier au plus égal au nombre P de dictionnaires vectoriels, et en ce que chacun des P dictionnaires vectoriels est associé à une sous-bande respective et contient des vecteurs de N échantillons représentant des signaux à bande étroite incluse dans la sous-bande associée audit dictionnaire vectoriel.
10. Procédé selon la revendication 8 ou 9, caractérisé en ce qu'on stocke en outre un dictionnaire vectoriel adaptatif (42) contenant des vecteurs de N échantillons constitués d'échantillons passés du signal de synthèse, le dictionnaire adaptatif étant sélectionné pour un bloc, et des bits de quantification lui étant alloués, lorsqu ' un bit (v) inclus dans le flux binaire d'entrée indique que ledit bloc est voisé.
11. Procédé selon l'une quelconque des revendications 8 à 10, caractérisé en ce que la longueur N des vecteurs des dictionnaires vectoriels est plus grande que la longueur L des blocs du signal audiofréquence.
12. Procédé selon la revendication 11, caractérisé en ce que la combinaison des contributions calculées pour former le signal audiofréquence comporte les étapes suivantes pour un bloc courant m
- calculer la somme (zm) des contributions (2m) calculées relativement aux dictionnaires vectoriels (k) sélectionnés à l'égard du bloc courant
- calculer le signal de synthèse sur le bloc courant selon
Figure img00250001
où x(mL+i) désigne l'échantillon du signal de synthèse à l'instant mL+i, i étant un entier tel que OSi < L, zm(i) désigne la composante i de la somme des contributions calculées pour le bloc m, et K désigne l'entier 1+E[(N-1)/L],
E[.] représentant la partie entière.
13. Codeur audiofréquence pour traiter un signal numérique audiofréquence en blocs successifs de L échantillons, caractérisé en ce qu'il comprend
- P dictionnaires vectoriels (44) contenant chacun des vecteurs prédéterminés de N échantillons
- des moyens (32,33) d'analyse du spectre du signal audiofréquence pour déterminer des indices d'allocation (Q);;
- des moyens (36) d'allocation de bits pour sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels pour chaque bloc de L échantillons, et allouer des bits de quantification vectorielle et des bits de quantification scalaire à chaque dictionnaire vectoriel sélectionné, en fonction desdits indices d'allocation
- des moyens d'analyse par synthèse (38, 50, 52) pour déterminer pour chaque bloc (m) de L échantillons et pour chaque dictionnaire vectoriel (k) sélectionné à l'égard de ce bloc, l'indice (q) d'un vecteur optimal dans ledit dictionnaire sélectionné et l'indice (ql) d'un gain associé dans un dictionnaire de gains (46), le vecteur optimal et le gain associé étant respectivement sélectionnés, par un processus d'analyse par synthèse, parmi 2b(k) vecteurs dudit dictionnaire sélectionné et parmi 2c(k) gains du dictionnaire de gains, b(k) et c(k) désignant respectivement le nombre de bits de quantification vectorielle et le nombre de bits de quantification scalaire alloués audit dictionnaire sélectionné par les moyens (36) d'allocation de bits ; et
- des moyens (54) pour former un flux binaire de sortie incluant les indices d'allocation et les indices des vecteurs optimaux et des gains associés.
14. Codeur selon la revendication 13, caractérisé en ce que la bande passante du signal audiofréquence est subdivisée en M sous-bandes, M étant un entier au plus égal au nombre P de dictionnaires vectoriels, et en ce que chacun des P dictionnaires vectoriels est associé à une sous-bande respective et contient des vecteurs de N échantillons représentant des signaux à bande étroite incluse dans la sous-bande associée audit dictionnaire vectoriel.
15. Codeur selon la revendication 13 ou 14, caractérisé en ce qu'il comprend en outre un dictionnaire vectoriel adaptatif (42) contenant des vecteurs de N échantillons constitués d'échantillons passés d'un signal de synthèse construits à partir des vecteurs optimaux et des gains associés précédemment déterminés, et un détecteur de voisement (34) pour détecter les blocs voisés du signal audiofréquence, les moyens d'allocation des bits (36) étant agencés pour sélectionner le dictionnaire adaptatif et lui allouer des bits de quantification pour chaque bloc détecté comme voisé par le détecteur de voisement.
16. Codeur selon l'une quelconque des revendications 13 à 15, caractérisé en ce que la longueur N des vecteurs des dictionnaires vectoriels est plus grande que la longueur L des blocs du signal audiofréquence, et en ce que les moyens d'analyse par synthèse comprennent des moyens (50) pour calculer des contributions (am-j) des vecteurs optimaux déterminés relativement aux E[(N-1)/L] blocs précédant un bloc courant (m), E[.] désignant la partie entière, un soustracteur (52) pour former un vecteur cible (Ym) de N échantillons en soustrayant d'un vecteur d'analyse (sm) de
N échantillons, correspondant aux L échantillons du bloc courant et aux N-L échantillons suivants, les contributions calculées pour lesdits moyens (50) de calcul des contributions, et des moyens de minimisation (38) pour sélectionner les vecteurs optimaux et les gains associés relativement aux dictionnaires vectoriels sélectionnés par les moyens d'allocation de bits (36) à l'égard du bloc courant de manière à minimiser une distance entre le vecteur cible (Ym) et la somme des vecteurs optimaux pondérés par leurs gains associés.
17. Décodeur audiofréquence pour synthétiser, en blocs successifs de L échantillons numériques, un signal audiofréquence codé par un flux binaire d'entrée, caractérisé en ce qu'il comprend
- P dictionnaires vectoriels (44) contenant chacun des vecteurs prédéterminés de N échantillons
- des moyens (56) d'allocation de bits pour sélectionner des dictionnaires vectoriels parmi les P dictionnaires vectoriels et allouer à chaque dictionnaire vectoriel sélectionné des bits de quantification vectorielle et des bits de quantification scalaire inclus dans le flux binaire d'entrée, sur la base d'indices d'allocation (Q) inclus dans le flux binaire d'entrée
- des moyens (58) pour calculer, pour chaque bloc (m) de L échantillons et pour chaque dictionnaire vectoriel (k) sélectionné à l'égard de ce bloc , une contribution (2m) au signal de synthèse en multipliant un vecteur optimal par un gain associé, le vecteur optimal étant obtenu dans ledit dictionnaire vectoriel sélectionné au moyen d'un indice correspondant aux bits de quantification vectorielle alloués audit dictionnaire sélectionné dans le flux binaire d'entrée, et le gain associé étant obtenu à partir d'un indice dans un dictionnaire de gains, correspondant aux bits de quantification scalaire alloués audit dictionnaire sélectionné dans le flux binaire d'entrée ; et
- des moyens (70,72) pour combiner lesdites contributions calculées (wu) de façon à former le signal audiofréquence (x(n)).
FR9509235A 1995-07-28 1995-07-28 Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes Expired - Fee Related FR2737360B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9509235A FR2737360B1 (fr) 1995-07-28 1995-07-28 Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9509235A FR2737360B1 (fr) 1995-07-28 1995-07-28 Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes

Publications (2)

Publication Number Publication Date
FR2737360A1 true FR2737360A1 (fr) 1997-01-31
FR2737360B1 FR2737360B1 (fr) 1997-10-10

Family

ID=9481509

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9509235A Expired - Fee Related FR2737360B1 (fr) 1995-07-28 1995-07-28 Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes

Country Status (1)

Country Link
FR (1) FR2737360B1 (fr)

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
COPPERI ET AL.: "16 kbit/s split-band APC coder using vector quantization and dynamic bit allocation", INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING 1986, 7 April 1986 (1986-04-07) - 11 April 1986 (1986-04-11), TOKYO, JP, pages 845 - 848 vol.2, XP002001885 *
COX ET AL.: "New directions in subband coding", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 6, no. 2, February 1988 (1988-02-01), US, pages 391 - 409, XP002001884 *
DAVID ET AL.: "Multiband-excited linear predictive coder with a two-sided short-term predictor", SIGNAL PROCESSING, vol. 25, no. 1, October 1991 (1991-10-01), NL, pages 69 - 80, XP002001888 *
LANGLAIS ET AL.: "Implementation and evaluation of a 16 Kb/s speech signal encoding algorithm for a digital radiotelephone equipment", ONZIEME COLLOQUE SUR LE TRAITEMENT DU SIGNAL ET DES IMAGES, 1 June 1987 (1987-06-01) - 5 June 1987 (1987-06-05), NICE, FR, pages 459 - 462, XP002001883 *
MCAULAY ET AL.: "The application of subband coding to improve quality and robustness of the sinusoidal transform coder", INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING 1993, vol. 2, 27 April 1993 (1993-04-27) - 30 April 1993 (1993-04-30), MINNEAPOLIS, MN, US, pages 439 - 442, XP002001887 *
MCAULAY ET AL.: "The sinusoidal transform coder at 2400 b/s", MILCOM '92 - 'COMMUNICATIONS - FUSING COMMAND, CONTROL AND INTELLIGENCE', vol. 1, 11 October 1992 (1992-10-11) - 14 October 1992 (1992-10-14), SAN DIEGO, CA, US, pages 378 - 380, XP002001886 *
MCCOURT ET AL.: "Transform coding at 4.8 kbits/sec using interleaving of transform frames and dual gain-shape vector quantisation", INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING 1993, vol. 2, 27 April 1993 (1993-04-27) - 30 April 1993 (1993-04-30), MINNEAPOLIS, MN, US, pages 624 - 627, XP000427867 *
YONG ET AL.: "Subband vector excitation coding with adaptive bit-allocation", INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING 1989, vol. 2, 23 May 1989 (1989-05-23) - 26 May 1989 (1989-05-26), GLASGOW, UK, pages 743 - 746, XP002001889 *

Also Published As

Publication number Publication date
FR2737360B1 (fr) 1997-10-10

Similar Documents

Publication Publication Date Title
EP2366177B1 (fr) Codage de signal audionumerique avec mise en forme du bruit dans un codeur hierarchique
EP1989706B1 (fr) Dispositif de ponderation perceptuelle en codage/decodage audio
CA2512179C (fr) Procede de codage et de decodage audio a debit variable
EP2452337B1 (fr) Allocation de bits dans un codage/décodage d&#39;amélioration d&#39;un codage/décodage hiérarchique de signaux audionumériques
EP1692689B1 (fr) Procede de codage multiple optimise
EP1905010A2 (fr) Dispositif de codage/decodage hierarchique
FR2742568A1 (fr) Procede d&#39;analyse par prediction lineaire d&#39;un signal audiofrequence, et procedes de codage et de decodage d&#39;un signal audiofrequence en comportant application
EP2452336B1 (fr) Codage/décodage perfectionne de signaux audionumériques
EP3175443B1 (fr) Détermination d&#39;un budget de codage d&#39;une trame de transition lpd/fd
EP2005424A2 (fr) Procede de post-traitement d&#39;un signal dans un decodeur audio
EP2171713B1 (fr) Codage de signaux audionumériques
FR2737360A1 (fr) Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes
EP1192619B1 (fr) Codage et decodage audio par interpolation
WO2011144863A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
EP1192621B1 (fr) Codage audio avec composants harmoniques
EP1192618B1 (fr) Codage audio avec liftrage adaptif
EP1194923B1 (fr) Procedes et dispositifs d&#39;analyse et de synthese audio
EP1192620A1 (fr) Codage et decodage audio incluant des composantes non harmoniques du signal
FR2987931A1 (fr) Modification des caracteristiques spectrales d&#39;un filtre de prediction lineaire d&#39;un signal audionumerique represente par ses coefficients lsf ou isf.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20130329