CA2512179C - Procede de codage et de decodage audio a debit variable - Google Patents

Procede de codage et de decodage audio a debit variable Download PDF

Info

Publication number
CA2512179C
CA2512179C CA2512179A CA2512179A CA2512179C CA 2512179 C CA2512179 C CA 2512179C CA 2512179 A CA2512179 A CA 2512179A CA 2512179 A CA2512179 A CA 2512179A CA 2512179 C CA2512179 C CA 2512179C
Authority
CA
Canada
Prior art keywords
parameters
bits
coding
subset
signal
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.)
Expired - Lifetime
Application number
CA2512179A
Other languages
English (en)
Other versions
CA2512179A1 (fr
Inventor
Balazs Kovesi
Dominique Massaloux
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
Publication of CA2512179A1 publication Critical patent/CA2512179A1/fr
Application granted granted Critical
Publication of CA2512179C publication Critical patent/CA2512179C/fr
Anticipated expiration legal-status Critical
Expired - Lifetime 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes

Abstract

Un maximum de Nmax bits de codage est défini pour un ensemble de paramètres calculables d'après une trame de signal. Les paramètres d'un premier sous-ensemble sont calculés et codés sur N0 bits, avec N0 < Nmax. On détermine une allocation de Nmax - N0 bits de codage pour les paramètres d'un second sous-ensemble, et on classe les bits de codage alloués aux paramètres du second sous-ensemble. On détermine l'allocation et/ou l'ordre de classement des bits de codage en fonction des paramètres codés du premier sous-ensemble. Pour un total de N bits disponibles pour le codage de l'ensemble de paramètres (N0 < N <= Nmax), on sélectionne les paramètres du second sous-ensemble auxquels sont alloués les N - N0 bits de codage classés les premiers dans ledit ordre. Ces paramètres sélectionnés sont calculés et codés pour produire les N - N0 bits. Les N0 bits de codage du premier sous-ensemble et les N - N0 bits de codage des paramètres sélectionnés du second sous-ensemble sont finalement insérés dans la séquence de sortie du codeur.

Description

PROCEDE DE CODAGE ET DE DECODAGE AUDIO A DEBIT VARIABLE
La présente invention concerne les dispositifs de codage et décodage des signaux audto, destinés notamment à prendre place dans des applications de transmission ou de stockage des signaux audio (parole et/ou sons) numérisés et compressés.
Plus particulièrement, cette invention est relative aux systèmes de codage audio ayant la capacité de fournir des débits variés, encore appelés systèmes de codage multidébit. De tels systèmes se distinguent des codeurs à
débit fixe par leur capacité à modifier le débit du codage, éventuellement en cours de traitement, ce qui est particulièrement adapté à la transmission sur réseaux à accès hétérogènes: qu'il s'agisse de réseaux de type IP mélangeant des accès fixes et mobiles, hauts débits (ADSL), bas débits (modems RTC, GPRS) ou faisant intervenir des terminaux de capacités variables (mobiles, PC, On distingue essentiellement deux catégories de codeurs multidébit:
celle des codeurs multidébit "commutables" et celle des çodeurs "hiérarchiques".
Les codeurs multidébit "commutables" reposent sur une structure de codage appartenant à une famille technologique (codage temporel, ou 2o fréquentiel, par exemple : CELP, sinusoïdal, ou par transformée), dans laquelle une indication de débit est simultanément fournie au codeur et au décodeur. Le codeur utilise cette information pour sélectionner les parties de l'algorithme et les tables pertinentes pour le débit choisi. Le décodeur opère de manière symétrique. De nombreuses structures de codage multidébit commutables ont ëtè proposées pour le codage audio. C'est le cas par exemple des codeurs mobiles normalisés par l'organisation 3GPP ("3rd Generation Partnership Project"), le NB-AMR ("Narrow Band Adaptive Multi-Rate", Spécification Technique 3GPP TS 26.090, version 5Ø0, juin 2002) en bande téléphonique, ou le WB-AMR ("Wide Band Adaptive Multi-Rate", Spécification Technique 3GPP TS 26.190, version 5.1.0, décembre 2001 ) en bande élargie. Ces codeurs opèrent sur d'assez larges plages de débits (4,75 à 12,2 kbit/s pour le
2 NB-AMR, et 6,60 à 23,85 kbit/s pour le WB-AMR), avec une granularité assez importante (8 débits pour le NB-AMR et 9 pour le WB-AMR). Cependant, le prix à payer pour cette flexibilité est une complexité de structure assez conséquente: pour parvenir à héberger tous ces débits, ces codeurs doivent supporter de nombreuses options différentes, des tables de quantification variées etc. La courbe des performances augmente progressivement avec le débit, mais la progression n'est pas linéaire et certains débits sont par essence mieux optimisés que d'autres.
Dans les systèmes de codage dits "hiérarchiques", encore appelés "scalables", les données binaires issues de l'opération de codage se répartissent en couches successives. Une coùche de base, encore appelée "noyau", est formée des éléments binaires absolument nécessaires au décodage du train binaire, et déterminant une qualité minimum de décodage.
Les couches suivantes permettent d'amëliorer progressivemént la 15 qualité du signal issu de l'opération de décodage, chaque nouvelle couche amenant de nouvelles informations, qui, exploitées par le décodeur, fournissent en sortie un signal de qualité croissante.
L'une des particularités du codage hiérarchique est la possibilité offerte d'intervenir à n'importe quel niveau de la chaine de transmission ou de 2o stockage pour supprimer une partie du train binaire sans devoir fournir d'indication particulière au codeur ni au décodeur. Le décodeur utilise les informations binaires qu'il reçoit et produit un signal de qualité
correspondante.
Le domaine des structures de codage hiérarchiques a donné lieu également à de nombreux travaux. Certaines structures de codage 2s hiérarchiques fonctionnent à partir d'un seul de type de codeur, conçu pour délivrer des informations codées hiérarchisées. Lorsque les couches supplémentaires améliorent la qualité du signal de sortie sans modifier la bande passante, on parle plutôt de "codeurs imbriqués" (voir par exemple R.D.
lacovo et al., "Embedded CELP Coding for Variable Bit-Rate Between 6.4 and so 9.6 kbit/s", Proc. ICASSP 1991, pp. 68.1-686). Ce type de codeurs ne permet cependant pas de grands écarts entre le plus bas et le plus haut débit
3 proposés.
La hiérarchie est souvent utilisée pour augmenter progressivement la bande passante du signal : le noyau fournit un signal en bande de base, par exemple téléphonique (300-3400 Hz), et les couches suivantes permettent le codage de bandes fréquentielles supplémentaires (par exemple, bande élargie jusqu'à 7 kHz, bande HiFi jusqu'à 20 kHz ou intermédiaires, ...). Les codeurs en sous-bandes ou les codeurs utilisant une transformation temps-fréquence tels que décrit dans les documents "Subband/transform coding using filter banks designs based on time domain aliasing cancellation" de J.P. Princen et al. (Pros. IEEE ICASSP-87, pp. 2161-2164) et "High Quality Audio Transform Coding at 64 kbit/s", de Y. Mahieux et al. (IEEE Trans. Commun, Vol. 42, No.
11, novembre 1994, pp. 3010-3019), se prêtent particulièrement à de telles opérations.
II est d'autre part fréquent d'utiliser une technique de codage différente pour le noyau et pour le ou les modules codant les couches supplémentaires, on parle alors de différents étages de codage, chaque étage étant constitué
d'un sous-codeur. Le sous-codeur de l'étage d'un niveau donné pourra soit coder des parties du signal non codées par les étages précédents, soit coder le résidu de codage de l'étage précédent, le résidu est obtenu en soustrayant le 2o signal décodé au signal original.
L'avantage de telles structures est qu'elles permettent de descendre à
des débits relativement bas avec une qualité suffisante, tout en produisant une bonne qualité à haut débit. En effet, les techniques utilisées pour les bas débits ne sont généralement pas efficaces aux hauts débits et inversement.
De telles structures permettant d'utiliser deux technologies différentes (par exemple CELP et transformée temps-fréquence, ...) sont particulièrement efficaces pour balayer de grandes plages de débits.
Cependant, les structures de codage hiérarchiques proposées dans l'art antérieur définissent précisément le débit attribué à chacune des couches 3o intermédiaires. Chaque couche correspond à l'encodage de certains paramètres, et la granularité du train binaire hiérarchique dépend du débit
4 attribué à ces paramètres (typiquement une couche peut contenir de l'ordre de quelques dizaines de bits par trame, une trame de signal étant constituée d'un certain nombre d'échantillons du signal sur une durée donnée, l'exemple décrit plus loin considérant une trame de 960 échantillons correspondant à 60 ms de signal).
De plus, lorsque la bande passante des signaux décodés peut varier selon le niveau des couches d'éléments binaires, la modification du débit en ligne peut produire des artefacts gênants lors de l'écoute.
La présente invention a notamment pour but de proposer une solution de codage multidébit qui pallie les inconvénients cités dans le cas de l'utilisation des codages commutables et hiérarchiques existants.
L'invention propose ainsi un procédé de codage d'une trame de signal audio numérique en une séquence binaire de sortie, dans lequel un nombre maximum Nmax de bits de codage est défini pour un ensemble de paramètres calculables d'après la trame de signal, composé d'un premier et d'un second sous-ensembles. Le procédé proposé comprend les étapes suivantes:
- on calcule les paramètres du premier sous-ensemble, et on code ces paramètres sur un nombre NO de bits de codage tel que NO < Nmax;
- on détermine une allocation de Nmax - NO bits de codage pour les 2o paramètres du second sous-ensemble; et - on classe les Nmax - NO bits de codage alloués aux paramètres du second sous-ensemble dans un ordre déterminé.
L'allocation et/ou l'ordre de classement des Nmax - NO bits de codage sont déterminés en fonction des paramètres codés du premier sous-ensemble. Le procédé de codage comprend en outre les étapes suivantes en réponse à
l'indication d'un nombre N de bits de la séquence binaire de sortie disponibles pour ie codage dudit ensemble de paramètres, avec NO < N s Nmax:
- on sélectionne les paramètres du second sous-ensemble auxquels sont alloués les N - NO bits de codage classës les premiers dans ledit ordre;

- on calcule les paramètres sélectionnés du second sous-ensemble; et on code ces paramètres pour produire les N - NO bits de codage classés les premiers; et - on insère dans la séquence de sortie les NO bits de codage du premier
5 sous-ensemble ainsi que les N - NO bits de codage des paramètres sélectionnés du second sous-ensemble.
Le procédé selon l'invention permet de définir un codage multidébit, qui fonctionnera au moins dans une plage correspondant pour chaque trame à un nombre de bits allant de NO à Nmax.
On peut ainsi considérer que la notion de débits pré-établis qui est liée aux codages commutables et hiérarchiques existants est remplacée par une notion de "curseur", permettant de faire varier librement le dëbit entre une valeur minimale (pouvant éventuellement correspondre à un nombre de bits N
inférieur à NO) et une valeur maximale (correspondant à Nmax). Ces valeurs ~5 extrêmes sont potentiellement éloignées. Le procédé offre de bonnes performances en terme d'efficacité de codage quel que soit le débit choisi.
Avantageusement, le nombre N de bits de la séquence binaire de sortie est strictement inférieur à Nmax. Le codeur à alors ceci de remarquable que l'allocation des bits employée ne fait pas référence au débit de sortie 2o effectif du codeur, mais â un autre nombre Nmax convenu avec le décodeur.
II est cependant possible de fixer Nmax = N en fonction du débit instantané disponible sur un canal de transmission. La séquence de sortie d'un tel codeur multidébit commutable pourra être traitée par un décodeur qui ne recevrait pas la totalité de la séquence, dès lors qu'il est capable de retrouver 25 la structure des bits de codage du second sous-ensemble grâce à la connaissance de Nmax.
Un autre cas où on peut avoir N = Nmax est celui du stockage de données audio au débit de codage maximum. Lors d'une lecture de N' bits de ce contenu stocké à débit plus faible, le décodeur sera capable de retrouver la 3o structure des bits de codage du second sous-ensemble dès lors que N' ? N0.
6 PCT/FR2003/003870 L'ordre de classement des bits de codage alloués aux .paramètres du second sous-ensemble peut être un ordre préétabli.
Dans un mode de réalisation préféré, l'ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est variable. II peut notamment être un ordre d'importance décroissante déterminé en fonction d'au moins les paramètres codés du premier sous-ensemble. Ainsi le décodeur qui recevra une séquence binaire de N' bits pour la trame, avec NO s N' s N < Nmax, pourra déduire cet ordre des NO bits reçus pour le codage du premier sous-ensemble.
1o L'allocation des Nmax - NO bits au codage des paramètres du second sous-ensemble peut être réalisée de façon fixe (dans ce cas, l'ordre de classement de ces bits sera fonction au moins des paramètres codés du premier sous-ensemble).
Dans un mode de réalisation préféré, l'allocation des Nmax - NO bits ~5 au codage des paramètres du second sous-ensemble est une fonction des paramètres codés du premier sous-ensemble.
Avantageusement, cet ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est déterminé à l'aide d'au moins un critère psychoacoustique en fonction des paramètres codés du premier sous-2o ensemble.
Les paramètres du second sous-ensemble peuvent se rapporter à des bandes spectrales du signal. Dans ce cas, le procédé comprend avantageusement une étape d'estimation d'une enveloppe spectrale du signal codé à partir des paramètres codés du premier sous-ensemble et une étape de 25 calcul d'une courbe de masquage fréquentiel en appliquant un modèle de perception auditive à l'enveloppe spectrale estimée, et le critère psychoacoustique fait référence au niveau de l'enveloppe spectrale estimée par rapport à la courbe de masquage dans chaque bande spectrale.
Dans un mode de mise en oeuvre, on ordonne les bits de codage dans so la séquence de sortie de telle sorte que les NO bits de codage du premier sous-
7 ensemble précèdent les N - NO bits de codage des paramètres sélectionnés du second sous-ensemble et que les bits de codage respectifs des paramètres sélectionnés du second sous-ensemble y apparaissent dans l'ordre déterminé
pour lesdits bits de codage. Cela permet, au cas où la séquence binaire serait tronquée, de recevoir la partie la plus importante.
Le nombre N peut varier d'une trame à une autre, notamment en fonction par exemple de la capacité disponible de la ressource de transmission:
Le codage audio à multidébits selon la présente invention pourra être utilisé selon un mode commutable ou hiérarchique très flexible, puisque un nombre quelconque de bits à transmettre choisi librement entre NO et Nmax .peut être sélectionné à tout moment, c'est-à-dire trame par trame.
Le codage des paramètres du premier sous-ensemble peut être à débit variable, ce qui fait varier le nombre NO d'une trame à une autre. Cela permet d'ajuster au mïeux la répartition des bits en fonction des trames à coder.
Dans un mode de mise en eeuvre, le premier sous-ensemble comprend des paramètres calculés par un noyau codeur. Avantageusement le noyau codeur a une bande de fréquences de fonctionnement inférieure à la bande passante du signal à cbder, et le premier sous-ensemble comprend en outre des niveaux énergétiques du signal audio associés à des bandes de 2o fréquences supérieures à la bande de fonctionnement du noyau codeur. Ce type de structure est celui d'un codeur hiérarchique à deux niveaux, qui délivre par exemple via le noyau codeur un signal codé d'une qualité jugé suffisante et qui en fonction du débit disponible, complète le codage effectué par le noyau codeur par des informations supplémentaires issues du procédé de codage selon l'invention.
De préférence, on ordonne alors les bits de codage du premier sous-ensemble dans la séquence de sortie de telle sorte que les bits de codage des paramètres calculés par le noyau codeur soient immédiatement suivis par les bits de codage des niveaux énergétiques associés aux bandes de fréquences 3o supérieures. Ceci assure une même bande passante aux trames successivement codées dès lors que le décodeur reçoit suffisamment de bits pour disposer des informations du noyau codeur et des niveaux énergétiques codés associés aux bandes de fréquences supérieures.
Dans un mode de mise en oeuvre, on estime un signal de différence entre le signal à coder et un signal de synthèse dérivé des paramètres codés produits par le noyau codeur, et le premier sous-ensemble comprend en outre des niveaux énergétiques du signal de différence associés à des bandes de fréquences incluses dans la bande de fonctionnement du noyau codeur.
Un deuxième aspect de l'invention se rapporte à un procédé de décodage d'une séquence binaire d'entrée pour synthétiser un signal audio numérique correspondant au décodage d'une trame codée selon le procédé de codage de l'invention. Selon ce procédé, un nombre maximum Nmax de bits de codage est défini pour un ensemble de paramètres de description d'une trame de signai, composé d'un premier et d'un second sous-ensembles. La séquence d'entrée comprend, pour une trame de signal, un nombre N' de bits de codage de l'ensemble de paramétres, avec N' <_ Nmax. Le procédé de décodage selon l'invention comprend les étapes suivantes:
- on extrait, desdits N' bits de la séquence d'entrée, un nombre NO de bits de codage des paramètres du premier sous-ensemble, si NO < N';
- on récupère les paramètres du premier sous-ensemble sur la base desdits NO bits de codage extraits;
on détermine une allocation de Nmax - NO bits de codage pour les paramètres du second sous-ensemble; et - on classe les Nmax - NO bits de codage alloués aux paramètres du secônd sous-ensemble dans un ordre déterminé.
L'allocation et/ou l'ordre de classement des Nmax - NO bits de codage sont déterminés en fonction des paramètres récupérés du premier sous-ensemble.
Le procédé de décodage comprend en outre !es étapes suivantes:
- on sélectionne les paramètres du second sous-ensemble auxquels sont so alloués les N' - NO bits de codage classés les premiers dans ledit ordre;

- on extrait, desdits N' bits de la séquence d'entrée, N' - NO bits de codage des paramètres sélectionnés du second sous-ensemble;
- on récupère les paramètres sélectionnés du second sous-ensemble sur la base desdits N' - NO bits de codage extraits; et - on synthétise la trame de signal en utilisant les paramètres récupérés des premier et second sous-ensembles.
Ce procédé de décodage est avantageusement associé à des méthodes de régénération des paramètres qui manquent du fait de la troncature de la séquence de Nmax bits produite, virtuellement ou non, par le 1o codeur.
Un troisième aspect de l'invention se rapporte à un codéur audio, comprenant des moyens de traitement de signal numérique agencés pour mettre en oeuvre un procédé de codage selon l'invention.
Un autre aspect de l'invention se rapporte à un décodeur audio, ~5 comprenant des moyens de traitement de signal numérique agencés pour mettre en eeuvre un procédé de décodage selon l'invention.
D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisatibn non limitatifs, en référence aux dessins annexés, dans lesquels 20 - la figure 1 est un schéma synoptique d'un exemple de codeur audio selon l'invention;
- la figure 2 représente une séquence binaire de sortie de N bits dans un mode de réalisation de l'invention; et - la figure 3 est un schéma synoptique d'un décodeur audio selon 25 l'invention.
Le codeur représenté sur la figure 1 a une structure hiérarchique à
deux étages de codage.. Un premier étage de codage 1 consiste par exemple en un noyau codeur en bande téléphonique (300-3400 Hz) de type CELP. Ce codeur est dans l'exemple considéré un codeur 6.723.1 normalisé par l'ITU-T
so ("International Telecommunication Union") en mode fixe à 6,4 lcbit/s. ll calcule des paramètres 6.723.1 conformément à la norme et les quantifie au moyen de 192 bits de codage P1 par trame de 30 ms.
Le deuxième étage de codage 2, permettant d'augmenter la bande passante vers la bande élargie (50-7000 Hz), opère sur le résidu de codage E
5 du premier étage, fourni par un soustracteur 3 dans le schéma de la figure 1.
Un module de synchronisation de signaux 4 retarde la trame de signal audio S
du temps pris par le traitement du noyau codeur 1. Sa sortie est adressée au soustracteur 3 qui lui soustrait le signal synthétique S' égal à la sortie du noyau décodeur opérant sur la base des paramètres quantifiés tels que représentés par les bits de sortie P1 du noyau codeur. Ainsi qu'if est usuel, le codeur 1 incorpore un décodeur local fournissant S'.
Le signal audio à coder S a par exemple une bande passante de 7 kHz, en étant échantillonné à 16 kHz. Une trame consiste par exemple en 960 échantillons, soit 60 ms de signal ou deux trames élémentaires du noyau codeur 6.723.1. Comme ce dernier opère sur des signaux échantillonnés à
8 kHz, le signal S est sous-échantillonné dans un facteur 2 à l'entrée du noyau codeur 1. De même, le signal synthétique S' est sur-échantillonné à 16 kHz en sortie du noyau codeur 1.
Le débit du premier étage 1 est de 6,4 kbit/s (2 ~ N1 = 2 X 192 = 384 2o bits par trame). Si le codeur a un débit maximum de 32 kbit/s (Nmax = 1920 bits par trame), le débit maximum du deuxième étage est de 25,6 kbit/s (1920 - 384 = 1536 bits par trame). Le deuxième étage 2 fonctionne par exemple sur des trames élémentaires, ou sous-trames, de 20 ms (320 échantillons à 16 kHz).
Le deuxième étage 2 comprend un module 5 de transformation temps-fréquence, par exemple de type MDCT ("Modified Discrete Cosine Transform") auquel est adressé le résidu E obtenu par le soustracteur 3. En pratique, le fonctionnement des modules 3 et 5 représentés sur la figure 1 peut être réalisé
en effectuant les opérations suivantes pour chaque sous-trame de 20 ms:

- transformation MDCT du signal d'entrée S retardé par le module .4, qui fournit 320 coefficients MDCT. Le spectre étant limité à 7225 Hz, seuls les 289 premiers coefficients MDCT sont différents de 0;
- transformation MDCT du signal synthétique S'. Comme il s'agit du spectre d'un signal à bande téléphonique, seuls tes 139 premiers coefficients MDCT sont différents de 0 (jusqu'à 3450 Hz); et - calcul du spectre de différence entre les spectres précédents.
Le spectre résultant est distribué en plusieurs bandes de largeurs différentes par un module 6. A titre d'exemple, la bande passante du codec 6.723.1 peut être subdivisée en 21 bandes tandis que les fréquences plus élevées sont réparties en 11 bandes supplémentaires. Dans ces 11 bandes supplémentaires, le résidu E est identique au signal d'entrée S.
Un module 7 effectue le codage de l'enveloppe spectrale du résidu E. II
commence par calculer l'énergie des coefficients MDCT de chaque bande du ~5 spectre de différence. Ces énergies sont ci-après appelées "facteurs d'échelle".
Les 32 facteurs d'échelle constituent l'enveloppe spectrale du signal de différence. Le module 7 procède alors à leur quantification en deux parties.
La première partie correspond à la bande téléphonique (21 premières bandes, de 0 à 3450 Hz), la deuxième aux bandes hautes (11 dernières bandes, de 3450 à
20 7225 Hz). Dans chaque partie, le premier facteur d'échelle est quantifié en absolu, et les suivants en différentiel, en utilisant un codage classique de Huffman à débit variable. Ces 32 facteurs d'échelle sont quantifiés sur un nombre variable N2(i) de bits P2 pour chaque sous-trame de rang i (i = 1, 2, 3).
Les facteurs d'échelles quantifiés sont notés FQ sur la figure 1. Les bits 25 de quantification P1, P2 du premier sous-ensemble constitué des paramètres quantifiés du noyau codeur 1 et des facteurs d'échelles quantifiés FQ sont en un nombre variable NO = (2 X N1) + N2(1) + N2(2) + N2(3). La différence Nmax - NO = 1536 - N2(1 ) - N2(2) - N2(3) est disponible pour qùantifier plus finement les spectres des bandes.
3o Un module 8 normalise les coefficients MDCT répartis en bandes par le module 6, . en les divisant par les facteurs d'échelle quantifiés FQ

respectivement déterminés pour ces bandes. Les spectres ainsi normalisés sont fournis au module de quantification 9 qui utilise un schéma de quantification vectorielle de type connu. Les bits de quantification issus du module 9 sont notés P3 sur la figure 1.
Un multiplexeur de sortie 10 rassemble les bits P1, P2 et P3 issus des modules 1, 7 et 9 pour former la séquence binaire d~ de sortie du codeur.
Conformément à l'invention, fe nombre total de bits N de la séquence de sortie représentant une trame courante n'est pas nécessairement égal à
Nmax. II peut lui être inférieur. Cependant, l'allocation des bïts de quantification aux bandes est effectuée en se fondant sur le nombre Nmax.
Dans le schéma de la figure 1, cette allocation est effectuée pour chaque sous-trame par le module 12 à partir du nombre Nmax - N0, des facteurs d'échelle quantifiés FQ et d'une courbe de masquage spectral calculée par un module 11.
~5 Le fonctionnement de ce dernier module 11 est le suivant. II détermine d'abord une valeur approchée de l'enveloppe spectrale originale du signal S à
partir de celle du signal de différence, telle que quantifiée par le module 7, et de celle qu'il détermine avec la même résolution pour le signal synthétique S' résultant du noyau codeur. Ces deux dernières enveloppes sont également 2o déterminables par un décodeur qui ne disposerait que des paramètres du premier sous-ensemble précité. Ainsi l'enveloppe spectrale estimée du signal S
sera aussi disponible au décodeur. Ensuite, Ie module 11 calcule une courbe de masquage spectral en appliquant, de façon connue en soi, un modèle de perception auditive bande par bande à l'enveloppe spectrale originale estimée.
2s Cette courbe 11 donne un niveau de masquage pour chaque bande considérée.
Le module 12 réalise une allocation dynamique des Nmax - NO bits restants de la séquence ~ parmi les 3 ~ 32 bandes des trois transformations MDCT du signal de différence. Dans la mise en oeuvre de l'invention ici 3o exposée, en fonction d'un critère d'importance perceptuelle psychacoustique faisant référence au niveau de l'enveloppe spectrale estimée par rapport à la courbe de masquage dans chaque bande, on alloue à chaque bande un débit proportionnel à ce niveau. D'autres critères de classement seraient utilisables.
A la suite de cette allocation de bits, le module 9 sait combien de bits sont à considérer pour la quantification de chaque bande dans chaque sous trame.
Néanmoins, si N < Nmax, ces bits alloués ne seront pas nécessairement tous utilisés. lJn ordonnancement des bits représentant les bandes est effectué par un module 13 en fonction d'un critère d'importance 1o perceptuelle. Le module 13 classe les 3 ~ 32 bandes dans un ordre d'importance décroissante qui peut être l'ordre décroissant des rapports signal-à-masque (rapport entre l'enveloppe spectrale estimée et la courbe de masquage dans chaque bande). Cet ordre est utilisé pour la construction de la séquence binaire ~ conformément à l'invention.
En fonction du nombre N de bits voulu dans la séquence ~ pour le codage de la trame courante, on détermine les bandes qui sont à quantifier par le module 9 en sélectionnant les bandes classées les premières par le module 13 et en retenant pour chaque bande sélectionnée un nombre de bits tels que déterminé par le module 12.
2o Puis les coefficients MDCT de chaque bande sélectionnée sont quantifiés par le module 9, par exemple à l'aide d'un quantificateur vectoriel, conformément au nombre de bits alloué, pour produire un nombre de bits total égal à N - N0.
Le multiplexeur de sortie 10 constitue la séquence binaire ~ constitués des N premiers bits de la séquence ordonnée suivante représentée sur la figure 2 (cas N = Nmax):
a/ d'abord les trains binaires correspondant aux deux trames 6.723.1 (384 bits);

b/ puis les bits F22 , ..., F32 de quantification des facteurs d'échelle; pour les trois sous trames (i = 1, 2, 3), de la 22ème bande spectrale (première bande au-delà ia bande téléphonique) à ta 32ème bande (codage de Huffman à débit variable);
cl puis les bits F~~~, ..., F2~~ de quantification des facteurs d'échelle, pour les trois sous trames (i = 1, 2, 3), de la 1 ère bande spectralé à la 21 ème bande (codage de Huffman à débit variable);
dl et enfin les indices M~~, M~~, ..., Mc96 de quantification vectorielle des 96 bandes par ordre d'importance perceptuelle, de la bande ia plus importante à la bande la moins importante, en respectant l'ordre déterminé par le module 13.
Le fait de placer en premier (a et b) les paramètres 6.723.1 et les facteurs d'échelle des bandes hautes permet de conserver la même bande passante pour le signal restituable par le décodeur quel que soit le débit effectif ~5 au delà d'une valeur minimale correspondant à la réception de ces groupes a et b. Cette valeur minimale, suffisante pour le codage de Huffman des 3 x 11 = 33 facteurs d'échelle des bandes hautes en plus du codage 6.723.1, est par exemple de 8 kbit/s.
Le procédé de codage ci-dessus permet un décodage de la trame si le 2o décodeur reçoit N' bits avec NO <_ N' <_ N. Ce nombre N' sera généralement variable d'une trame à une autre.
Un décodeur selon l'invention, correspondant à cet exemple, est illustré
par la figure 3. Un démultiplexeur 20 sépare la séquence de bits reçus ~' pour en extraire les bits de codage P1 et P2. Les 384 bits P1 sont fournis au noyau 25 décodeur 21 de type 6.723.1 pour que celui-ci synthétise deux trames du signal de base S' en bande téléphonique. Les bits P2 sont décodés selon l'algorithme de Huffman par un module 22 qui récupère ainsi les facteurs d'échelles quantifiés FQ pour chacune des 3 sous-trames.
Un module 23 de calcul de la courbe de masquage, identique à celui 11 du codeur de la figure 1, reçoit le signal de base S' et les facteurs d'échelles quantifiés FQ et produit les niveaux de masquage spectral pour chacune des 96 bandes. A partir de ces niveaux de masquage, des facteurs d'échelles quantifiés FQ et de la connaissance du nombre Nmax (ainsi que de celle du nombre NO qui se déduit du décodage de Huffman des bits P2 par le module 22), un module 24 détermine une allocation de bits de la même manière que le module 12 de la figure 1. En outre, un module 25 procède à l'ordonnancement des bandes selon le même critère de classement que le module 13 décrit en référence à la figure 1.
D'après les informations fournies par les modules 24 et 25, le module 26 extrait les bits P3 de la séquence d'entrée ~' et synthétise les coefficients MDCT normalisés relatifs aux bandes représentées dans la séquence ~'. Le cas échéant (N' < Nmax), les coefficients MDCT normalisés relatifs aux bandes manquantes peuvent en outre être synthétisés par interpolation ou 15 extrapolation comme décrit plus loin (module 27). Ces bandes manquantes peuvent avoir été éliminées par le codeur du fait d'une troncature à N < Nmax, ou elles peuvent avoir été éliminées en cours de transmission (N' < N) Les coefficients MDCT normalisés, synthétisés par le module 26 et/ou le module 27, sont multipliés par leurs facteurs d'échelle quantifiés respectifs (multiplieur 28) avant d'étre présentés au module 29 qui effectue la transformation fréquence-temps inverse de la transformation MDCT opérée par le module 5 du codeur. Le signal temporel de correction qui en résulte est additionné au signal synthétique S' délivré par le noyau décodeur 21 (additionneur 30) pour produire le signal audio de sortie S du décodeur.
2s II est à noter que le décodeur pourra synthétiser un signal S même dans des cas où il ne reçoit pas !es NO premiers bits de la séquence.
II lui suffit de recevoir les 2 x N1 bits correspondant à la partie a de l'énumération ci-dessus, le décodage étant alors dans un mode "dégradé".
Seul ce mode dégradé n'utilise pas la synthèse MDCT pour obtenir le signal 3o décodé. Pour assurer la commutation sans rupture entre ce mode et les autres modes, le décodeur effectue trois analyses MDCT suivies par trois synthèses MDCT, permettant la mise à jour des mémoires de la transformation MDCT. Le signal de sortie contient un signal de qualité bande téléphonique. Si les 2 x premiers bits ne sont même pas reçus, le décodeur considère la trame correspondante comme effacée et peut utiliser un algorithme connu de dissimulation des trames effacées.
Si le décodeur reçoit les 2 X N1 bits correspondant à la partie a plus des bits de la partie b (bandes hautes des trois enveloppes spectrales), il peut commencer à synthétiser un signal en bande élargie. II peut notamment procéder comme suit.
1/ Le module 22 récupère les parties des trois enveloppes spectrales reçues.
2l Les bandes non reçues ont leurs facteurs d'échelle temporairement mis à zéro.
3/ Les parties basses des enveloppes spectrales sont calculées à partir des analyses MDCT effectuées sur le signal obtenu après le décodage 6.723.1, et le module 23 calcule les trois courbes de masquage sur les enveloppes ainsi obtenues.
4/ L'enveloppe spectrale est corrigée pour la régulariser en évitant les 2o trous dus aux bandes non reçues: les valeurs nulles dans la partie haute des enveloppes spectrales FQ sont par exemple remplacées par le centième de la valeur de la courbe de masquage calculée précédemment, de telle sorte qu'elles restent inaudibles. Le spectre complet des bandes basses et l'enveloppe spectrale des bandes hautes sont connus à ce stade.
5/ Le module 27 génère alors le spectre haut. La structure fine de ces bandes est générée par réflexion de la structure fine de son voisinage connu avant pondération par les facteurs d'échelle (multiplieurs 2$).
Dans le cas où aucun des bits P3 n'est reçu, le "voisinage connu"
so correspond au spectre du signal S' produit par le noyau décodeur 6.723.1. Sa "réflexion" peut consister à recopier la valeur du spectre MDCT normalisé, avec éventuellement une atténuation de ses variations proportionnelle à l'éloignement de ce "voisinage connu".
6/ Après transformation MDCT inverse (29) et addition (30) du signal de correction résultant au signal de sortie du noyau décodeur, on obtient te signal synthétisë en bande élargie.
Dans le cas où le décodeur reçoit également une partie au moins de l'enveloppe spectrale basse du signal de différence (partie c), il peut ou non tenir compte de cette information pour affiner l'enveloppe spectrale à l'étape 3.
.,,. , ,. "_. ..r.,~, ._ ,_ , ,...
Si le décodeur 10 reçoit suffisamment de bits P3 pour décoder auF
moins les coefficients MDCT de la bande la plus importante, classée la première dans la partie d de la séquence, alors le module 26 récupère certains des coefficients MDCT normalisés d'après l'allocation et l'ordonnancement indiqués par les modules 24 et 25. Ces coefficients MDCT n'ont donc pas besoin d'être interpolés comme dans l'étape 5 ci-dessus. Pour les autres ~5 bandes, le processus des étapes 1 à 6 est applicable par le module 27 de la même manière que précédemment, la connaissance des coefficients MDCT
reçus pour certaines bandes permettant une interpolation plus fiable à l'étape 5.
Les bandes non reçues peuvent varier d'une sous-trame MDCT à la 2o suivante. Le "voisinage connu" d'une bande manquante peut correspondre à la même bande dans une autre sous-trame où elle ne manque pas, et/ou à une ou plusieurs bandes les plus proches dans le domaine fréquentiel au cours de la même sous-trame. il est également possible de regénérer un spectre MDCT
manquant dans une bande pour une sous-trame en faisant une somme 25 pondérée de contributions évaluées à partir de plusieurs bandes/sous-trames du "voisinage connu".
Dans la mesure où le débit effectif de N' bits par trame place arbitrairement le dernier bit d'une trame donnée, le dernier paramètre codé
transmis peut, selon les cas, être transmis complètement ou partiellement.
so Deux cas peuvent alors se présenter:

- ou bien la structure de codage adoptée permet d'exploiter l'information partielles reçue (cas de quantificateûrs scalaires, ou de quantification vectorielle à dictionnaires partitionnés), - ou bien elle ne le permet pas et on traite !e paramètre non entièrement s reçu comme les autres paramètres non reçus. On note que, pour ce dernier cas, si l'ordre des bits varie à chaque trame, le nombre de bits ainsi perdus est variable et la sélection de N' bits produira en moyenne, sur l'ensemble des trames décodées, une qualité meilleure que celle que l'on obtiendrait avec un nombre de bits plus petit.

Claims (36)

REVENDICATIONS
1. Procédé de codage d'une trame de signal audio numérique en une séquence binaire de sortie, dans lequel un nombre maximum Nmax de bits de codage est défini pour un ensemble de paramètres calculables d'après la trame de signal, composé d'un premier et d'un second sous-ensemble, le procédé comprenant les étapes suivantes :
- calculer les paramètres du premier sous-ensemble, et coder ces paramètres sur un nombre N0 de bits de codage tel que N0 < Nmax ;
- déterminer une allocation de Nmax-N0 bits de codage pour les paramètres du second sous-ensemble ; et - classer les Nmax-N0 bits de codage alloués aux paramètres du second sous-ensemble dans un ordre déterminé, dans lequel l'un au moins des éléments parmi l'allocation et l'ordre de classement des Nmax-N0 bits de codage est déterminé en fonction des paramètres codés du premier sous-ensemble, le procédé comprenant en outre les étapes suivantes en réponse à l'indication d'un nombre N de bits de la séquence binaire de sortie disponibles pour le codage dudit ensemble de paramètres, avec N0<N<=Nmax:
- sélectionner les paramètres du second sous-ensemble auxquels sont alloués les N-N0 bits de codage classés les premiers dans ledit ordre ;
- calculer les paramètres sélectionnés du second sous-ensemble, et coder ces paramètres pour produire lesdits N-N0 bits de codage classés les premiers ; et - insérer dans la séquence de sortie les N0 bits de codage du premier sous-ensemble ainsi que les N-N0 bits de codage des paramètres sélectionnés du second sous-ensemble.
2. Procédé selon la revendication 1, dans lequel l'ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est variable d'une trame à une autre.
3. Procédé selon l'une quelconque des revendications 1 et 2, dans lequel N <
Nmax.
4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel l'ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est un ordre d'importance décroissante déterminé en fonction d'au moins les paramètres codés du premier sous-ensemble. -
5. Procédé selon la revendication 4, dans lequel l'ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est déterminé à l'aide d'au moins un critère psycho-acoustique en fonction des paramètres codés du premier sous-ensemble.
6. Procédé selon la revendication 5, dans lequel les paramètres du second sous-ensemble se rapportent à des bandes spectrales du signal, dans lequel on estime une enveloppe spectrale du signal codé à partir des paramètres codés du premier sous-ensemble, dans lequel on calcule une courbe de masquage fréquentiel en appliquant un modèle de perception auditive à l'enveloppe spectrale estimée, et dans lequel le critère psychoacoustique fait référence au niveau de l'enveloppe spectrale estimée par rapport à la courbe de masquage dans chaque bande spectrale.
7. Procédé selon l'une quelconque des revendications 4 à 6, dans lequel Nmax =
N.
8. Procédé selon l'une quelconque des revendications 1 à 7, dans lequel on ordonne les bits de codage dans la séquence de sortie de telle sorte que les NO bits de codage du premier sous-ensemble précèdent les N-NO bits de codage des paramètres sélectionnés du second sous-ensemble et que les bits de codage respectifs des paramètres sélectionnés du second sous-ensemble y apparaissent dans l'ordre déterminé pour lesdits bits de codage.
9. Procédé selon l'une quelconque des revendications 1 à 8, dans lequel le nombre N varie d'une trame à une autre.
10. Procédé selon l'une quelconque des revendications 1 à 9, dans lequel le codage des paramètres du premier sous-ensemble est à débit variable, ce qui fait varier le nombre NO d'une trame à une autre.
11. Procédé selon l'une quelconque des revendications 1 à 10, dans lequel le premier sous-ensemble comprend des paramètres calculés par un noyau codeur.
12. Procédé selon la revendication 11, dans lequel le noyau codeur a une bande de fréquences de fonctionnement inférieure à la bande passante du signal à coder, et dans lequel le premier sous-ensemble comprend en outre des niveaux énergétiques du signal audio associés à
des bandes de fréquences supérieures à la bande de fonctionnement du noyau codeur.
13. Procédé selon l'une quelconque des revendications 8 et 12, dans lequel on ordonne les bits de codage du premier sous-ensemble dans la séquence de sortie de telle sorte que les bits de codage des paramètres calculés par le noyau codeur soient immédiatement suivis par les bits de codage des niveaux énergétiques associés aux bandes de fréquences supérieures.
14. Procédé selon l'une quelconque des revendications 11 à 13, dans lequel on estime un signal de différence entre le signal à coder et un signal de synthèse dérivé des paramètres codés produits par le noyau codeur, et dans lequel le premier sous-ensemble comprend en outre des niveaux énergétiques du signal de différence associés à des bandes de fréquences incluses dans la bande de fonctionnement du noyau codeur.
15. Procédé selon la revendication 8 et l'une quelconque des revendications 12 à 14, dans lequel on ordonne les bits de codage du premier sous-ensemble dans la séquence de sortie de telle sorte que les bits de codage des paramètres calculés par le noyau codeur soient suivis par les bits de codage des niveaux énergétiques associés aux bandes de fréquences.
16. Procédé de décodage d'une séquence binaire d'entrée pour synthétiser un signal audio numérique, dans lequel un nombre maximum Nmax de bits de codage est défini pour un ensemble de paramètres de description d'une trame de signal, composé d'un premier et d'un second sous-ensembles, la séquence d'entrée comprenant, pour une trame de signal, un nombre N' de bits de codage dudit ensemble de paramètres, avec N':5 Nmax, le procédé comprenant les étapes suivantes :
- extraire, desdits N'bits de la séquence d'entrée, un nombre NO de bits de codage des paramètres du premier sous-ensemble si N0 < N' ;
- récupérer les paramètres du premier sous-ensemble sur la base desdits NO
bits de codage extraits ;
- déterminer une allocation de Nmax-N0 bits de codage pour les paramètres du second sous-ensemble ; et - classer les Nmax-N0 bits de codage alloués aux paramètres du second sous-ensemble dans un ordre déterminé, dans lequel l'un au moins des éléments parmi l'allocation et l'ordre de classement des Nmax-N0 bits de codage est déterminé en fonction des paramètres récupérés du premier sous-ensemble, le procédé comprenant en outre les étapes suivantes :
- sélectionner les paramètres du second sous-ensemble auxquels sont alloués les N'-N0 bits de codage classés les premiers dans ledit ordre ;
- extraire, desdits N'bits de la séquence d'entrée, N'-N0 bits de codage des paramètres sélectionnés du second sous-ensemble ;
- récupérer les paramètres sélectionnés du second sous-ensemble sur la base desdits N'-NO bits de codage extraits ; et - synthétiser la trame de signal en utilisant les paramètres récupérés des premier et second sous-ensembles.
17. Procédé selon la revendication 16, dans lequel l'ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est variable d'une trame à une autre.
18. Procédé selon l'une quelconque des revendications 16 et 17, dans lequel N' < Nmax.
19. Procédé selon l'une quelconque des revendications 16 à 18, dans lequel l'ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est un ordre d'importance décroissante déterminé en fonction d'au moins les paramètres récupérés du premier sous-ensemble.
20. Procédé selon la revendication 19, dans lequel l'ordre de classement des bits de codage alloués aux paramètres du second sous-ensemble est déterminé à l'aide d'au moins un critère psychoacoustique en fonction des paramètres récupérés du premier sous-ensemble.
21. Procédé selon la revendication 20, dans lequel les paramètres du second sous-ensemble se rapportent à des bandes spectrales du signal, dans lequel on estime une enveloppe spectrale du signal à partir des paramètres récupérés du premier sous-ensemble, dans lequel on calcule une courbe de masquage fréquentiel en appliquant un modèle de perception auditive à l'enveloppe spectrale estimée, et dans lequel le critère psychoacoustique fait référence au niveau de l'enveloppe spectrale estimée par rapport à la courbe de masquage dans chaque bande spectrale.
22. Procédé selon l'une quelconque des revendications 16 à 21, dans lequel les N0 bits de codage des paramètres du premier sous-ensemble sont extraits des N'bits reçus en des positions de la séquence qui précèdent les positions d'où sont extraits les N'-N0 bits de codage des paramètres sélectionnés du second sous-ensemble.
23. Procédé selon l'une quelconque des revendications 16 à 22, dans lequel, pour synthétiser la trame de signal, on estime des paramètres non sélectionnés du second sous-ensemble par interpolation à partir d'au moins des paramètres sélectionnés récupérés sur la base desdits N'-N0 bits de codage extraits.
24. Procédé selon l'une quelconque des revendications 16 à 23, dans lequel le premier sous-ensemble comprend des paramètres d'entrée d'un noyau décodeur.
25. Procédé selon la revendication 24, dans lequel le noyau décodeur a une bande de fréquences de fonctionnement inférieure à la bande passante du signal à synthétiser, et dans lequel le premier sous-ensemble comprend en outre des niveaux énergétiques du signal audio associés à des bandes de fréquences supérieures à la bande de fonctionnement du noyau décodeur.
26. Procédé selon l'une quelconque des revendications 22 et 25, dans lequel les bits de codage du premier sous-ensemble dans la séquence d'entrée sont ordonnés de telle sorte que les bits de codage des paramètres d'entrée du noyau décodeur soient immédiatement suivis par des bits de codage des niveaux énergétiques associés aux bandes de fréquences supérieures.
27. Procédé selon la revendication 26, comprenant les étapes suivantes si les N'bits de la séquence d'entrée se limitent aux bits de codage des paramètres d'entrée du noyau décodeur et à
une partie au moins des bits de codage des niveaux énergétiques associés aux bandes de fréquences supérieures :
- extraire de la séquence d'entrée les bits de codage des paramètres d'entrée du noyau décodeur et ladite partie des bits de codage des niveaux énergétiques ;
- synthétiser un signal de base dans le noyau décodeur et récupérer des niveaux énergétiques associés aux bandes de fréquences supérieures sur la base des bits de codage extraits ;
- calculer un spectre du signal de base ;

- affecter un niveau énergétique à chaque bande supérieure à laquelle est associé un niveau énergétique non codé dans la séquence d'entrée ;
- synthétiser des composantes spectrales pour chaque bande de fréquences supérieure à
partir du niveau énergétique correspondant et du spectre du signal de base dans au moins une bande dudit spectre ;
- appliquer une transformation vers le domaine temporel aux composantes spectrales synthétisées pour obtenir un signal de correction du signal de base ; et - additionner le signal de base et le signal de correction pour synthétiser la trame de signal.
28. Procédé selon la revendication 27, dans lequel le niveau énergétique affecté à une bande supérieure à laquelle est associé un niveau énergétique non codé dans la séquence d'entrée est une fraction d'un niveau de masquage perceptuel calculé d'après le spectre du signal de base et les niveaux énergétiques récupérés sur la base des bits de codage extraits.
29. Procédé selon l'une quelconque des revendications 24 à 28, dans lequel on synthétise un signal de base dans le noyau décodeur, et dans lequel le premier sous-ensemble comprend en outre des niveaux énergétiques d'un signal de différence entre le signal à
synthétiser et le signal de base associés à des bandes de fréquences incluses dans la bande de fonctionnement du noyau codeur.
30. Procédé selon l'une quelconque des revendications 25,26 et 29, dans lequel, pour N0-N' < Nmax, on estime des paramètres non sélectionnés du second sous-ensemble relatifs à
des composantes spectrales dans des bandes de fréquences à l'aide d'un spectre calculé du signal de base et/ou des paramètres sélectionnés récupérés sur la base desdits N'-N0 bits de codage extraits.
31. Procédé selon la revendication 30, dans lequel les paramètres non sélectionnés du second sous-ensemble dans une bande de fréquences sont estimés à l'aide d'un voisinage spectral de ladite bande, déterminé sur la base des N'bits de codage de la séquence d'entrée.
32. Procédé selon la revendication 22 et l'une quelconque des revendications 25 à 31, dans lequel les bits de codage des paramètres d'entrée du noyau décodeur sont extraits des N'bits reçus en des positions de la séquence qui précèdent les positions d'où sont extraits les bits de codage des niveaux énergétiques associés aux bandes de fréquences.
33. Procédé selon l'une quelconque des revendications 16 à 32, dans lequel le nombre N' varie d'une trame à une autre.
34. Procédé selon l'une quelconque des revendications 16 à 33, dans lequel le nombre N0 varie d'une trame à une autre.
35. Codeur audio, comprenant des moyens de traitement de signal numérique agencés pour mettre en oeuvre un procédé de codage selon l'une quelconque des revendications 1 à 15.
36. Décodeur audio, comprenant des moyens de traitement de signal numérique agencés pour mettre en oeuvre un procédé de décodage selon l'une quelconque des revendications 16 à 34.
CA2512179A 2003-01-08 2003-12-22 Procede de codage et de decodage audio a debit variable Expired - Lifetime CA2512179C (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0300164A FR2849727B1 (fr) 2003-01-08 2003-01-08 Procede de codage et de decodage audio a debit variable
FR03/00164 2003-01-08
PCT/FR2003/003870 WO2004070706A1 (fr) 2003-01-08 2003-12-22 Procede de codage et de decodage audio a debit variable

Publications (2)

Publication Number Publication Date
CA2512179A1 CA2512179A1 (fr) 2004-08-19
CA2512179C true CA2512179C (fr) 2013-04-16

Family

ID=32524763

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2512179A Expired - Lifetime CA2512179C (fr) 2003-01-08 2003-12-22 Procede de codage et de decodage audio a debit variable

Country Status (15)

Country Link
US (1) US7457742B2 (fr)
EP (1) EP1581930B1 (fr)
JP (1) JP4390208B2 (fr)
KR (1) KR101061404B1 (fr)
CN (1) CN1735928B (fr)
AT (1) ATE388466T1 (fr)
AU (1) AU2003299395B2 (fr)
BR (1) BR0317954A (fr)
CA (1) CA2512179C (fr)
DE (1) DE60319590T2 (fr)
ES (1) ES2302530T3 (fr)
FR (1) FR2849727B1 (fr)
MX (1) MXPA05007356A (fr)
WO (1) WO2004070706A1 (fr)
ZA (1) ZA200505257B (fr)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1782419A1 (fr) * 2004-08-17 2007-05-09 Koninklijke Philips Electronics N.V. Codage audio echelonnable
EP1806737A4 (fr) * 2004-10-27 2010-08-04 Panasonic Corp Codeur de son et méthode de codage de son
KR100647336B1 (ko) 2005-11-08 2006-11-23 삼성전자주식회사 적응적 시간/주파수 기반 오디오 부호화/복호화 장치 및방법
WO2007119368A1 (fr) 2006-03-17 2007-10-25 Matsushita Electric Industrial Co., Ltd. Dispositif et procede de codage evolutif
US7930173B2 (en) 2006-06-19 2011-04-19 Sharp Kabushiki Kaisha Signal processing method, signal processing apparatus and recording medium
JP4827661B2 (ja) * 2006-08-30 2011-11-30 富士通株式会社 信号処理方法及び装置
US20080243518A1 (en) * 2006-11-16 2008-10-02 Alexey Oraevsky System And Method For Compressing And Reconstructing Audio Files
EP1927981B1 (fr) * 2006-12-01 2013-02-20 Nuance Communications, Inc. Affinement spectral de signaux audio
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
JP4708446B2 (ja) 2007-03-02 2011-06-22 パナソニック株式会社 符号化装置、復号装置およびそれらの方法
US7925783B2 (en) * 2007-05-23 2011-04-12 Microsoft Corporation Transparent envelope for XML messages
JP5547081B2 (ja) * 2007-11-02 2014-07-09 華為技術有限公司 音声復号化方法及び装置
EP2398017B1 (fr) * 2009-02-16 2014-04-23 Electronics and Telecommunications Research Institute Procédé de codage/décodage de signaux audio par sinusoidal codage adaptatif et dispositif correspondant
EP2249333B1 (fr) * 2009-05-06 2014-08-27 Nuance Communications, Inc. Procédé et appareil d'évaluation d'une fréquence fondamentale d'un signal vocal
FR2947945A1 (fr) * 2009-07-07 2011-01-14 France Telecom Allocation de bits dans un codage/decodage d'amelioration d'un codage/decodage hierarchique de signaux audionumeriques
FR2947944A1 (fr) * 2009-07-07 2011-01-14 France Telecom Codage/decodage perfectionne de signaux audionumeriques
EP2490216B1 (fr) * 2009-10-14 2019-04-24 III Holdings 12, LLC Codage de la parole par couches
US9236063B2 (en) 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
CN101950562A (zh) * 2010-11-03 2011-01-19 武汉大学 基于音频关注度的分级编码方法及系统
NO2669468T3 (fr) * 2011-05-11 2018-06-02
KR102053900B1 (ko) 2011-05-13 2019-12-09 삼성전자주식회사 노이즈 필링방법, 오디오 복호화방법 및 장치, 그 기록매체 및 이를 채용하는 멀티미디어 기기
US9905236B2 (en) 2012-03-23 2018-02-27 Dolby Laboratories Licensing Corporation Enabling sampling rate diversity in a voice communication system
KR102222838B1 (ko) 2014-04-17 2021-03-04 보이세지 코포레이션 다른 샘플링 레이트들을 가진 프레임들간의 전환시 사운드 신호의 선형 예측 인코딩 및 디코딩을 위한 방법, 인코더 및 디코더
CN106992786B (zh) * 2017-03-21 2020-07-07 深圳三星通信技术研究有限公司 一种基带数据压缩方法、装置和系统
KR102258814B1 (ko) * 2018-10-04 2021-07-14 주식회사 엘지에너지솔루션 Bms 간 통신 시스템 및 방법
KR102352240B1 (ko) * 2020-02-14 2022-01-17 국방과학연구소 Amr 음성데이터의 압축포맷정보를 추정하는 방법 및 그 장치

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8421498D0 (en) * 1984-08-24 1984-09-26 British Telecomm Frequency domain speech coding
DE19706516C1 (de) * 1997-02-19 1998-01-15 Fraunhofer Ges Forschung Verfahren und Vorricntungen zum Codieren von diskreten Signalen bzw. zum Decodieren von codierten diskreten Signalen
US6016111A (en) * 1997-07-31 2000-01-18 Samsung Electronics Co., Ltd. Digital data coding/decoding method and apparatus
FR2813722B1 (fr) * 2000-09-05 2003-01-24 France Telecom Procede et dispositif de dissimulation d'erreurs et systeme de transmission comportant un tel dispositif
US7620545B2 (en) * 2003-07-08 2009-11-17 Industrial Technology Research Institute Scale factor based bit shifting in fine granularity scalability audio coding

Also Published As

Publication number Publication date
JP4390208B2 (ja) 2009-12-24
MXPA05007356A (es) 2005-09-30
WO2004070706A1 (fr) 2004-08-19
US7457742B2 (en) 2008-11-25
JP2006513457A (ja) 2006-04-20
FR2849727A1 (fr) 2004-07-09
ES2302530T3 (es) 2008-07-16
ATE388466T1 (de) 2008-03-15
EP1581930B1 (fr) 2008-03-05
AU2003299395B2 (en) 2010-03-04
DE60319590T2 (de) 2009-03-26
US20060036435A1 (en) 2006-02-16
AU2003299395A1 (en) 2004-08-30
CA2512179A1 (fr) 2004-08-19
KR20050092107A (ko) 2005-09-20
DE60319590D1 (de) 2008-04-17
FR2849727B1 (fr) 2005-03-18
CN1735928A (zh) 2006-02-15
ZA200505257B (en) 2006-09-27
CN1735928B (zh) 2010-05-12
BR0317954A (pt) 2005-11-29
EP1581930A1 (fr) 2005-10-05
KR101061404B1 (ko) 2011-09-01

Similar Documents

Publication Publication Date Title
CA2512179C (fr) Procede de codage et de decodage audio a debit variable
EP1905010B1 (fr) Codage/décodage audio hiérarchique
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP1907812B1 (fr) Procede de commutation de debit en decodage audio scalable en debit et largeur de bande
CA2766864C (fr) Codage/decodage perfectionne de signaux audionumeriques
CA2766777C (fr) Allocation de bits dans un codage/decodage d&#39;amelioration d&#39;un codage/decodage hierarchique de signaux audionumeriques
EP1692689B1 (fr) Procede de codage multiple optimise
FR2761801A1 (fr) Methode de codage audio et dispositif
FR2875351A1 (fr) Procede de traitement de donnees par passage entre domaines differents de sous-bandes
EP3175443B1 (fr) Détermination d&#39;un budget de codage d&#39;une trame de transition lpd/fd
EP2203915A1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique avec repartition de la complexite
FR2737360A1 (fr) Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes
EP1192619A1 (fr) Codage et decodage audio par interpolation

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20231222