Brevet FR3024582A1 — publié le 20160205

Gestion de la perte de trame dans un contexte de transition FD/LPD La présente invention concerne le domaine du codage/décodage des signaux numériques en particulier pour la correction de perte de trame. L'invention s'applique avantageusement au codage/décodage de sons pouvant contenir de la parole et de la musique mélangés ou en alternance. Pour coder efficacement les sons de parole à bas débit, les techniques de type CELP (« Code Excited Linear Prediction ») sont préconisées. Pour coder efficacement les sons musicaux, on préconise plutôt les techniques de codage par transformée. Les codeurs de type CELP sont des codeurs prédictifs. Ils ont pour but de modéliser la production de la parole à partir de divers éléments : une prédiction linéaire à court-terme pour modéliser le conduit vocal, une prédiction à long-terme pour modéliser la vibration des cordes vocales en période voisée, et une excitation dérivée d'un dictionnaire fixe (bruit blanc, excitation algébrique) pour représenter l' "innovation" qui n'a pas pu être modélisée. Les codeurs par transformée tels que MPEG AAC, AAC-LD, AAC-ELD ou ITU-T G.722.1 Annexe C utilisent des transformées à échantillonnage critique afin de compacter le signal dans le domaine transformé. On appelle « transformée à échantillonnage critique », une transformée pour laquelle le nombre de coefficients dans le domaine transformé est égal au nombre d'échantillons temporels dans chaque trame analysée. Une solution pour coder efficacement un signal de contenu mixte parole/musique consiste à sélectionner au cours du temps la meilleure technique entre au moins deux modes de codage, l'un de type CELP, l'autre de type transformée. C'est le cas par exemple des codecs 3GPP AMR-WB + et MPEG USAC (pour "Unified Speech Audio Coding" en anglais). Les applications visées par AMR-WB+ et USAC ne sont pas conversationnelles, mais correspondent à des services de diffusion et stockage, sans contraintes fortes sur le retard algorithmique. La version initiale du codec USAC, appelée RMO (Reference Model 0), est décrite dans l'article de M. Neuendorf et al., A Novel Scheme for Low Bitrate Unified Speech and Audio Coding - MPEG RMO, 7-10 May 2009, 126th AES Convention. Ce codec RMO alterne entre plusieurs modes de codage: - Pour les signaux de type parole: modes LPD (pour "Linear Predictive Domain" en anglais) comprenant deux modes différents dérivés du codage AMR-WB+: - Un mode ACELP - Un mode TCX (pour « Transform Coded eXcitation » en anglais) appelé wLPT (pour "weighted Linear Predictive Transform" en anglais) utilisant une transformée de type MDCT (contrairement au codec AMR-WB+) qui utilise une transformée FFT. - Pour les signaux de type musique: mode FD (pour "Frequency Domain" en anglais) utilisant un codage par transformée MDCT (pour "Modified Discrete Cosine Transform" en anglais) de type MPEG AAC (pour "Advanced Audio Coding" en anglais) sur 1024 échantillons. Dans le codec USAC, les transitions entre modes LPD et FD sont cruciales pour assurer une qualité suffisante sans défaut de commutation, sachant que chaque mode (ACELP, TCX, FD) a une "signature" spécifique (en termes d'artefacts) et que les modes FD et LPD sont de nature différentes - le mode FD repose sur un codage par transformée dans le domaine du signal, tandis que les modes LPD utilisent un codage linéaire prédictif dans le domaine perceptuellement pondéré avec des mémoires de filtre à gérer correctement. La gestion des commutations intermodes dans le codec USAC RMO est détaillée dans l'article de J. Lecomte et al., "Efficient cross fade windows for transitions Between LPC-based and non-LPC based audio coding", 7-10 May 2009, 126th AES Convention. Comme expliqué dans cet article, la difficulté principale réside dans les transitions entre modes LPD vers FD et vice versa. On ne retient ici que le cas des transitions d'ACELP vers FD. Pour bien en comprendre le fonctionnement, on rappelle ici le principe du codage par transformée MDCT au travers d'un exemple typique de réalisation. Au codeur la transformation MDCT se divise typiquement entre trois étapes, le signal étant découpé en trames de M échantillons avant codage MDCT: - Pondération du signal par une fenêtre appelé ici "fenêtre MDCT" de longueur 2M ; - Repliement temporel (ou "time-domain aliasing" en anglais) pour former un bloc de longueur M ; - Transformation DCT (pour "Discrete Cosine Transform" en anglais) de longueur M. La fenêtre MDCT est divisée en 4 portions adjacentes de longueurs égales M/2, appelées ici "quarts" Le signal est multiplié par la fenêtre d'analyse puis les repliements sont effectués : le premier quart (fenêtré) est replié (c'est-à-dire inversé dans le temps et mis en recouvrement) sur le deuxième quart et le quatrième quart est replié sur le troisième. Plus précisément, le repliement temporel d'un quart sur un autre est effectué de la façon suivante : le premier échantillon du premier quart est additionné (ou soustrait) au dernier échantillon du deuxième quart, le deuxième échantillon du premier quart est additionné (ou soustrait) à l'avant-dernier échantillon du deuxième quart, et ainsi de suite jusqu'au dernier échantillon du premier quart qui est additionné (ou soustrait) au premier échantillon du deuxième quart. On obtient donc, à partir de 4 quarts, 2 quarts repliés où chaque échantillon est le résultat d'une combinaison linéaire de 2 échantillons du signal à coder. Cette combinaison linéaire induit un repliement temporel. Les 2 quarts repliés sont ensuite codés conjointement après transformation DCT (de type IV). Pour la trame suivante on se décale d'une moitié de fenêtre (soit 50% de recouvrement), les troisième et quatrième quarts de la trame précédente deviennent alors les premier et deuxième quarts de la trame courante. Après repliement, on envoie une deuxième combinaison linéaire des mêmes paires d'échantillons comme dans la trame précédente, mais avec des poids différents. Au décodeur, après transformation DCT inverse on obtient donc la version décodée de ces signaux repliés. Deux trames consécutives contiennent le résultat de 2 repliements différents des mêmes quarts, c'est à dire pour chaque paire d'échantillons on a le résultat de 2 combinaisons linéaires avec des poids différents mais connus : un système d'équation est donc résolu pour obtenir la version décodée du signal d'entrée, le repliement temporel peut être ainsi supprimé en utilisant 2 trames décodées consécutives. La résolution des systèmes d'équations mentionnées peut en général être faite implicitement par dépliement, multiplication par une fenêtre de synthèse judicieusement choisie puis addition-recouvrement des parties communes. Cette addition-recouvrement assure en même temps la transition douce (sans discontinuité due aux erreurs de quantification) entre 2 trames décodées consécutives, en effet cette opération se comporte comme un fondu enchaîné. Quand la fenêtre pour le premier quart ou le quatrième quart est à zéro pour chaque échantillon, on parle d'une transformation MDCT sans repliement temporel dans cette partie de la fenêtre. Dans ce cas la transition douce n'est pas assurée par la transformation MDCT, elle doit être faite par d'autres moyens comme par exemple un fondu enchaîné extérieur. Il est à noter que des variantes de mise en oeuvre de la transformation MDCT existent, en particulier sur la définition de la transformée DCT, sur la façon de replier temporellement le bloc à transformer (par exemple, on peut inverser les signes appliqués aux quarts repliés à gauche et droite, ou replier les deuxième et troisième quart sur respectivement les premiers et quatrième quarts), etc. Ces variantes ne changent pas le principe de l'analyse-synthèse MDCT avec la réduction du bloc d'échantillons par fenêtrage, repliement temporel puis transformation et enfin fenêtrage, repliement et addition-recouvrement. Afin d'éviter les artefacts au moment des transitions entre le codage de type CELP et le codage de type MDCT, la demande de brevet internationale W02012/085451 propose une méthode pour coder une trame de transition. La trame de transition est définie comme la trame courante codée par transformée qui succède à une trame précédente codée par un codage prédictif. Selon la nouvelle méthode précitée, une partie de la trame de transition, par exemple une sous trame de 5 ms, dans le cas d'un codage coeur CELP à 12.8 kHz, et deux trames CELP supplémentaires de 4 ms chacune, dans le cas d'un codage coeur CELP à 16 kHz, sont codées par un codage prédictif restreint par rapport au codage prédictif de la trame précédente. Le codage prédictif restreint consiste à utiliser les paramètres stables de la trame précédente codée par un codage prédictif, comme par exemple les coefficients du filtre de prédiction linéaire et de ne coder que quelques paramètres minimaux pour la sous-trame supplémentaire dans la trame de transition. Comme la trame précédente n'a pas été codée avec un codage par transformée, l'annulation du repliement temporel dans la première partie de la trame est impossible. La demande de brevet W02012/085451 précitée propose en outre de modifier la première moitié de la fenêtre MDCT de manière à ne pas avoir de repliement temporel dans le premier quart normalement replié. Il est aussi proposé d'intégrer une partie de l'addition-recouvrement (aussi appelé « fondu enchaîné » ou encore « overlap-add » en anglais) entre la trame CELP décodée et la trame MDCT décodée en modifiant les coefficients de la fenêtre d'analyse/synthèse. En référence à la figure 4e de la demande précitée, les traits mixtes (lignes alternant des points et traits) correspondent aux lignes de repliement de codage MDCT (figure du haut) et aux lignes de dépliement de décodage MDCT (figure du bas). Sur la figure du haut, les lignes en gras séparent les trames de nouveaux échantillons à l'entrée du codeur. Le codage d'une nouvelle trame MDCT peut être commencé quand une trame ainsi définie de nouveaux échantillons d'entrée est entièrement disponible. Il est important de remarquer que ces lignes en gras au codeur ne correspondent pas à la trame courante mais au bloc de nouveaux échantillons arrivant pour chaque trame : la trame courante est en fait retardée de 5 ms qui correspondent à une anticipation, dénommée « lookahead » en anglais. Sur la figure du bas, les lignes en gras séparent les trames décodées à la sortie du décodeur. Au codeur, la fenêtre de transition est nulle jusqu'au point de repliement. Ainsi les coefficients de la partie gauche de la fenêtre repliée seront identiques à ceux de la fenêtre non repliée. La partie entre le point de repliement et la fin de la sous-trame CELP de transition (TR) correspond à une (demi-) fenêtre sinusoïdale. Au décodeur, après dépliement, la même fenêtre est appliquée au signal. Sur le segment entre le point de repliement et le début de la trame MDCT, les coefficients de la fenêtre correspondent à une fenêtre de forme sine. Pour assurer l'addition-recouvrement entre la sous trame CELP décodée et le signal issu de la MDCT, il suffit d'appliquer une fenêtre de type cos2 à la partie de la sous-trame CELP en recouvrement et de sommer cette dernière avec la trame MDCT. La méthode est à reconstruction parfaite. Toutefois, des trames de signal audio codé peuvent être perdues sur le canal entre le codeur et le décodeur. Les techniques de correction de perte de trames existantes sont les plus souvent très dépendantes du type de codage utilisé. Dans le cas du codage de la parole basé sur des technologies prédictives, de type CELP par exemple, la correction de perte de trame est souvent liée au modèle de parole. Par exemple, la norme G.722.2 de l'ITU-T, dans sa version de juillet 2003, propose de remplacer un paquet perdu en prolongeant le gain de prédiction à long terme en l'atténuant, et en prolongeant les fréquences de lignes spectrales (ISF en anglais pour « Immitance Spectral Frequencies »), représentant les coefficients A(z) du filtre LPC, en les faisant tendre vers leurs moyennes respectives. La période fondamentale (ou « pitch ») est aussi répétée. La contribution du dictionnaire fixe est quant à elle remplie avec des valeurs aléatoires. L'application de telles méthodes pour des décodeurs par transformée ou PCM nécessiterait une analyse de type CELP au niveau du décodeur, ce qui introduirait une complexité supplémentaire significative. On notera également que des méthodes plus avancées de correction de perte de trame lors d'un décodage CELP sont décrites dans la norme UIT-T G.718 pour les débits de 8 et 12 kbit/s ainsi qu'aux débits de décodage interopérable avec AMR-WB. Une autre solution est présentée dans la norme G.711 de l'ITU-T, qui décrit un codeur par transformée pour lequel l'algorithme de correction de perte de trame, traité dans la partie « Appendix I » consiste à trouver un délai tonal (une période fondamentale) dans le signal déjà décodé et à le répéter en appliquant une addition-recouvrement entre le signal déjà décodé et le signal répété. Cette addition avec recouvrement permet de gommer les artefacts audio mais nécessite un délai supplémentaire au décodeur (correspondant à la durée de l'addition-recouvrement) pour être mise en oeuvre. Dans le cas d'un codage par transformée, une technique répandue pour corriger une perte de trame consiste à répéter la dernière trame reçue. Une telle technique est mise en oeuvre dans plusieurs codeurs/décodeurs normalisés (G.719, G.722.1 et G.722.1C notamment). Par exemple, dans le cas du décodeur G.722.1, une transformée MLT (pour «Modulated Lapped Transform » en anglais), équivalente à une transformée MDCT, avec un recouvrement de 50% et une fenêtre de forme sinusoïdale, permet d'assurer une transition suffisamment lente entre la dernière trame perdue et la trame répétée pour gommer les artefacts liés à la simple répétition de la trame. Une telle technique est peu coûteuse mais a comme principal défaut l'incohérence entre le signal juste avant la perte de trame et le signal répété. Il en résulte une discontinuité de phase qui peut introduire des artefacts audio importants si la durée de recouvrement entre les deux trames est faible, comme tel est le cas lorsque les fenêtres utilisées pour la transformée MLT sont des fenêtres dites à faible retard. Au niveau du décodeur, selon les techniques existantes, lorsqu'une trame est manquante, une trame de remplacement est générée en utilisant un algorithme de masquage de paquet perdu PLC adapté (pour « PacketLoss Concealment » en anglais). On notera qu'en général un paquet peut contenir plusieurs trames, ainsi le terme PLC peut être ambigu, et il est ici repris pour indiquer la correction de la trame courante perdue. Par exemple, à la suite d'une trame CELP correctement reçue et décodée, si la trame suivante est perdue, une trame de remplacement basée sur un PLC adapté au codage CELP est utilisée, en exploitant les mémoires du codeur CELP. A la suite d'une trame MDCT correctement reçue et décodée, si la trame suivante est perdue, une trame de remplacement basée sur un PLC adapté au codage MDCT est générée. Dans le contexte de la transition entre trames CELP et MDCT, et en considérant que la trame de transition est composée d'une sous-trame CELP (qui est à la même fréquence d'échantillonnage que la trame CELP directement précédente) et d'une trame MDCT comportant une fenêtre MDCT modifiée annulant le repliement «à gauche », il existe des situations pour lesquelles les techniques existantes n'apportent aucune solution. Dans une première situation, une trame CELP précédente a été correctement reçue et décodée, une trame courante de transition est perdue et la trame suivante est une trame MDCT. Dans ce cas, l'algorithme de PLC, après la réception de la trame CELP, ne sait pas que la trame perdue est une trame de transition et génère par conséquent une trame CELP de remplacement. Ainsi, tel que précédemment expliqué, la première partie repliée de la trame suivante MDCT ne peut pas être compensée et le délai entre les deux types de codeur ne peut pas être comblé avec la sous-trame CELP contenue dans la trame de transition (qui est perdue avec la trame de transition). Aucune solution connue ne propose de traiter cette situation. Dans une deuxième situation, une trame précédente CELP à 12,8 kHz est correctement reçue et décodée, une trame CELP courante à 16 kHz est perdue, et la trame suivante est une trame de transition. L'algorithme de PLC génère alors une trame CELP à la fréquence de la dernière trame correctement reçue, soit 12,8 kHz, et la sous-trame CELP de transition (codée partiellement à partir de paramètres CELP de la trame CELP à 16 kHz perdue) ne peut pas être décodée. La présente invention vient améliorer cette situation. A cet effet, un premier aspect de l'invention concerne un procédé de décodage d'un signal numérique codé selon un codage prédictif et selon un codage par transformée, comprenant les étapes suivantes : - décodage prédictif d'une trame précédente du signal numérique, codée par un ensemble de paramètres de codage prédictif ; - détection de la perte d'une trame courante du signal numérique codé; - génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'une trame de remplacement de la trame courante ; - génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'un segment supplémentaire de signal numérique ; - stockage temporaire de ce segment supplémentaire de signal numérique. Ainsi, un segment supplémentaire de signal numérique est disponible à chaque fois qu'une trame CELP de remplacement est générée. Le décodage prédictif de la trame précédente englobe le décodage prédictif d'une trame CELP correctement reçue ou la génération d'une trame CELP de remplacement par un algorithme de PLC adapté au CELP. D'une part, ce segment supplémentaire rend possible une transition entre un codage CELP et un codage par transformée, même dans le cas d'une perte de trame. En effet, dans la première situation décrite ci-dessus, la transition avec la trame MDCT suivante peut être assurée par le segment supplémentaire. Comme cela est décrit ci-après, le segment supplémentaire peut être ajouté à la trame MDCT suivante pour compenser la première partie repliée de cette trame MDCT grâce à un fondu enchaîné sur la zone contenant le repliement temporel non annulé. Dans la deuxième situation décrite ci-dessus, le décodage de la trame de transition est rendu possible par l'utilisation du segment supplémentaire. En effet, s'il n'est pas possible décoder la sous-trame CELP de transition (indisponibilité des paramètres CELP de la trame précédente codée à 16 kHz), il est possible de la remplacer par le segment supplémentaire comme cela est décrit ci-après. D'autre part, les calculs relatifs à la gestion de la perte de trame et à la transition sont répartis dans le temps. En effet, le segment supplémentaire est généré puis stocké pour chaque trame CELP de remplacement générée. Le segment de transition est donc généré dès qu'une perte de trame est détectée, sans attendre qu'une transition soit ultérieurement détectée. La transition est donc anticipée à chaque perte de trame, ce qui évite d'avoir à gérer un « pic de complexité » au moment où une nouvelle trame correcte est reçue et décodée. Dans un mode de réalisation, le procédé comporte en outre les étapes suivantes : - réception d'une trame suivante de signal numérique codé comprenant au moins un segment codé par transformée ; et - décodage de la trame suivante comprenant une sous-étape d'addition avec recouvrement entre le segment supplémentaire de signal numérique et le segment codé par transformée. La sous-étape d'addition avec recouvrement rend possible un fondu-enchaîné du signal de sortie. Un tel fondu- enchaîné limite l'apparition d'artefacts sonores (par exemple de type « bruit métallique ») et assure une cohérence énergétique du signal. Dans un autre mode de réalisation, la trame suivante est entièrement codée selon un codage par transformée et la trame courante perdue est une trame de transition entre la trame précédente codée selon un codage prédictif et la trame suivante codée selon un codage par transformée. Dans une variante, la trame précédente est codée selon un codage prédictif par un coeur de codeur prédictif fonctionnant à une première fréquence. Dans cette variante, la trame suivante est une trame de transition comprenant au moins une sous-trame codée selon un codage prédictif par un coeur de codeur prédictif fonctionnant à une deuxième fréquence distincte de la première fréquence. A cet effet, la trame de transition suivante peut comprendre un bit indiquant la fréquence du coeur de codage prédictif utilisé. Ainsi, le type de codage CELP (12,8 ou 16 kHz) utilisé dans la sous-trame CELP de transition peut être indiqué dans le train binaire de la trame de transition. L'invention ainsi prévoit de rajouter une indication systématique (un bit) dans une trame de transition, afin de permettre la détection d'une différence de fréquence de codage/décodage CELP entre la sous-trame CELP de transition et la trame CELP précédente. Dans un autre mode de réalisation, l'addition avec recouvrement est donnée par application de la formule suivante mettant en oeuvre une pondération linéaire : S(i) = B(i). (L/r) + (1 (L/i r)) .T(i) avec : r est un coefficient représentatif de la longueur du segment supplémentaire généré ; i un instant d'un échantillon de la trame suivante, compris entre 0 et L/r ; L la longueur de la trame suivante ; S(i) l'amplitude de la trame suivante après addition, pour l'échantillon i ; B(i) l'amplitude du segment décodé par transformée, pour l'échantillon i ; T(i) l'amplitude du segment supplémentaire de signal numérique, pour l'échantillon i. L'addition avec recouvrement peut donc être effectuée à partir de combinaisons linéaires et d'opérations simples à mettre en oeuvre. Le temps requis pour le décodage est ainsi réduit tout en sollicitant moins le ou les processeurs utilisés pour ces calculs. Dans des variantes, d'autres formes de fondu enchaîné pourront être mises en oeuvre sans changer le principe de l'invention. Dans un mode de réalisation, l'étape de génération par prédiction de la trame de remplacement comportant en outre une mise à jour de mémoires internes du décodeur, l'étape de génération par prédiction d'un segment supplémentaire de signal numérique peut comporter les sous-étapes suivantes : - copie dans une mémoire temporaire, des mémoires du décodeur mises à jour lors de l'étape de génération par prédiction de la trame de remplacement ; - génération du segment supplémentaire de signal numérique au moyen de la mémoire temporaire. Ainsi, les mémoires internes du décodeur ne sont pas mises à jour pour la génération du segment supplémentaire. Par conséquent, la génération du segment de signal supplémentaire n'impacte pas le décodage de la trame suivante, dans le cas éventuel où la trame suivante est une trame CELP. En effet, si la trame suivante est une trame CELP, les mémoires internes du décodeur doivent correspondre aux états du décodeur à l'issue de la trame de remplacement. Dans un mode de réalisation, l'étape de génération par prédiction d'un segment supplémentaire de signal numérique comporte les sous-étapes suivantes : - génération par prédiction d'une trame supplémentaire, à partir d'au moins un paramètre de codage prédictif codant la trame précédente ; - extraction d'un segment de la trame supplémentaire. Dans ce mode de réalisation, le segment supplémentaire de signal numérique correspond à la première moitié de la trame supplémentaire. Ainsi, l'efficacité du procédé est encore améliorée car les données temporaires de calcul utilisées pour la génération de la trame CELP de remplacement sont directement disponibles pour la génération de la trame CELP supplémentaire. Typiquement, les registres et mémoires caches, sur lesquels sont stockés les données temporaires de calcul, peuvent ne pas être mis à jour afin de réutiliser directement ces données pour la génération de la trame CELP supplémentaire. Un deuxième aspect de l'invention vise un programme informatique comportant des instructions pour la mise en oeuvre du procédé selon le premier aspect de l'invention, lorsque ces instructions sont exécutées par un processeur. Un troisième aspect de l'invention vise un décodeur d'un signal numérique codé selon un codage prédictif et selon un codage par transformée, comprenant - - une unité de détection de la perte d'une trame courante du signal numérique ; - un décodeur prédictif comportant un processeur agencé pour effectuer les opérations suivantes : * décodage prédictif d'une trame précédente du signal numérique, codée par un ensemble de paramètres de codage prédictif ; * génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'une trame de remplacement de la trame courante ; * génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'un segment supplémentaire de signal numérique ; * stockage temporaire de ce segment supplémentaire de signal numérique dans une mémoire temporaire. Dans un mode de réalisation, le décodeur selon le troisième aspect de l'invention comprend en outre un décodeur par transformée comportant un processeur agencé pour effectuer les opérations suivantes : * réception d'une trame suivante de signal numérique codé comprenant au moins un segment codé par transformée ; et * décodage de la trame suivante comprenant une sous-étape d'addition avec recouvrement entre le segment supplémentaire de signal numérique et le segment codé par transformée. Au niveau du codeur, l'invention peut comprendre l'insertion dans la trame de transition d'un bit d'information sur le coeur CELP employé pour le codage de la sous-trame de transition. D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels: - la figure 1 illustre un décodeur audio selon un mode de réalisation de l'invention ; - la figure 2 illustre un décodeur CELP d'un décodeur audio, tel que le décodeur audio de la figure 1, selon un mode de réalisation de l'invention. - la figure 3 est un diagramme illustrant les étapes d'un procédé de décodage, mis en oeuvre par le décodeur audio de la figure 1, selon un mode de réalisation de l'invention ; - la figure 4 illustre un dispositif de calcul selon un mode de réalisation de l'invention. La figure 1 illustre un décodeur audio 100 selon un mode de réalisation de l'invention. Aucune structure de codeur audio n'est présentée. Toutefois, le signal audio numérique codé reçu par le décodeur selon l'invention peut être issu d'un codeur apte à coder un signal audio sous-forme de trames CELP, de trames MDCT et de trames de transition CELP/MDCT, tel que le codeur décrit dans la demande W02012/085451. A cet effet, une trame de transition, codée par transformée, peut comprendre en outre un segment (une sous-trame par exemple) codé par un codage prédictif. Le codeur peut en outre ajouter un bit dans la trame de transition pour identifier la fréquence du coeur CELP utilisé. L'exemple de codage CELP est donné à titre illustratif pour décrire tout type de codage prédictif. De même, l'exemple de codage MDCT est donné à titre illustratif pour décrire tout type de codage par transformée. Le décodeur 100 comprend une unité de réception 101 d'un signal audio numérique codé. Le signal numérique est codé sous forme de trames CELP, de trames MDCT et de trames de transition CELP/MDCT. Dans des variantes de l'invention, d'autres modes que les modes CELP et MDCT sont possibles, et d'autres combinaisons de modes sont donc envisageables, sans changer le principe de l'invention. Par ailleurs, le codage CELP pourra être remplacé par un autre type de codage prédictif, et le codage MDCT pourra être remplacé par un autre type de codage par transformée. Le décodeur 100 comprend en outre une unité de classification 102 apte à déterminer - en général par simple lecture du train binaire et interprétation des indications reçues du codeur - si une trame courante est une trame CELP, une trame MDCT, ou une trame de transition. En fonction de la classification de la trame courante, cette dernière peut être transmise à un décodeur CELP 103 ou à un décodeur MDCT 104 (ou au deux, dans le cas d'une trame de transition, la sous-trame CELP de transition étant transmise à une unité de décodage 105 décrite ci-après). De plus, dans le cas où la trame courante est une trame correcte (ou reçue) de transition et où le codage CELP peut fonctionner à au moins deux fréquences (12,8 et 16 kHz), l'unité de classification 102 pourra déterminer le type de codage CELP utilisé dans la sous-trame CELP supplémentaire - ce type de codage étant indiqué débit binaire en sortie du codeur. Un exemple de structure de décodeur CELP 103 est représenté en référence à la figure 2. Une unité de réception 201, pouvant comprendre une fonction de démultiplexage, est apte à recevoir des paramètres de codage CELP de la trame courante. Ces paramètres peuvent comprendre des paramètres d'excitation (vecteurs de gain, vecteur de dictionnaire fixe, vecteur de dictionnaire adaptatif par exemple) transmis à une unité de décodage 202 apte à générer une excitation. En outre, les paramètres de codage CELP peuvent comprendre des coefficients LPC représentés sous forme de LSF ou d'ISF par exemple. Les coefficients LPC sont décodés par une unité de décodage 203 apte à fournir les coefficients LPC à un filtre LPC de synthèse 205. Le filtre de synthèse 205, excité par l'excitation générée par l'unité 202, synthétise une trame (ou généralement une sous-trame) de signal numérique transmis à un filtre de dé-emphase ou désaccentuation 206 (fonction de la forme 1/(1-az1) avec par exemple a=0.68). En sortie du filtre de dé-emphase, le décodeur CELP 103 peut comprendre un post-traitement des basses fréquences 207 (ou « bass-post filter » en anglais) similaire à celui décrit dans la norme UIT-T G.718. Le décodeur CELP 103 comprend en outre un ré-échantillonnage 208 du signal synthétisé à la fréquence de sortie (la fréquence de sortie du décodeur MDCT 104), et une interface de sortie 209. Dans des variantes de l'invention, des post-traitements supplémentaires de la synthèse CELP peuvent être mis en oeuvre avant ou après ré-échantillonnage. En outre, dans le cas où le signal numérique est décomposé en bandes de fréquences hautes et basses avant codage, le décodeur CELP 103 peut comprendre une unité de décodage des hautes fréquences 204, le signal basses fréquences étant décodé par les unités 202 à 208 décrites ci-avant. La synthèse CELP peut impliquer la mise à jour d'états internes de codeur CELP (ou la mise à jour de mémoires internes), tels que : - des états servant au décodage de l'excitation ; - la mémoire du filtre de synthèse 205 ; - la mémoire du filtre de dé-emphase 206 ; - des mémoires du post-traitement 207 ; - des mémoires de l'unité de ré-échantillonnage 208. En référence à la figure 1, le décodeur comprend en outre une unité de gestion de perte de trame 108 et une mémoire temporaire 107. Afin de décoder une trame de transition, le décodeur 100 comprend en outre en unité de décodage 105 apte à recevoir la sous-trame CELP de transition et la trame de transition décodée par transformée en sortie du décodeur MDCT 104, afin de décoder la trame de transition par addition avec recouvrement des signaux reçus. Le décodeur 100 peut comprendre en outre une interface de sortie 106. Le fonctionnement du décodeur 100 selon l'invention sera mieux compris en référence à la figure 3 qui est un diagramme présentant les étapes d'un procédé selon un mode de réalisation de l'invention. A une étape 301, une trame courante de signal audio numérique codée peut être reçue ou non par l'unité de réception 101, en provenance d'un codeur. Il est considéré que la trame précédente de signal audio est une trame correctement reçue et décodée ou une trame de remplacement. Il est détecté à une étape 302 si la trame courante codée est manquante ou s'il elle a été reçue par l'unité de réception 101. Dans le cas où la trame courante codée a bien été reçue, il est déterminé à une étape 303, par l'unité de classification 102, si la trame courante codée est une trame CELP. Dans le cas où la trame courante codée est une trame CELP, le procédé comprend une étape 304 de décodage et de ré-échantillonnage de la trame CELP codée, par le décodeur CELP 103. Les mémoires internes précitées du décodeur CELP 103 peuvent ensuite être mises à jour à une étape 305. A une étape 306, le signal décodé et ré-échantillonné est transmis en sortie du décodeur 100. Les paramètres d'excitation de la trame courante, ainsi que les coefficients LPC, peuvent être stockés dans la mémoire 107. Dans le cas où la trame courante codée n'est pas une trame CELP, la trame courante comprend au moins un segment codé selon un codage par transformée (trame MDCT ou trame de transition). Il est alors vérifié à une étape 307 si la trame courante codée est une trame MDCT. Si tel est le cas, la trame courante est décodée à une étape 308 par le décodeur MDCT 104 et le signal décodé est transmis en sortie du décodeur 100 à l'étape 306. Si en revanche la trame courante n'est pas une trame MDCT, alors c'est une trame de transition qui est décodée à une étape 309 en décodant à la fois la sous-trame de transition CELP et la trame courante codée par transformée MDCT et en effectuant l'addition avec recouvrement des signaux issus du décodeur CELP et du décodeur MDCT afin d'obtenir un signal numérique transmis en sortie du décodeur 100 à l'étape 306. Dans le cas où la sous-trame courante a été perdue, il est déterminé à une étape 310 si la trame précédente reçue et décodée était une trame CELP. Si tel n'est pas le cas, un algorithme de PLC adapté à la MDCT, mis en oeuvre dans l'unité de gestion de perte de trame 108 génère une trame de remplacement MDCT décodée par le décodeur MDCT 104 afin d'obtenir un signal numérique de sortie, à une étape 311. Si la dernière trame correctement reçue était une trame CELP, un algorithme de PLC adapté au CELP est mis en oeuvre par l'unité de gestion de perte de trame 108 et le décodeur CELP 103 afin de générer une trame CELP de remplacement, à une étape 312. L'algorithme de PLC peut comprendre les étapes suivantes : estimation par interpolation des paramètres LSF et du filtre LPC en fonction des paramètres LSF de la trame précédente, en mettant à jour, à une étape 313, les mémoires des quantificateurs prédictifs LSF (qui peuvent être par exemple de type AR or MA) - un exemple de mise en oeuvre de l'estimation des paramètres LPC en cas de perte de trame pour le cas des paramètres ISF est donné dans les clauses 7.11.1.2 « ISF estimation and interpolation » et 7.11.1.7 « Spectral envelope concealment, synthesis, and updates » de la norme UIT-T G.718. Alternativement l'estimation décrite dans la clause 1.5.2.3.3 de la norme UIT-T G.722.2 Appendix I pourra également être utilisée dans le cas d'une quantification de type MA ; - estimation de l'excitation à partir du gain adaptatif et du gain fixe de la trame précédente, en mettant ces valeurs à jour, à l'étape 313, pour la trame suivant. Un exemple d'estimation de l'excitation est décrit dans les clauses 7.11.1.3 « Extrapolation of future pitch », 7.11.1.4 « Construction of the periodic part of the excitation », 7.11.1.15 « Glottal pulse resynchronization in low-delay », 7.11.1.6 « Construction of the random part of the excitation ». Le vecteur du dictionnaire fixe est typiquement remplacé dans chaque sous-trame par un signal aléatoire, le dictionnaire adaptatif utilise un pitch extrapolé et les gains de dictionnaires issus de la trame précédente ont typiquement été atténués selon la classe du signal dans la dernière trame reçue. Alternativement l'estimation de l'excitation décrite dans la norme UIT-T G.722.2 Appendix I pourra également être utilisée ; - synthétiser le signal à partir de l'excitation et du filtre de synthèse 205 mis à jour et en utilisant la mémoire de synthèse de la trame précédente, en mettant à jour la mémoire de synthèse de la trame précédente à l'étape 313 ; - dé-emphase du signal synthétisé en utilisant l'unité de dé-emphase 206, et en mettant à jour, à l'étape 313, la mémoire de l'unité de dé-emphase 206 ; - de façon optionnelle, post-traitement 207 du signal synthétisé en mettant à jour, à l'étape 313, la mémoire du post-traitement - on peut noter que le post-traitement peut être désactivé pendant la correction de perte de trame car les informations qu'ils utilisent ne sont pas fiables car simplement extrapolées, dans ce cas les mémoires du post-traitement doivent quand-même être mise à jour pour permettre un fonctionnement normal à la prochaine trame reçue ; - ré-échantillonnage du signal synthétisé à la fréquence de sortie par le ré-échantillonnage 208, en mettant à jour la mémoire du filtre 208 à l'étape 313. La mise à jour des mémoires internes permet le décodage d'une éventuelle trame suivante codée par prédiction CELP sans discontinuité. A noter que, dans la norme UIT-T G.718, des techniques de « recovery » et de contrôle de l'énergie de la synthèse sont également employées (par exemple dans les clauses 7.11.1.8 et 7.11.1.8.1) lors du décodage d'une trame reçue après une correction de perte de trame. Cet aspect n'est pas considéré ici car il sort du cadre de l'invention. A une étape 314, les mémoires ainsi mises à jour peuvent être copiées dans la mémoire temporaire 107. La trame CELP de remplacement décodée est transmise en sortie du décodeur à une étape 315. A une étape 316, le procédé selon l'invention prévoit la génération par prédiction, d'un segment supplémentaire de signal numérique, en mettant en oeuvre un algorithme de PLC adapté au CELP. L'étape 316 peut comprendre les sous-étapes suivantes : - estimation par interpolation des paramètres LSF et du filtre LPC en fonction des paramètres LSF de la trame CELP précédente, sans mettre à jour les mémoires des quantificateurs LSF. L'estimation par interpolation peut être mise en oeuvre selon la même méthode que celle employée pour l'estimation par interpolation pour la trame de remplacement décrite ci-avant (sans mise à jour des mémoires des quantificateurs LSF) ; - estimation de l'excitation à l'aide du gain adaptatif et du gain fixe de la trame CELP précédente, sans mettre à jour ces valeurs pour la trame suivante. L'excitation peut être déterminée selon la même méthode que celle employée pour la détermination de l'excitation pour la trame de remplacement (sans la mise à jour des valeurs de gain adaptatif et de gain fixe) ; - synthétiser un segment de signal (une demi-trame ou une sous-trame par exemple) à partir de l'excitation et du filtre de synthèse 205 recalculé et en utilisant la mémoire de synthèse de la trame précédente ; - dé-emphase du signal synthétisé en utilisant l'unité de dé-emphase 206; - de façon optionnelle, post-traitement du signal synthétisé en utilisant la mémoire du post-traitement 207 ; - ré-échantillonnage du signal synthétisé à la fréquence de sortie par le ré- échantillonnage 208, en utilisant les mémoires de ré-échantillonnage 208. Il est important de noter que pour chacune des étapes, l'invention prévoit de mémoriser dans des variables temporaires les états du décodage CELP qui sont modifiées à chacune des étapes, avant d'effectuer ces étapes, de sorte que les états prédéterminés puissent être rétablis à leurs valeurs mémorisées après génération du segment temporaire. Le segment de signal supplémentaire généré est stocké dans la mémoire 107 à une étape 317. A une étape 318, une trame suivante de signal numérique est reçue par l'unité de réception 101. Il est vérifié à une étape 319 que la trame suivante est une trame MDCT ou une trame de transition. Si tel n'est pas le cas, alors la trame suivante est une trame CELP et elle est décodée par le décodeur CELP 103 à une étape 320. Le segment supplémentaire synthétisé à l'étape 316 n'est pas utilisé et peut être supprimé de la mémoire 107. Dans le cas où la trame suivante est une trame MDCT ou une trame de transition, elle est décodée par le décodeur MDCT 104 à une étape 322. En parallèle, le segment de signal numérique supplémentaire stocké dans la mémoire 107 est récupéré à une étape 323 par l'unité de gestion 108 et transmise à l'unité de décodage 105. Dans le cas où la trame suivante est une trame MDCT, le segment de signal supplémentaire obtenu permet d'effectuer une addition-recouvrement par l'unité 103 afin de décoder correctement la première partie de la trame MDCT suivante, à une étape 324. Par exemple, lorsque le segment supplémentaire est une moitié de sous-trame, un gain linéaire entre 0 et 1 peut être appliqué lors de l'addition recouvrement sur la première moitié de la trame MDCT et un gain linéaire entre 1 et 0 est appliqué sur le segment de signal supplémentaire. Sans ce segment de signal supplémentaire, le décodage MDCT peut donner lieu à des discontinuités dues aux erreurs de quantification. Dans le cas où la trame suivante est une trame de transition, deux cas sont à distinguer comme considérés ci-dessous. On rappelle que le décodage de la trame de transition s'appuie non seulement sur la classification de la trame courante comme « trame de transition » mais aussi une indication du type de codage CELP (12,8 ou 16 kHz) lorsque plusieurs fréquences de codage CELP sont possibles. Ainsi : - si la trame CELP précédente a été codée par un coeur à une première fréquence (par exemple 12,8 kHz) et que la sous-trame CELP de transition a été codée par un coeur à une deuxième fréquence (par exemple 16 kHz), alors la sous-trame de transition ne peut être décodée, et le segment de signal supplémentaire permet alors à l'unité de décodage 105 d'assurer l'addition recouvrement avec le signal issu du décodage MDCT de l'étape 322. Par exemple, lorsque le segment supplémentaire est une moitié de sous-trame, un gain linéaire entre 0 et 1 peut être appliqué lors de l'addition recouvrement sur la première moitié de la trame MDCT et un gain linéaire entre 1 et 0 est appliqué sur le segment de signal supplémentaire. ; - si la trame CELP précédente et la sous-trame CELP de transition ont été codées par un coeur à la même fréquence, alors la sous-trame CELP de transition peut être décodée et utilisée par l'unité de décodage 105 pour l'addition-recouvrement avec le signal numérique issu du décodeur MDCT 104 ayant décodé la trame de transition. L'addition avec recouvrement entre le segment de signal supplémentaire et la trame MDCT décodée peut être donnée par la formule suivante : S(i) = B(i). (L/i r) + (1 (L/i r)) .T(i) avec : - r un coefficient représentatif de la longueur du segment supplémentaire généré, la longueur étant égale à L/r. Aucune restriction n'est attachée à la valeur r, qui sera choisie de manière à permettre un recouvrement suffisant entre le segment de signal supplémentaire et la trame MDCT de transition décodée. Par exemple, r peut être égal à 2 ; - i un instant correspondant à un échantillon de la trame suivante, compris entre 0 et L/r; - L la longueur de la trame suivante (par exemple 20 ms) ; - S(i) l'amplitude de la trame suivante après addition, pour l'échantillon i ; - B(i) l'amplitude du segment décodé par transformée, pour l'échantillon i ; - T(i) l'amplitude du segment supplémentaire de signal numérique, pour l'échantillon i. Le signal numérique obtenu après addition recouvrement est transmis en sortie du décodeur à une étape 325. Ainsi, l'invention prévoit, sur perte d'une trame courante suivant une trame CELP précédente, la génération d'un segment supplémentaire en plus d'une trame de remplacement. Dans certains cas, et notamment si la trame suivante est une trame CELP, un tel segment supplémentaire n'est pas utilisé. Toutefois, son calcul n'induit aucune complexité supplémentaire dans la mesure où les paramètres de codage de la trame précédente sont réutilisés. En revanche, lorsque la trame suivante est une trame MDCT ou une trame de transition avec une sous trame CELP à une fréquence de coeur différente de la fréquence de coeur utilisée pour le codage de la trame CELP précédente, le segment de signal supplémentaire généré et stocké permet le décodage de la trame suivante, qui n'était pas permis par les solutions de l'art antérieur. La figure 4 représente un exemple de dispositif de calcul 400 pouvant être intégré dans le codeur CELP 103 et dans le codeur MDCT 104. Le dispositif 400 comprend une mémoire vive 404 et un processeur 403 pour stocker des instructions permettant la mise en oeuvre d'étapes du procédé décrit ci-avant (mises en oeuvre par le codeur CELP 103 ou par le codeur MDCT 104). Le dispositif comporte aussi une mémoire de masse 405 pour le stockage de données destinées à être conservées après l'application du procédé. Le dispositif 400 comporte en outre une interface d'entrée 401 et une interface de sortie 406 respectivement destinées à recevoir les trames du signal numérique et à transmettre les trames de signal décodées. Le dispositif 400 peut en outre comporter un processeur de signal numérique (DSP) 402. Ce DSP 402 reçoit les trames de signal numérique pour mettre en forme, démoduler et amplifier, de façon connue en soi ces trames. La présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples ; elle s'étend à d'autres variantes. Ainsi, on a décrit ci-avant un mode de réalisation dans lequel le décodeur est une entité à part entière. Bien sûr, un tél décodeur peut être embarqué dans tout type de dispositif plus important comme par exemple un téléphone portable, un ordinateur, etc. De plus, on a décrit un mode de réalisation proposant une architecture particulière du décodeur. Ces architectures ne sont données qu'à titre illustratif. Ainsi, un agencement des composants et une répartition différente des taches affectées à chacune de ces composantes est également envisageable. REVENDICATIONS1. Procédé de décodage d'un signal numérique codé selon un codage prédictif et selon un codage par transformée, comprenant les étapes suivantes : - décodage (304) prédictif d'une trame précédente du signal numérique, codée par un ensemble de paramètres de codage prédictif ; - détection (302) de la perte d'une trame courante du signal numérique codé; - génération (312) par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'une trame de remplacement de la trame courante ; - génération (316) par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'un segment supplémentaire de signal numérique ; - stockage (317) temporaire dudit segment supplémentaire de signal numérique. 2. Procédé selon la revendication 1, comprenant en outre les étapes suivantes : - réception (318) d'une trame suivante de signal numérique codé comprenant au moins un segment codé par transformée ; et - décodage (322 ; 323 ; 324) de la trame suivante comprenant une sous-étape d'addition avec recouvrement entre le segment supplémentaire de signal numérique et ledit segment codé par transformée. 3. Procédé selon la revendication 2, dans lequel la trame suivante est entièrement codée selon un codage par transformée, et dans lequel la trame courante perdue est une trame de transition entre la trame précédente codée selon un codage prédictif et la trame suivante codée selon un codage par transformée. 4. Procédé selon la revendication 2, dans lequel la trame précédente est codée selon un codage prédictif par un coeur de codeur prédictif fonctionnant à une première fréquence, et dans lequel la trame suivante est une trame de transition comprenant au moins une sous-trame codée selon un codage prédictif par un coeur de codeur prédictif fonctionnant à une deuxième fréquence distincte de la première fréquence. 5. Procédé selon la revendication 4, dans lequel la trame suivante comprend un bit indiquant la fréquence du coeur de codage prédictif utilisé. 6. Procédé selon l'une des revendications 2 à 5, dans lequel l'addition avec recouvrement est donnée par application de la formule suivante :S(i) = B . (1, + (1 (L/i r)) .T (i) avec : - r est un coefficient représentatif de la longueur du segment supplémentaire généré ; - i un instant correspondant à un échantillon de la trame suivante, compris entre 0 et L/r ; - L la longueur de la trame suivante ; -S(i) l'amplitude de la trame suivante après addition, pour l'échantillon i ; - B(i) l'amplitude du segment décodé par transformée, pour l'échantillon i ; - T(i) l'amplitude du segment supplémentaire de signal numérique, pour l'échantillon i. 7. Procédé selon l'une des revendications précédentes, dans lequel l'étape de génération par prédiction de la trame de remplacement comporte en outre une mise à jour (313) de mémoires internes du décodeur, et dans lequel l'étape de génération par prédiction d'un segment supplémentaire de signal numérique comporte les sous-étapes suivantes : - copie (314) dans une mémoire temporaire (107), des mémoires du décodeur mises à jour lors de l'étape de génération par prédiction de la trame de remplacement ; - génération (316) du segment supplémentaire de signal numérique au moyen de la mémoire temporaire. 8. Procédé selon l'une des revendications précédentes, dans lequel l'étape de génération par prédiction d'un segment supplémentaire de signal numérique comporte les sous-étapes suivantes : - génération par prédiction d'une trame supplémentaire, à partir d'au moins un paramètre de codage prédictif codant la trame précédente ; - extraction d'un segment de la trame supplémentaire ; et dans lequel le segment supplémentaire de signal numérique correspond à la première moitié de la trame supplémentaire. 9. Programme informatique comportant des instructions pour la mise en oeuvre du procédé selon l'une quelconque des revendications précédentes, lorsque ces instructions sont exécutées par un processeur. 10. Décodeur d'un signal numérique codé selon un codage prédictif et selon un codage par transformée, comprenant - - une unité de détection (108) de la perte d'une trame courante du signal numérique ; - un décodeur prédictif (103) comportant un processeur agencé pour effectuer les opérationssuivantes : * décodage prédictif d'une trame précédente du signal numérique, codée par un ensemble de paramètres de codage prédictif ; * génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'une trame de remplacement de la trame courante ; * génération par prédiction, à partir d'au moins un paramètre de codage prédictif codant la trame précédente, d'un segment supplémentaire de signal numérique ; * stockage temporaire dudit segment supplémentaire de signal numérique dans une mémoire temporaire (107). 11. Décodeur selon la revendication 10, comportant en outre un décodeur par transformée (104) comportant un processeur agencé pour effectuer les opérations suivantes : * réception d'une trame suivante de signal numérique codé comprenant au moins un segment codé par transformée ; et * décodage de la trame suivante par transformée ; ledit décodeur comprenant en outre une unité de décodage (105) comprenant un processeur agencé pour effectuer une addition avec recouvrement entre le segment supplémentaire de signal numérique et ledit segment codé par transformée.