Procédé de codage d'un signal audio source, dispositif de codage, procédé et dispositif de décodage, signal, produits programme d'ordinateur correspondants.
1. Domaine de l'invention
Le domaine de l'invention est celui du codage et du décodage de signaux audionumériques, tels que des signaux de musique ou de parole numérisée.
Plus particulièrement, l'invention concerne la quantification des coefficients spectraux de signaux audio, en mettant en œuvre un codage perceptif.
L'invention s'applique notamment, mais non exclusivement, aux systèmes mettant en œuvre un codage hiérarchique de données audionumériques, du type du système de codage/décodage « scalable » (ou « échelonnable ») de données proposé dans le cadre du standard MPEG Audio (ISO/IEC 14496-3).
Plus généralement, l'invention trouve des applications dans le domaine de la quantification des sons et de la musique de façon efficace, pour leur stockage, leur compression ainsi que leur transmission à travers des canaux de transmission,par exemple hertzien ou câblé.
2. Solution de l'art antérieur
2.1 Codage perceptif avec transmission d'une courbe de masquage
2 .1.1 compression audio et quantification
La compression audio est souvent basée sur certaines capacités d'audition de l'oreille humaine. Le codage et la quantification d'un signal audio prennent souvent en compte cette caractéristique. On parle de codage perceptuel, ou de codage selon un modèle psycho-acoustique de l'oreille humaine.
L'oreille est notamment incapable de séparer deux composantes d'un signal émises à des fréquences proches, ainsi que dans un intervalle de temps réduit. Cette propriété est appelée masquage auditif. De plus, l'oreille présente un seuil d'audition, en ambiance calme, en dessous duquel aucun son émis ne sera perçu. Le niveau de ce seuil varie en fonction de la fréquence de l'onde sonore.
Dans le cadre de la compression et/ou de la transmission de signaux audionumériques, on cherche à déterminer un nombre de bits de quantification à
utiliser pour quantifier des coefficients spectraux composant le signal, sans introduire un bruit de quantification trop important, et ainsi nuire à la qualité du signal codé. L'objectif étant généralement de réduire le nombre de bits de quantification, de façon à obtenir une compression du signal efficace, il s'agit donc de trouver un compromis entre la qualité sonore et le niveau de compression du signal.
Dans les techniques classiques de l'état de l'art, les principes de quantification utilisent alors un seuil de masquage induit par l'oreille humaine et la propriété de masquage pour déterminer la quantité de bruit de quantification maximum qu'il est acceptable d'injecter dans le signal sans que celui-ci ne soit perçu par l'oreille lors de la restitution du signal audio, c'est-à-dire sans introduire une distorsion trop importante.
2.1.2 Codage audio perceptif par transformée
Pour une description exhaustive du codage audio par transformée, on peut notamment se référer au document Jayant, Johnson and Safranek, « Signal Compression Based on Method of Human Perception », Proc. Of IEEE, Vol. 81, No. 10, PP. 1385-1422, October 1993.
Cette technique exploite le modèle de masquage fréquentiel de l'oreille illustré par la figure 1, qui présente un exemple de représentation fréquentielle d'un signal audio et le seuil de masquage de l'oreille. L'axe des abscisses 10 représente les fréquences f, en Hz, l'axe des ordonnées 11 celui de l'intensité sonore I, en dB. L'oreille décompose le spectre d'un signal x{t) en bandes critiques 120, 121, 122, 123 dans le domaine fréquentiel selon l'échelle des Barks. La bande critique 120 d'indice n du signal x(t) et d'énergie En engendre alors un masque 13 à l'intérieur de la bande d'indice n et dans les bandes critiques voisines 122 et 123. Le seuil de masquage 13 associé est proportionnel à l'énergie En de la composante 120 « masquante » et décroissant pour les bandes critiques d'indices inférieurs et supérieurs à n .
Les composantes 122 et 123 sont masquées dans l'exemple de la figure 1. De plus, la composante 121 est elle aussi masquée puisqu'elle se situe en dessous
de seuil d'audition absolu 14. On obtient alors une courbe de masquage globale, par combinaison du seuil d'audition absolu 14 et des seuils de masquage associés à chacune des composantes du signal audio x(t) analysé en bandes critiques.
Cette courbe de masquage représente la densité spectrale de bruit de quantification maximum qu'il est possible de superposer au signal, lors de son codage, sans que celui-ci soit perceptible par l'oreille humaine. On met alors en forme un profil de pas de quantification, appelé aussi, par abus de langage, profil de bruit injecté, lors de la quantification des coefficients spectraux issus de la transformée en fréquence du signal audio source.
La figure 2 est un organigramme illustrant le principe d'un codeur perceptif classique. Un signal audio source x(t) temporel est transformé dans le domaine des fréquence par un bloc 20 de transformée temps-fréquence. Un spectre du signal source, composé de coefficients spectraux Xn est alors obtenu, qui est analysé par un modèle 21 psycho-acoustique, lequel a pour rôle de déterminer la courbe de masquage C globale du signal, en fonction du seuil d'audition absolu ainsi que des seuils de masquage de chaque composante spectrale du signal. La courbe de masquage obtenue permet de connaître la quantité de bruit de quantification qu'il est possible d'injecter et donc de déterminer le nombre de bits à utiliser pour quantifier les coefficients spectraux, ou échantillons. Cette étape de détermination du nombre de bits est réalisée par un bloc 22 d'allocation binaire, qui délivre un profil de pas de quantification An pour chaque coefficient Xn . L'allocation binaire cherche à atteindre le débit cible en réglant les pas de quantification sous la contrainte de mise en forme donnée par la courbe de masquage C. Les pas de quantification An sont codés, sous forme de facteurs d'échelle F notamment, par ce bloc 22 d'allocation binaire, pour être transmis comme information annexe dans le train binaire T.
Un bloc 23 de quantification reçoit les coefficients spectraux Xn ainsi que les pas de quantification An déterminés, et délivre alors des coefficients quantifiés Xn .
Enfin, un bloc 24 de codage et de formation de train binaire centralise les coefficients spectraux quantifiés Xn et les facteurs d'échelle F, pour les coder et former ainsi un train binaire contenant les donnés utiles relatives au signal audio source codé ainsi que les données représentatives des facteurs d'échelle.
2.2 Construction hiérarchique des courbes de masquage
On présente ci-après les inconvénients de l'art antérieur dans le cadre d'un codage hiérarchique de données audionumériques. Cependant, l'invention s'applique à tous les types de codeurs de signaux audionumériques, mettant un œuvre une quantification basée sur le modèle psycho-acoustique de l'oreille. Ces derniers ne sont pas nécessairement hiérarchiques.
Le codage hiérarchique consiste à mettre en cascade plusieurs étages de codeurs, le premier étage générant la version codée au plus bas débit à laquelle les étages suivants apportent des améliorations successives pour des débits graduellement croissants. Dans le cas particulier du codage de signaux audio, les étages d'amélioration sont classiquement basés sur un codage perceptif par transformée tel que décrit dans la section précédente.
Cependant, un inconvénient du codage perceptif par transformée dans une telle approche hiérarchique réside dans le fait que les facteurs d'échelle obtenus doivent être transmis dès le premier niveau, ou niveau de base. Ils représentent alors une part importante du débit alloué au niveau bas débit, par rapport aux données utiles.
Pour pallier cet inconvénient, et donc économiser la transmission du profil de bruit de quantification injecté, c'est-à-dire les facteurs d'échelle, une technique de masquage dite « implicite » a été proposée par J.Li dans le document "Embedded Audio Coding (EAC) With Implicit Auditory Masking", ACM Multimedia 2002. Une telle technique s'appuie sur la structure hiérarchique du système de codage-décodage pour estimer récursivement la courbe de masquage à chaque niveau de raffinement, en exploitant une approximation de cette courbe, s' affinant de niveau en niveau.
La mise à jour de la courbe de masquage est ainsi réitérée à chaque niveau hiérarchique, à partir des coefficients de la transformée quantifiés au niveau précédent.
Du fait que l'estimation de la courbe de masquage est basée sur les valeurs quantifiées des coefficients de la transformée temps-fréquence, elle peut être effectuée de façon identique au niveau du codeur et du décodeur : ceci présente l'avantage d'éviter de transmettre le profil du pas de quantification, ou bruit de quantification, au décodeur.
2.3 Inconvénients de la technique antérieure
Même si la technique de masquage implicite, basée sur un codage hiérarchique, permet d'éviter de transmettre la courbe de masquage, et ainsi de gagner en terme de débit par rapport au codage perceptuel classique selon lequel le profil du pas de quantification est transmis, les inventeurs ont constaté qu'elle présentait néanmoins plusieurs inconvénients.
En effet, le modèle de masquage mis en œuvre simultanément au codeur et au décodeur est nécessairement figé, et ne peut donc pas être adapté précisément à la nature du signal. Par exemple, un facteur de masquage unique est utilisé, indépendamment du caractère tonal ou non des composantes du spectre à coder.
De plus, les courbes de masquage sont calculées sous une hypothèse de stationnante du signal, et s'appliquent mal aux portions transitoires et aux attaques sonores.
Par ailleurs, les courbes de masquage étant obtenues à chaque niveau à partir des coefficients ou des résidus de coefficients quantifiés aux niveaux précédents, la courbe de masquage des premiers niveaux est incomplète, du fait que certaines portions du spectre ne sont pas encore codées. Cette courbe incomplète ne représente pas nécessairement une forme optimale du profil du pas de quantification pour le niveau hiérarchique considéré.
3. Exposé de l'invention
L'invention concerne un procédé de codage d'un signal audio source, comprenant les étapes suivantes :
- codage d'un profil de quantification de coefficients représentatifs d'au moins une transformée du signal audio source, selon au moins deux techniques de codage distinctes, délivrant au moins deux ensembles de données représentatives du profil de quantification ; sélection d'un des ensembles de données représentatives du profil de quantification, en fonction d'un critère de sélection basé sur des mesures de distorsion de signaux reconstruits respectivement à partir desdits ensembles de données et sur le débit nécessaire pour coder lesdits ensembles de données ;
- transmission et/ou stockage de l'ensemble de données représentatives du profil de quantification sélectionné et d'un indicateur représentatif de la technique de codage correspondante.
L'invention repose ainsi sur une approche nouvelle et inventive du codage des coefficients d'un signal audio source, permettant de réduire le débit alloué à la transmission des pas de quantification tout en gardant un profil de bruit de quantification injecté le plus proche possible de celui donné par une courbe de masquage calculée à partir de la connaissance complète du signal.
L'invention propose une sélection entre différents modes possibles de calcul du profil de pas de quantification. Il peut ainsi effectuer une sélection entre plusieurs gabarits de profil de pas de quantification, ou profils de bruit injectés. Ce choix est signalé par un indicateur, par exemple une signalisation contenue dans le train binaire formé par le codeur et transmise au système de restitution du signal audio, le décodeur.
Le critère de sélection peut prendre en compte notamment l'efficacité de chaque profil de quantification et le débit nécessaire pour coder l'ensemble de données correspondant.
On réalise ainsi un compromis entre le débit nécessaire pour transporter les données représentatives du signal, et la distorsion affectant le signal.
La quantification est donc optimisée, tout en minimisant le débit nécessaire à la transmission de données représentatives du profil du pas de
quantification, et n'apportant pas une information directe sur le signal audio en lui-même.
En d'autres termes, au codeur, le choix d'un mode de quantification s'effectue par comparaison d'une courbe de masquage de référence, estimée à partir du signal audio à coder, avec les profils de bruit associés à chacun des modes de quantification.
Il résulte de la technique de l'invention une meilleure efficacité de compression par rapport aux techniques antérieures, et donc une qualité perçue augmentée.
Pour au moins une première des techniques de codage, l'ensemble de données peut correspondre à une représentation paramétrique du profil de quantification.
En d'autres termes, parmi les techniques proposées pour quantifier les coefficients d'un signal audio transformé, il est possible de représenter le profil de quantification de façon paramétrique.
Dans un mode de réalisation particulier, la représentation paramétrique est formée d'au moins un segment de droite, caractérisé par une pente et une valeur à l'origine.
Une deuxième des techniques de codage peut délivrer un profil de quantification constant.
Ce mode de codage propose donc de coder le profil de pas de quantification en se basant sur un rapport signal à bruit (SNR), et non sur une courbe de masquage du signal.
Selon une troisième technique avantageuse de codage, le profil de quantification correspond à un seuil d'audition absolue.
En d'autres termes, l'ensemble de données représentatives du profil de quantification peut être vide et aucune donnée relative au profil de quantification n'est transmise du codeur vers le décodeur. Le seuil d'audition absolue est connu du décodeur.
Selon une quatrième technique de codage, l'ensemble de données représentatives du profil de quantification peut comprendre l'ensemble des pas de quantification mis en œuvre.
Cette quatrième technique de codage correspond au cas où le profil de pas de quantification est déterminé en fonction de la courbe de masquage du signal, connue uniquement au codeur, et entièrement transmise au décodeur. Le débit demandé est important, mais la qualité de restitution du signal est optimale.
Selon un mode de réalisation particulier, le codage met en œuvre un traitement hiérarchique délivrant au moins deux niveaux de codage hiérarchiques, comprenant un niveau de base et au moins un niveau de raffinement comprenant des informations de raffinement par rapport au niveau de base ou à un niveau de raffinement précédent.
Dans ce cas, une cinquième technique de codage prévoit que l'ensemble de données représentatives du profil de quantification s'obtient, à un niveau de raffinement donné, en tenant compte de données construites au niveau hiérarchique précédent.
L'invention s'applique ainsi efficacement au codage hiérarchique, et propose de coder le profil de pas de quantification selon une technique consistant à affiner celui-ci à chaque niveau hiérarchique.
L'étape de sélection peut être mise en œuvre à chaque niveau de codage hiérarchique.
Dans le cas où le procédé de codage délivre des trames de coefficients, l'étape de sélection peut être mise en œuvre pour chacune des trames.
La signalisation peut ainsi être effectuée non seulement pour chaque trame de traitement, mais, dans l'application particulière d'un codage hiérarchique des données, pour chaque niveau de raffinement.
Dans d'autres cas, le codage peut être mis en œuvre sur des groupes de trames, de tailles prédéfinies ou variables. On peut également prévoir que le profil courant reste inchangé tant qu'un nouvel indicateur n'a pas été transmis.
L'invention concerne par ailleurs un dispositif de codage d'un signal audio source, comprenant des moyens de mise en œuvre d'un tel procédé.
L'invention concerne encore un produit programme d'ordinateur pour la mise en œuvre du procédé de codage tel que décrit précédemment.
L'invention concerne également un signal codé représentatif d'un signal audio source, comprenant des données représentatives d'un profil de quantification. Un tel signal comprend notamment :
- un indicateur représentatif d'une technique de codage du profil de quantification mise en œuvre, choisie au codage parmi au moins deux techniques disponibles, en fonction d'un critère de sélection basé sur des mesures de distorsion de signaux reconstruits respectivement à partir du profil de quantification codé selon lesdites techniques et sur le débit nécessaire pour coder le profil de quantification selon lesdites techniques ;
- un ensemble de données représentatives du profil de quantification correspondant.
Un tel signal peut notamment comprendre des données relatives à au moins deux niveaux hiérarchiques obtenus par un traitement hiérarchique, comprenant un niveau de base et au moins un niveau de raffinement comprenant des informations de raffinement par rapport au niveau de base ou à un niveau de raffinement précédent, et comprend un indicateur représentatif d'une technique de codage pour chacun des niveaux.
Lorsque le signal selon l'invention est organisé en trames de coefficients successives, il peut comprendre un indicateur représentatif de la technique de codage utilisée pour chacune des trames.
L'invention concerne par ailleurs un procédé de décodage d'un tel signal. Ce procédé comprend notamment les étapes suivantes : - extraction du signal codé :
- d'un indicateur représentatif d'une technique de codage d'un profil de quantification mise en œuvre, choisie au codage parmi au moins deux techniques disponibles, en fonction d'un critère de sélection basé sur des
mesures de distorsion de signaux reconstruits respectivement à partir du profil de quantification codé selon lesdites techniques et sur le débit nécessaire pour coder le profil de quantification selon lesdites techniques ; d'un ensemble de données représentatives du profil de quantification correspondant ;
- reconstruction du profil de quantification reconstruit, en fonction de l'ensemble de données et de la technique de codage désignée par ledit indicateur.
Un tel procédé de décodage comprend également une étape de construction d'un signal audio reconstruit, représentatif du signal audio source, en tenant compte du profil de quantification reconstruit.
Pour au moins une première des techniques de codage, l'ensemble de données peut correspondre à une représentation paramétrique du profil de quantification, et l'étape de reconstruction délivre un profil de quantification reconstruit sous la forme d'au moins un segment de droite.
Pour au moins une seconde des techniques de codage, l'ensemble de données peut être vide et l'étape de reconstruction délivre un profil de quantification constant.
Pour au moins une troisième des techniques de codage, l'ensemble de données peut être vide, et l'étape de reconstruction délivre un profil de quantification correspondant à un seuil d'audition absolue.
Pour au moins une quatrième des techniques de codage, l'ensemble de données peut comprendre l'ensemble des pas de quantification mis en œuvre lors du procédé de codage décrit précédemment, et l'étape de construction délivre un profil de quantification sous la forme d'un ensemble des pas de quantification mis en œuvre lors du procédé de codage.
Dans un mode de réalisation particulier, le procédé de décodage peut mettre en œuvre un traitement hiérarchique délivrant deux niveaux de décodage hiérarchiques, comprenant un niveau de base et au moins un niveau de
raffinement comprenant des informations de raffinement par rapport au niveau de base ou à un niveau de raffinement précédent.
Pour au moins une cinquième des techniques de codage, l'étape de reconstruction délivre un profil de quantification obtenu, à un niveau de raffinement donné, en tenant compte de données construites au niveau hiérarchique précédent.
L'invention concerne également un dispositif de décodage d'un signal codé représentatif d'un signal audio source, comprenant des moyens de mise en œuvre du procédé de décodage décrit ci-dessus.
L'invention concerne aussi un produit programme d'ordinateur pour la mise en œuvre du procédé de décodage tel que décrit précédemment.
4. Liste des figures
D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels :
- la figure 1 illustre le seuil de masquage fréquentiel ;
- la figure 2 est un organigramme simplifié du codage perceptif par transformée selon l'état de la technique ;
- la figure 3 illustre un exemple de signal selon l'invention ;
- la figure 4 est un organigramme simplifié du procédé de codage selon l'invention ;
- la figure 5 est un organigramme simplifié du procédé de décodage selon l'invention ;
- les figures 6A et 6B illustrent schématiquement un dispositif de codage et un dispositif de décodage mettant en œuvre l'invention.
5. Description d'un mode de réalisation de l'invention 5.1 Structure du codeur
On décrit ci- après un mode de réalisation de l'invention dans l'application particulière d'un codage hiérarchique. On rappelle que, dans ce schéma, le codage
hiérarchique met en cascade des étapes de quantifications perceptives en sortie d'une transformée temps-fréquence (par exemple une MDCT pour « Modified Discrète Cosine Transform » en anglais, ou transformée en cosinus discret modifiée) du signal audio source à coder.
Un codeur selon ce mode de réalisation de l'invention est décrit en relation avec la figure 4. Un signal x(t) audio source est destiné à être transformé dans le domaine des fréquences, directement ou indirectement. En effet, optionnellement, le signal x(t) peut tout d'abord être codé dans une étape de codage 40. Une telle étape est mise en œuvre par un codeur « cœur ». Dans ce cas, cette première étape de codage correspond à un premier niveau hiérarchique de codage, c'est-à-dire le niveau de base. Un tel codeur « cœur » peut mettre en œuvre une étape 401 de codage, et une étape 402 de décodage local. Elle délivre alors un premier train binaire 46 représentatif des données du signal audio codé au niveau de raffinement le plus faible. Différentes techniques de codage peuvent être envisagées pour obtenir le niveau bas débit, comme des codages paramétriques tels que le codage sinusoïdal décrit dans le document B. den Brinker, E.Schuijers and W.Oomen,"Parametric coding for high-quality audio", in Proc. 112nd AES Convention, Munich, Germany, 2002 ou le codage par analyse-synthèse de type CELP (pour Code-Excited Linear Prédiction en anglais) décit dans le document M. Schroeder and B. Atal, "Code-excited linear prédiction (CELP): high quality speech at very low bit rates", in Proc. IEEE Int. Conf. Acoust., Speech, Signal Processing, Tampa, pp. 937-940, 1985.
Une soustraction 403 est effectuée entre les échantillons décodés par le décodeur local 402 et les valeurs réelles de x(t) , de façon à obtenir un signal de résidu r(t) dans le domaine temporel.
C'est alors ce signal de résidu en sortie du codeur bas-débit 40 (ou codeur
« cœur ») qui est transformé de l'espace temps vers l'espace des fréquences à l'étape 41. On obtient des coefficients spectraux lήp , dans le domaine fréquentiel, représentatifs des résidus délivrés par le codeur « cœur » 40, pour chaque bande critique d'indice k et pour le premier niveau hiérarchique.
L'étage 42 de niveau de codage suivant contient une étape 421 de codage des résidus R^ * , associée à une mise en œuvre 422 d'un modèle psychoacoustique, chargé de déterminer une première courbe de masquage pour le premier niveau de raffinement. On obtient alors en sortie de l'étape 421 de codage des coefficients de résidus quantifiés R^ , lesquels sont soustraits (423) aux coefficients R^ * d'origine issus de l'étape 40 de codage « cœur ». De nouveaux coefficients R[ * sont obtenus, qui sont eux-mêmes quantifiés et codés à l'étape
431 de codage du niveau 43 suivant. Là encore, un modèle 432 psycho-acoustique est mis en œuvre et met à jour le seuil de masquage en fonction des coefficients R[ * de résidus quantifiés précédemment.
En résumé, l'étape 40 de codage de base (codeur « cœur ») permet la transmission et le décodage, dans un terminal, d'une version bas débit du signal audio. Les étages successifs 42, 43 de quantification des résidus dans le domaine transformé constituent des couches d'amélioration, permettant de construire un train binaire hiérarchique depuis le niveau bas débit jusqu'à un débit maximum souhaité.
Selon l'invention, comme illustré par la figure 4, un indicateur ψ^ , ψ^ est associé à chaque modèle psycho-acoustique 422, 432 de chaque niveau de codage, pour chacun des étages de quantification. La valeur de cet indicateur est spécifique à chaque étage et contrôle le mode de calcul du profil du pas de quantification. Elle est placée en en-tête 441 et 451 des trames de coefficients spectraux quantifiés 442, 452 dans les trains binaires 44, 45 associés et formés à chaque niveau de codage 42, 43 amélioré.
Un exemple de structure d'un signal obtenu selon cette technique de codage est illustré par la figure 3. Le signal est organisé en blocs ou en trames de données 31 comprenant chacun un en-tête 32 et un champ de données 33. Un bloc correspond par exemple aux données (contenues dans le champ 33) d'un niveau hiérarchique pour un intervalle de temps prédéterminé. L' en- tête 32 peut comprendre plusieurs informations de signalisation, d'aide au décodage... Elle comprend au moins, selon l'invention, l'information Ψ.
5.2 Structure du décodeur
En relation avec la figure 5, on décrit le procédé de décodage mis en œuvre selon l'invention, dans le cas d'un décodage hiérarchique du signal de la figure 3.
De façon similaire au procédé de codage présenté en relation avec la figure 4, le décodage comprend plusieurs niveaux 50, 51, 52 de raffinement de décodage.
Une première étape 501 de décodage reçoit un train binaire 53 contenant les données 530 représentatives de l'indicateur ψ^ du premier niveau, déterminé lors de la première étape de codage et transmis au décodeur. Le train binaire contient de plus les données 531 représentatives des coefficients spectraux du signal audio.
Selon les coefficients quantifiés, ou les résidus de coefficients quantifiés, et la valeur de ψ^ reçu, un modèle psycho-acoustique est mis en œuvre dans une première étape 502, pour déterminer une première estimation de la courbe de masquage, et ainsi un profil de pas de quantification qui est utilisé pour traiter les résidus des coefficients spectraux dont dispose le décodeur à ce stade du procédé de décodage.
Les résidus de coefficients spectraux obtenus Tck ' pour chaque bande critique d'indice k permettent une mise à jour du modèle psycho-acoustique au niveau 51 suivant, dans une étape 512, qui affine alors la courbe de masquage et donc le profil des pas de quantification. Ce raffinement prend donc en compte la valeur de l'indicateur ^r ' pour le niveau 2, contenu en en-tête 540 du train binaire 54 transmis par le codeur correspondant, les résidus quantifiés au niveau précédent ainsi que des données 541 quantifiées relatives aux résidus de niveau 2, comprises dans le train binaire 54.
Les résidus
quantifiés sont obtenus en sortie du second niveau 51 de décodage. Ils sont additionnés (56) aux résidus RJp du niveau précédent, mais aussi injectés au niveau 52 suivant, qui, de façon similaire, affinera la précision sur les coefficients spectraux ainsi que sur le profil des pas de quantification, à
partir d'une étape 521 de décodage, et de la mise en œuvre d'un modèle psychoacoustique dans une étape 522. Ce niveau reçoit de plus un train binaire 55 envoyé par le codeur contenant la valeur de l'indicateur 55 yr ' et le spectre quantifié 551.
Les résidus Rηp quantifiés obtenus sont additionnés aux résidus R^ , et ainsi de suite.
En résumé, le modèle psycho-acoustique est mis à jour au fur et à mesure du décodage des coefficients par les niveaux de raffinement successifs. La lecture de l'indicateur ψ transmis par le codeur permet alors de reconstruire le profil de bruit (ou de quantification) par chaque étage de quantification.
On décrit ci-après en détail les étapes de mise à jour du modèle psychoacoustique, et de quantification des coefficients spectraux, communes au procédé de codage et au procédé de décodage, selon un mode de réalisation particulier. L'étape de détermination de la valeur de l'indicateur ψ , réalisée au codage est ensuite détaillée, suivie de l'étape de reconstruction des pas de quantification au niveau du décodeur.
5.3 Mise à jour du modèle psycho-acoustique
On rappelle qu'un modèle psycho-acoustique prend en compte les sous- bandes dans lesquelles l'oreille décompose un signal audio et détermine ainsi des seuils de masquage en utilisant les informations psycho-acoustiques. Ces seuils sont utilisés pour déterminer le pas de quantification des coefficients spectraux.
Dans le cadre de la présente invention, l'étape (mise en œuvre dans les étapes 422, 432 du procédé de codage et dans les étapes 502, 512, 522 du procédé de décodage) de mise à jour de la courbe de masquage par le modèle psychoacoustique demeure inchangée quelle que soit la valeur de l'indicateur ψ sur le choix du profil du pas de quantification.
En revanche, c'est la façon dont est employée cette courbe de masquage mise à jour par le modèle psycho-acoustique qui est conditionnée par la valeur de l'indication ψ pour définir le profil du pas de quantification mis en œuvre pour
quantifier les coefficients spectraux (ou les coefficients résiduels déterminés à un niveau de raffinement précédent).
Le modèle psycho-acoustique utilise à chaque niveau de quantification
(dans l'application particulière d'un système de codage-décodage hiérarchique) d'indice / , le spectre estimé X^ d'un signal audio x(t) , où k représente l'indice fréquentiel de la transformée tremps-fréquence. Ce spectre est initialisé au premier niveau de raffinement de quantification, par les données disponibles en sortie de l'étape de codage mise en œuvre par le codeur cœur. Aux niveaux de quantification suivants, le spectre X^ est actualisé à partir des coefficients résiduels R^ ~ ' quantifiés en sortie du niveau de raffinement précédent selon la formule suivante : X^ = 1[/"1) + R%~1) , avec k = 0,...,N - 1 , où N est la taille de la transformée dans le domaine fréquentiel.
Par convolution du spectre X^ avec le motif de masquage obtenu par le modèle psycho-acoustique, on peut construire un seuil de masquage associé au signal x(t) .
La courbe de masquage Ûψ estimée à l'étage de quantification d'indice
/ s'obtient alors comme le maximum entre le seuil de masquage associé au signal x(t) et la courbe d'audition absolue.
Par ailleurs, les procédés de codage et de décodage comprennent chacun une étape d'initialisation Init du modèle psycho-acoustique lors de sa première mise en oeuvre (étape 422 du procédé de codage et étape 502 du procédé de décodage), à partir des données transmises par le codeur coeur.
Plusieurs scénarios sont envisageables selon le type de codeur « cœur » mis en œuvre, dont quelques exemples sont décrits en annexe.
5.4 Quantification des coefficients spectraux
Avant de décrire précisément une technique de détermination de la meilleure valeur de l'indicateur ψ
conditionne le choix du profil de quantification, on détaille en premier lieu la façon dont est calculé le nombre de bits à allouer pour quantifier chaque coefficient spectral du signal audio, c'est-à- dire une fois que le profil du pas de quantification est connu.
5.4.1 Allocation binaire
On se place ici dans le cas général d'une loi de quantification Q, qui peut par exemple correspondre à l'arrondi à l'entier le plus proche. Les valeurs quantifiées R^ des coefficients résiduels R^ en entrée de l'étage de quantification d'indice / s'obtiennent à partir du profil de pas de quantification, noté Δ^ selon les équations suivantes :
pour Wffsetiή) ≤ k ≤ kOffsetin + 1) et
£
(/) = pour kθffset(n) ≤ k ≤ kθffset(n + 1)
où rq^ sont des coefficients à valeurs entières et kθffset(n) désigne l'indice fréquentiel initial de la bande critique d'indice n .
Le coefficient gt correspond quant à lui à un gain constant permettant d'ajuster le niveau du bruit de quantification injecté parallèlement au profil donné par Δ<|> .
Selon une première approche, ce gain gt est déterminé par une boucle d'allocation afin d'atteindre un débit cible assigné à chaque niveau de quantification d'indice / . Il est alors transmis au décodeur dans le train binaire en sortie de l'étage de quantification.
Selon une seconde approche, le gain gt est fonction du seul niveau de raffinement d'indice / et cette fonction est connue du décodeur.
5.4.2 Profils de pas de quantification
Les procédés de codage et de décodage selon l'invention proposent alors de déterminer un profil A^ de pas de quantification à partir d'un choix entre plusieurs techniques de codage, ou modes de calculs de ce profil. La sélection est indiquée par la valeur de l'indicateur ψ , transmis dans le train binaire. Selon la valeur de cet indicateur, le profil du pas de quantification est soit totalement transmis, soit partiellement, soit pas du tout. Dans ce dernier cas, le profil du pas de quantification est estimé au niveau du décodeur.
Le profil A^ de pas de quantification utilisé par l'étage de quantification d'indice / est calculé à partir de la courbe de masquage disponible à cet étage et de l'indicateur ψ^ ' en entrée.
Dans un mode de réalisation particulier, l'indicateur ψ^ est codé sur 3 bits, pour indiquer cinq techniques de codage différentes du profil du pas de quantification.
Pour une valeur de l'indicateur ^r ' = 0 , la courbe de masquage estimée par le modèle psycho-acoustique n'est pas utilisée et le profil des pas de quantification est uniforme selon la formule A^ = cte . On dit qu'on quantifie au sens du rapport signal sur bruit (SNR).
Pour une valeur de l'indicateur ^r ' = 1 , le profil de pas de quantification est défini uniquement à partir du seuil d'audition absolue selon l'équation kθffset(n+l)-l
A^ = ∑ Qk , où Qk désigne le seuil d'audition absolu. k=kθffset(n)
Dans ce cas de figure, le codeur ne transmet au décodeur aucune information relative au pas de quantification.
Pour une valeur de l'indicateur ψ^ = 2 , c'est la courbe de masquage M\ ' estimée par le modèle psycho-acoustique à l'étage d'indice / qui est utilisée pour définir le profil des pas de quantification selon l'équation
. On note que ce mode n'est possible que dans k=kθffset(n) l'application particulière où une construction hiérarchique de la courbe de masquage est mise en œuvre dans le système de codage-décodage du signal audio. Pour une valeur de l'indicateur ^r -
1 = 3 , le profil des pas de quantification est alors défini à partir d'un prototype de courbe paramétrable et connu au décodeur. Selon une application particulière, mais non exclusive, ce protoype est une droite affine, en dB pour chaque bande critique d'indice n , de pente a . On note D
n(a) , avec : Iog
2 (/
)„(«))= cm + K , où K est une constante.
La valeur de la pente a est choisie par corrélation avec la courbe de masquage de référence, calculée au codeur à partir d'une analyse spectrale du
signal à coder. Sa valeur quantifiée à est alors transmise au décodeur et utilisée pour définir le profil des pas de quantification selon la formule : A^ - Dn(â) .
Enfin, pour une valeur de l'indicateur ψ^ ' = A , le profil des pas de quantification A^ déterminé à l'étape de codage est entièrement transmis au décodeur. Les pas de quantification sont par exemple définis à partir de la courbe de masquage de référence M
k calculée au codeur à partir du signal audio source à kOffset(n+X)-\ coder. On a alors :
M
k . k=kθffset(n)
5.5 Détermination de la valeur de l'indicateur ψ
L'invention propose une technique particulière pour choisir judicieusement la valeur de l'indicateur ψ , et donc le profil de pas de quantification à appliquer pour coder et décoder un signal audio. Ce choix s'effectue à l'étape de codage, pour chaque niveau de quantification (dans le cas d'un codage hiérarchique) d'indice / .
En effet, on sait qu'à un étage de quantification donné, le profil de pas de quantification optimal vis-à-vis de la distorsion perçue entre le signal à coder et le signal reconstruit est obtenu à partir du calcul de la courbe de masquage de référence, basée sur le modèle psycho-acoustique et donné par la formule : kθffset(n+l)-l
A^ = ∑ M^ . Le choix d'une valeur de l'indicateur ψ consiste à k=kθffset(n) trouver le meilleur compromis entre l'optimalité du profil de pas de quantification, vis-à-vis de la distorsion perçue, et la minimisation du débit alloué à la transmission du profil des pas de quantification.
Une fonction de coût est introduite, pour obtenir un tel compromis : C(ψ)
4)y θ(ψ) avec Î/ = 0,1,2,3,4.
Cette fonction permet de prendre en compte l'efficacité de chacune des
mesure de distance entre
le profil de pas de quantification associé à chacune des valeurs de l'indicateur ^
• ( ^
• = 0,1,2,3,4 ) considérées et le profil optimal (associé à la valeur de
l'indicateur ψ = 4 , correspondant à la transmission de la courbe de masquage de référence). Cette distance peut se mesurer comme le surcoût, en bits, associé à l'utilisation d'un profil de masquage « sous optimal ». Cette fonction coût est calculée selon la formule :
Le rapport des gains G1 et G2 permet de normaliser les profils de pas de quantification l'un par rapport à l'autre.
Le second terme θ(ψ) représente le surcoût en bits associé à la transmission du profil
des pas de quantification. En d'autres termes, il représente le nombre de bits additionnels (hormis ceux codant l'indicateur ψ ) devant être transmis au décodeur pour permettre la reconstruction des pas de quantification. Soit : θ(ψ) est nul pour ψ = Q,\,2 (correspondant respectivement aux techniques de codage de quantification constante, de seuil d'audition absolu et de courbe de masquage ré estimée lors de l'étape de décodage) ; θ(ψ) représente le nombre de bits codant à lorsque ψ = 3
(correspondant à la technique de codage paramétrique du profil de pas de quantification) ; θ{ψ) est le nombre de bits codant les pas de quantification Ay définis à partir de la courbe de référence, lorsque ψ = 4
(correspondant à la transmission complète des pas de quantification du codeur vers le décodeur). 5.6 Reconstruction des pas de quantification lors du procédé de décodage
La reconstruction du profil des pas de quantification à un étage de quantification d'indice / est effectuée en fonction des données transmises par le décodeur.
Tout d'abord, quelle que soit la technique de codage du pas de quantification choisie, c'est-à-dire la valeur de l'indicateur ψ^ , le décodeur décode la valeur de cet indicateur présent en en-tête du train binaire reçu pour chaque trame, puis lis la valeur du gain d'ajustement gt . On distingue ensuite les cas selon la valeur de l'indicateur : si ψ^ = 4 , le décodeur lit l'ensemble des pas de quantification
Δ(0 . si ψ^ = 3 , le paramètre a est lu et le profil du pas de quantification est calculé au décodeur selon la formule précédemment introduite : A^ = Dn(â) ; si ψ^ ' = 2 , le décodeur calcule le profil du pas de quantification selon la formule précédemment introduite : kθffset(n+l)-l
A^ = ∑ M\ ' à partir de la courbe de masquage M\ ' k=kθjfset(n) reconstruite à l'étage d'indice / (construction récursive) ; si ψ^ ' = 1 , le décodeur calcule le profil du pas de quantification kθffset(n+l)-l selon la formule précédemment introduite : A^ = ^ Qk k=kθffset(n) basée sur le seuil d'audition absolu ; si ψ^ - 0 , le décodeur calcule le profil du pas de quantification selon la formule précédemment introduite : A^ = cte .
Une fois que les pas de quantification sont calculés à l'étape de décodage, et que les coefficients précédemment introduits
transmis dans le train binaire sont décodés (relatifs aux données utiles des coefficients spectraux ou de leurs résiduels), les valeurs quantifiées R^ des coefficients résiduels à l'étage d'indice
/ s'obtiennent selon les formules introduites au paragraphe 5.5.1 de la présente description, relatif à l'allocation binaire.
5.7 Dispositifs de mise en œuyre
Le procédé de l'invention peut être mis en œuvre un dispositif de codage, dont la structure est présentée en relation avec la figure 6A.
Un tel dispositif comprend une mémoire M 600, une unité de traitement 601, équipée par exemple d'un microprocesseur, et pilotée par le programme d'ordinateur Pg 602. A l'initialisation, les instructions de code du programme d'ordinateur 602 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 601. L'unité de traitement 601 reçoit en entrée un signal audio source à coder 603. Le microprocesseur μP de l'unité de traitement 601 met en œuvre le procédé de codage décrit ci-dessus, selon les instructions du programme Pg 602. L'unité de traitement 601 délivre en sortie un train binaire 604 comprenant notamment des données quantifiées représentatives du signal audio source codé, des données représentatives d'un profil de pas de quantification, et enfin des données représentatives de l'indicateur ψ.
L'invention concerne également un dispositif de décodage d'un signal codé représentatif d'un signal audio source selon l'invention, dont la structure générale simplifiée est illustrée schématiquement par la figure 6B. Il comprend une mémoire M 610, une unité de traitement 611, équipée par exemple d'un microprocesseur, et pilotée par le programme d'ordinateur Pg 612. A l'initialisation, les instructions de code du programme d'ordinateur 612 sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur de l'unité de traitement 611. L'unité de traitement 611 reçoit en entrée un train binaire 613, comprenant des données représentatives d'un signal audio source codé, des données représentatives d'un profil de pas de quantification et des données représentatives de l'indicateur ψ. Le microprocesseur μP de l'unité de traitement 611 met en œuvre le procédé de décodage selon les instructions du programme Pg 612, pour délivrer un signal audio reconstruit 612.
ANNEXE
Le modèle psycho-acoustique peut être initialisé de plusieurs façons, selon le type de codeur « cœur » mis en œuvre à l'étape de codage du niveau de base.
1 Initialisation à partir des paramètres transmis par un codeur sinusoïdal
Un codeur sinusoïdal modélise le signal audio par une somme de sinusoïdes de fréquences et d'amplitudes variables dans le temps. Les valeurs quantifiées des fréquences et amplitudes sont transmises au décodeur. A partir de ces valeurs, on peut construire le spectre X^ des composantes sinusoïdales du signal.
2 Initialisation à partir des paramètres transmis par un codeur CELP
A partir des coefficients LPC (pour « linear prédiction coding » en anglais) am quantifiés et transmis par un codeur CELP (pour « Code-excited linear prédiction » en anglais), on peut déduire un spectre d'enveloppe selon l'équation suivante : où N est la taille de la transformée et P est
le nombre de coefficients LPC transmis par le codeur CELP.
3 Initialisation à partir du signal décodé en sortie du codeur cœur
Le spectre initial X^ peut être simplement estimé à partir d'une analyse spectrale court-terme du signal décodé en sortie du codeur cœur.
Une combinaison de ces méthodes d'initialisation est également envisageable. Par exemple, le spectre initial X^ peut être obtenu par addition du spectre d'enveloppe LPC défini selon l'équation précédente, et du spectre à court terme estimé à partir du résidu codé par un codeur CELP.