Brevet FR2849727A1 — publié le 20040709

PROCEDE DE CODAGE ET DE DECODAGE AUDIO A DEBIT VARIABLE La présente invention concerne les dispositifs de codage et décodage des signaux audio, 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 10 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 codeurs "hiérarchiques". Les codeurs multidébit "commutables" reposent sur une structure de codage appartenant à une famille technologique (codage temporel, ou 20 fréquentiel, par exemple: CELP, sinusodal, 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 25 é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.0, juin 2002) en bande téléphonique, ou le WB-AMR ("Wide Band Adaptive Multi-Rate", Spécification Technique 30 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 NB-AMR, et 6, 60 à 23,85 kbitls 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 5 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 10 "scalables", les données binaires issues de l'opération de codage se répartissent en couches successives. Une couche 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 progressivement 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 chaîne de transmission ou de 20 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 25 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 aI., "Embedded CELP Coding for Variable Bit-Rate Between 6.4 and 30 9.6 kbitls", Proc. ICASSP 1991, pp. 681-686). Ce type de codeurs ne permet cependant pas de grands écarts entre le plus bas et le plus haut débit 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 5 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 10 al. (Proc. 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. Il est d'autre part fréquent d'utiliser une technique de codage différente 15 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 20 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 30 intermédiaires. Chaque couche correspond à l'encodage de certains paramètres, et la granularité du train binaire hiérarchique dépend du débit 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 10 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 15 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 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 25 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 le codage dudit ensemble de paramètres, avec NO 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 15 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 20 effectif du codeur, mais à un autre nombre Nmax convenu avec le décodeur. Il 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 sousensemble 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 30 structure des bits de codage du second sous-ensemble dès lors que N' NO. 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. Il peut 5 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 L'allocation des Nmax - NO bits au codage des paramètres du second sousensemble 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 15 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 sous20 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 30 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. 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 10 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 mieux la répartition des bits en fonction des trames à coder. Dans un mode de mise en oeuvre, 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 à coder, et le premier sous-ensemble comprend en outre des niveaux énergétiques du signal audio associés à des bandes de 20 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 25 selon l'invention. De préférence, on ordonne alors les bits de codage du premier sousensemble 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 30 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 5 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 10 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 signal, composé d'un premier et d'un second sous-ensembles. La séquence 15 d'entrée comprend, pour une trame de signal, un nombre N' de bits de codage de l'ensemble de paramètres, avec N' 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 les étapes suivantes: - on sélectionne les paramètres du second sous-ensemble auxquels sont 30 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 10 codeur. Un troisième aspect de l'invention se rapporte à un codeur 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, 15 comprenant des moyens de traitement de signal numérique agencés pour mettre en oeuvre 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éalisation non limitatifs, en référence aux dessins annexés, dans lesquels: - 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 G.723.1 normalisé par l'ITU-T 30 ("International Telecommunication Union") en mode fixe à 6,4 kbitls. Il calcule des paramètres G.723.1 conformément à la norme et les quantifie au moyen de 192 bits de codage PI 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 10 par les bits de sortie Pi du noyau codeur. Ainsi qu'il 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 15 codeur G.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 kbitls (2 x NI = 2 x 192 = 384 20 bits par trame). Si le codeur a un débit maximum de 32 kbitls (Nmax = 1920 bits par trame), le débit maximum du deuxième étage est de 25,6 kbitls (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 tempsfré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 5 spectre d'un signal à bande téléphonique, seuls les 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 10 G.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. Il commence par calculer l'énergie des coefficients MDCT de chaque bande du 15 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 PI, 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 NI) + N2(1) + N2(2) + N2(3). La différence Nmax - NO = 1536 - N2(l) - N2(2) - N2(3) est disponible pour quantifier plus finement les spectres des bandes. 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 PI, P2 et P3 issus des modules 1, 7 et 9 pour former la séquence binaire Conformément à l'invention, le nombre total de bits N de la séquence de sortie représentant une trame courante n'est pas nécessairement égal à Nmax. Il peut lui être inférieur. Cependant, l'allocation des bits de quantification 10 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 -NO, des facteurs d'échelle quantifiés FQ et d'une courbe de masquage spectral calculée par un module 11. Le fonctionnement de ce dernier module 11 est le suivant. Il 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 20 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, le 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. 25 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 t parmi les 3 x 32 bandes des trois transformations MDCT du signal de différence. Dans la mise en oeuvre de l'invention ici 30 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 5 sont à considérer pour la quantification de chaque bande dans chaque soustrame. Néanmoins, si N En fonction du nombre N de bits voulu dans la séquence 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 - NO. Le multiplexeur de sortie 10 constitue la séquence binaire OD constitués 25 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 G.723.1 (384 bits); b/ puis les bits F('. F(') de quantification des facteurs d'échelle, pour 22.. 32 les trois sous trames (i = 1, 2, 3), de la 22ème bande spectrale (première bande au-delà la bande téléphonique) à la 32ème bande (codage de Huffman à débit variable); c/ puis les bits F(), ..., ) de quantification des facteurs d'échelle, pour I 21 les trois sous trames (i = 1, 2, 3), de la 1ère bande spectrale à la 2lème bande (codage de Huffman à débit variable); d/ et enfin les indices MC1i Mc2e..., Mc96 de quantification vectorielle des 96 bandes par ordre d'importance perceptuelle, de la bande la plus 10 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 G.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 15 au delà d'une valeur minimale correspondant à la réception de ces groupes a et b. Cette valeur minimale, suffisante pour le codage deHuffman des 3 x 11 = 33 facteurs d'échelle des bandes hautes en plus du codage G.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 20 décodeur reçoit N' bits avec NO 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 (D pour en extraire les bits de codage PI et P2. Les 384 bits Pi sont fournis au noyau 25 décodeur 21 de type G.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 5 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 V' et synthétise les coefficients MDCT normalisés relatifs aux bandes représentées dans la séquence m'. Le cas échéant (N' Il est à noter que le décodeur pourra synthétiser un signal S même dans des cas o il ne reçoit pas les NO premiers bits de la séquence. Il lui suffit de recevoir les 2 x NI 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 30 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 NI premiers bits ne sont même pas reçus, le décodeur considère la trame 5 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 NI 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. Il peut notamment 10 procéder comme suit. 1/ Le module 22 récupère les parties des trois enveloppes spectrales reçues. 2/ 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 G.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 20 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 25 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 28). Dans le cas o aucun des bits P3 n'est reçu, le "voisinage connu" 30 correspond au spectre du signal S' produit par le noyau décodeur G.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 le 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. Si le décodeur 10 reçoit suffisamment de bits P3 pour décoder au 10 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 in. diqué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 15 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 20 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. 30 Deux cas peuvent alors se présenter: ou bien la structure de codage adoptée permet d'exploiter l'information partielle reçue (cas de quantificateurs scalaires, ou de quantification vectorielle à dictionnaires partitionnés), ou bien elle ne le permet pas et on traite le paramètre non entièrement 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. REVENDICATIONS 1. Procédé de codage d'une trame de signal audio numérique (S) en une séquence binaire de sortie (0), dans lequel un nombre maximum Nmax de bits de codage est défini pour un ensemble de paramètres calculables d'après 5 la trame de signal, composé d'un premier et d'un second sous- ensembles, le procédé comprenant les étapes suivantes: - calculer les paramètres du premier sous-ensemble, et coder ces paramètres sur un nombre NO de bits de codage tel que NO 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 la revendication 1 ou 2, dans lequel N 4. Procédé selon l'une quelconque des revendications précédentes, 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 psychoacoustique en fonction des paramètres codés du premier sous-ensemble. l0 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 15 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 précédentes, 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 25 sous-ensemble y apparaissent dans l'ordre déterminé pour lesdits bits de codage. 9. Procédé selon l'une quelconque des revendications précédentes, dans lequel le nombre N varie d'une trame à une autre. 10. Procédé selon l'une quelconque des revendications précédentes, 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. il. Procédé selon l'une quelconque des revendications précédentes, dans lequel le premier sous-ensemble comprend des paramètres calculés par un noyau codeur (1). 12. Procédé selon la revendication 11, dans lequel le noyau codeur (1) 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 10 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 chacune 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 15 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 20 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 25 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 (1) 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 (V) pour synthétiser un signal audio numérique (S), 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 sousensembles, 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' 17. Procédé selon la revendication 16, dans lequel l'ordre de classement des bits de codage alloués aux paramètres du second sousensemble est variable d'une trame à une autre. 18. Procédé selon la revendication 16 ou 17, dans lequel N' 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 sous5 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 10 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. i5 22. Procédé selon l'une quelconque des revendications 16 à 21, dans lequel les NO 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'- NO 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'- NO 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 (21). 25. Procédé selon la revendication 24, dans lequel le noyau décodeur (21) 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 chacune des revendications 22 et 25, dans lequel les bits de codage du premier sous-ensemble dans la séquence d'erntrée sont ordonnés de telle sorte que les bits de codage des paramètres d'entrée du noyau décodeur (21) 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 ( 28. Procédé selon la revendication 27, dans lequel le niveau énergétique affecté à une bande supérieure à laquelle est associé un niveau 5 é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 (S') dans le noyau décodeur, et dans 10 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 NO 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 (21) 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 NO 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 10 quelconque des revendications 16 à 34.