Procédé et dispositif de codage audio
La présente invention concerne un procédé et un dispositif de codage audio. Elle s'applique, en particulier, au codage avec enrichissement de tout ou partie du spectre audio, notamment en vue de leur transmission sur un réseau informatique, par exemple Internet, ou de leur stockage sur un support d'informations numériques. Ce procédé et ce dispositif peuvent être intégrés à tout système permettant de compresser puis décompresser un signal audio sur toutes plates-formes matérielles. En compressions audio, le débit est souvent réduit en limitant la bande passante du signal audio. Généralement on ne conserve que les basses fréquences car l'oreille humaine a une meilleure résolution et sensibilité spectrales en basse fréquence qu'en haute fréquence. Typiquement on ne conserve que les basses fréquences du signal, ainsi le débit des données à transférer est d'autant plus faible. Comme les harmoniques contenues dans les basses fréquences sont aussi présentes dans les hautes fréquences, certaines méthodes de l'état de l'art tentent, à partir du signal limité aux basses fréquences, d'extraire des harmoniques qui permettent de recréer les hautes fréquences artificiellement. Ces méthodes reposent généralement sur un
enrichissement spectral consistant à recréer un spectre haute fréquence par transposition du spectre basse fréquence, ce spectre haute fréquence étant remis en forme spectralement. Le signal résultant se compose donc, pour la partie basse fréquence, du signal basse fréquence reçu et pour la partie haute fréquence de l'enrichissement remis en forme.
Il s'avère que la compression et la méthode utilisée pour compresser et limiter la bande de fréquence du signal initial génèrent des artefacts nuisant à la qualité du signal. D'autre part, la reconstitution d'un signal de qualité en réception doit permettre d'obtenir la meilleure qualité perçue possible tout en ne nécessitant qu'une faible bande passante de données transmises et un traitement simple et rapide à la réception.
Ce problème est avantageusement résolu par la transmission, en sus des données représentant le signal limité en fréquences, d'informations relatives à un filtre temporel devant être appliqué à l'intégralité du signal enrichi, tant dans sa partie basse fréquence transmise que dans sa partie haute fréquence reconstituée, l'application de ce filtre permettant la remise en forme de la partie haute fréquence reconstituée et la correction d'artefacts de compression présents dans la partie basse fréquence transmise. De cette façon, l'application du filtre temporel, simple et peu coûteuse, à l'intégralité du signal reconstitué, permet d'obtenir un signal de bonne qualité perçue.
L'invention concerne un procédé d'encodage de tout ou partie d'un flux audio multi canal comportant une étape d'obtention d'un signal composé obtenu par composition des signaux correspondant à chaque canal du flux audio multi canal ; une étape d'obtention d'un signal composé limité en fréquence, la réduction de la fréquence du signal composé original étant obtenue par suppression des hautes fréquences et une étape de génération d'un filtre temporel par canal permettant de retrouver un signal proche spectralement du signal original du canal correspondant lorsqu'il est appliqué au signal obtenu par élargissement du spectre du signal composé limité.
Selon un mode particulier de réalisation de l'invention, pour une portion du signal original donnée, pour un canal donné, le filtre correspondant à ce canal est obtenu par division membre à membre d'une fonction des coefficients d'une transformée de Fourier appliquée d'une part à la portion du signal original et d'autre part à la portion correspondante du signal obtenu par élargissement du spectre du signal limité.
Selon un mode particulier de réalisation de l'invention, des transformées de
Fourier de tailles différentes sont utilisées pour l'obtention d'une pluralité de filtres correspondant à chaque taille utilisée, le filtre généré correspondant à un choix parmi la pluralité de filtres obtenus par comparaison du signal original, et du signal obtenu par application du filtre au signal obtenu par élargissement du spectre du signal limité.
Selon un mode particulier de réalisation de l'invention, le choix du filtre temporel peut s'effectuer dans une collection de filtres temporels prédéterminés.
Selon un mode particulier de réalisation de l'invention, le signal composé limité en fréquence étant encodé en vue de sa transmission, la génération du filtre se fait à partir du signal obtenu par décodage et élargissement du spectre du signal composé limité encodé et du signal original.
Selon un mode particulier de réalisation de l'invention, le procédé comporte en outre une étape de définition d'un des canaux du flux audio multi canal comme canal de référence ; une étape de corrélation temporelle de chacun des autres canaux sur ledit canal de référence définissant pour chaque canal une valeur de décalage et l'étape de composition des signaux de chaque canal est effectuée avec le signal du canal de référence et les signaux corrélés temporellement pour les autres canaux.
Selon un mode particulier de réalisation de l'invention, pour chaque canal autre que le canal de référence, la valeur de décalage définie par la corrélation temporelle du canal est associée au filtre généré.
Selon un mode particulier de réalisation de l'invention, le procédé comporte en outre une étape de définition d'un des canaux du flux audio multi canal comme canal de référence ; une étape d'égalisation de chacun des autres canaux sur ledit canal de référence définissant pour chaque canal une valeur d'amplification et l'étape de composition des signaux de chaque canal est effectuée avec le signal du canal de référence et les signaux égalisés pour les autres canaux.
Selon un mode particulier de réalisation de l'invention, pour chaque canal autre que le canal de référence, la valeur d'amplification définie par la corrélation temporelle du canal est associée au filtre généré. L'invention concerne également un procédé de décodage de tout ou partie d'un flux audio multi canal comportant au moins une étape de réception d'un signal transmis ; une étape de réception d'un filtre temporel relatif au signal reçu pour chaque canal du flux audio multi canal ; une étape d'obtention d'un signal décodé par décodage du signal reçu ; une étape d'obtention d'un signal étendu par élargissement
du spectre du signal décodé et une étape d'obtention d'un signal reconstruit par convolution du signal étendu avec le filtre temporel reçu pour chaque canal du flux audio multi canal.
Selon un mode particulier de réalisation de l'invention, un filtre réduit en taille à partir du filtre généré est utilisé à la place de ce filtre généré dans l'étape d'obtention d'un signal reconstruit pour chaque canal.
Selon un mode particulier de réalisation de l'invention, le choix d'utiliser un filtre de taille réduite à la place du filtre généré pour chaque canal se fait en fonction des capacités du décodeur. Selon un mode particulier de réalisation de l'invention, l'un des canaux du flux multi canal étant défini comme canal de référence, une valeur de décalage étant associée à chaque filtre reçu pour les canaux autres que le canal de référence, le procédé comporte en outre une étape de décalage du signal correspondant à chaque canal autre que le canal de référence permettant de générer un déphasage temporel similaire au déphasage temporel entre chaque canal et le canal de référence dans le flux audio multi canal d'origine.
Selon un mode particulier de réalisation de l'invention, le procédé comporte en outre une étape de lissage des valeurs de décalage aux frontières entre les fenêtres de travail de manière à éviter un changement brusque de la valeur de décalage pour chaque canal autre que le canal de référence.
Selon un mode particulier de réalisation de l'invention, l'un des canaux du flux multi canal étant défini comme canal de référence, une valeur d'amplification étant associée à chaque filtre reçu pour les canaux autres que le canal de référence, le procédé comporte en outre une étape d'amplification du signal correspondant à chaque canal autre que le canal de référence permettant de générer une différence de gain similaire à la différence de gain entre chaque canal et le canal de référence dans le flux audio multi canal d'origine.
L'invention concerne également un dispositif d'encodage d'un flux audio multi canal comportant au moins des moyens d'obtention d'un signal composé obtenu par composition des signaux correspondant à chaque canal du flux audio multi canal ; des moyens d'obtention d'un signal composé limité en fréquence, la réduction du spectre du signal composé original étant obtenue par suppression des hautes fréquences et des moyens de génération d'un filtre temporel par canal permettant de retrouver un signal
proche spectralement du signal original du canal correspondant lorsqu'il est appliqué au signal obtenu par élargissement du spectre du signal limité.
L'invention concerne également un dispositif de décodage d'un flux audio multi canal comportant au moins les moyens suivants des moyens de réception d'un signal transmis ; des moyens de réception d'un filtre temporel relatif au signal reçu pour chaque canal du flux audio multi canal ; des moyens d'obtention d'un signal décodé par décodage du signal reçu ; des moyens d'obtention d'un signal étendu par élargissement du spectre du signal décodé et des moyens d'obtention d'un signal reconstruit par convolution du signal étendu avec le filtre temporel reçu pour chaque canal du flux audio multi canal.
L'invention concerne également un signal comportant un signal audio limité en fréquence représentant une version limitée en fréquence d'un signal audio original résultant de la composition des différents canaux d'un flux audio multi canal caractérisé en ce qu'il comporte en outre des données de génération d'un filtre temporel par canal permettant la reconstruction d'un signal proche du signal original de chaque canal lorsqu'il est appliqué à une version étendue en fréquence du signal audio limité en fréquence contenu dans le signal.
Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels :
La Fig. 1 représente l'architecture générale de la méthode d'encodage d'un exemple de réalisation de l'invention.
La Fig. 2 représente l'architecture générale de la méthode de décodage de l'exemple de réalisation de l'invention.
La Fig. 3 représente l'architecture d'un mode de réalisation de l'encodeur.
La Fig. 4 représente l'architecture d'un mode de réalisation du décodeur.
La Fig. 5 représente l'architecture d'un mode de réalisation stéréophonique de l'encodeur. La Fig. 6 représente l'architecture d'un mode de réalisation stéréophonique du décodeur.
La Fig. 1 représente le procédé d'encodage de manière générale. Le signal 101 est le signal source devant être encodé, ce signal est alors le signal original non limité en fréquence. L'étape 102 représente une étape de limitation en fréquence du signal
101. Cette limitation en fréquence peut, par exemple, être réalisée par un sous- échantillonnage du signal 101 préalablement filtré par un filtre passe-bas. Un sous- échantillonnage consiste à ne garder qu'un échantillon sur un ensemble d'échantillons et à supprimer du signal les autres échantillons. Un sous-échantillonnage d'un facteur « n » où l'on garde un échantillon sur n permet d'obtenir un signal dont la largeur du spectre sera divisée par n. n est ici un entier naturel. Il est aussi possible d'effectuer un sous-échantillonnage d'un rapport rationnel q/p, on sur-échantillonne d'un facteur p puis on sous-échantillonne d'un facteur q, il est préférable de commencer par le suréchantillonnage pour ne pas perdre de contenu spectral. Pour un changement de fréquence d'un rapport non rationnel, on peut chercher la fraction rationnelle la plus proche et procéder comme ci-dessus. D'autres méthodes de limitation de la bande du signal d'entrée 101 peuvent également être utilisées comme des méthodes à base de filtrage. Le signal résultant, que nous appellerons le signal limité en fréquence, est alors encodé lors de l'étape 106. Tout moyen d'encodage ou de compression audio peut être ici employé comme, par exemple, un encodage selon les normes PCM, ADPCM ou autres. Ce signal limité en fréquence sera fourni au multiplexeur 108 en vue de sa transmission au décodeur.
Le signal limité en fréquence et encodé en sortie du module de compression 106 est également fourni en entrée d'un module de décodage 107. Ce module effectue l'opération inverse du module d'encodage 106 et permet de construire une version du signal limité en fréquence identique à la version à laquelle le décodeur aura accès lorsqu'il effectuera également cette opération de décodé du signal limité et encodé qu'il recevra. Le signal limité ainsi décodé est alors restauré dans l'étendue spectrale d'origine par un module d'enrichissement en fréquence 103. Cet enrichissement en fréquence peut, par exemple, consister en un simple sur-échantillonnage du signal d'entrée par l'insertion d'échantillons de valeur nulle entre les échantillons du signal d'entrée. Toute autre méthode d'enrichissement du spectre du signal peut également être utilisée. Ce signal à fréquence étendue, issu du module d'enrichissement en fréquence 103, est alors fourni à un module de génération de filtre 104. Ce module de génération de filtre 104 reçoit également le signal original 101 et calcule un filtre temporel permettant, lorsqu'il est appliqué au signal étendu issu du module d'enrichissement en fréquence 103, de mettre en forme celui-ci pour se rapprocher du signal original. Le filtre ainsi calculé est alors fourni au multiplexeur 108 après une étape optionnelle de compression 105.
De cette manière, il est possible de transporter une version limitée en fréquence et compressée du signal à transmettre et les coefficients d'un filtre temporel. Ce filtre temporel permettant, une fois appliqué au signal décompressé et étendu en fréquence, de remettre celui-ci en forme pour retrouver un signal étendu proche du signal original. Le calcul du filtre se faisant sur le signal original et sur le signal tel qu'il sera obtenu par le décodeur suite à la décompression et à l'enrichissement en fréquence permet de corriger les défauts introduits par ces deux phases de traitement. D'une part, le filtre étant appliqué au signal reconstruit dans toute sa plage de fréquence permet de corriger certains artefacts de compression sur la partie basse fréquence transmise. D'autre part, il remet également en forme la partie haute fréquence, non transmise, reconstruite par enrichissement en fréquence.
La Fig. 2 représente de manière générale le procédé de décodage correspondant. Le décodeur reçoit donc le signal issu du multiplexeur 108 du codeur. Il le démultiplexe pour obtenir d'une part le signal limité en fréquence encodé, appelé SIb, et les coefficients du filtre F, contenus dans le signal transmis. Le signal SIb est alors décodé par un module de décodage ou de décompression 202 équivalent fonctionnellement au module 107 de la Fig. 1. Une fois décodé, le signal est étendu en fréquence par le module 203 équivalent fonctionnellement au module 103 de la Fig. 1. On obtient donc une version décodée et étendue en fréquence du signal. D'autre part, les coefficients du filtre F sont décodés s'ils avaient été encodés ou compressés par un module de décompression 201, et le filtre obtenu est appliqué au signal temporel étendu dans un module de mise en forme du signal 204. On obtient alors un signal en sortie proche du signal original. Ce traitement est simple à mettre en œuvre du fait de la nature temporelle du filtre à appliquer au signal pour la remise en forme. Le filtre transmis, et donc appliqué lors de la reconstruction du signal, est transmis périodiquement et change dans le temps. Ce filtre est donc adapté à une portion du signal à laquelle il s'applique. Il est ainsi possible de calculer pour chaque portion de signal un filtre temporel particulièrement adapté en fonction des caractéristiques spectrales dynamiques de cette portion de signal. En particulier, il est possible d'avoir plusieurs types de générateurs de filtres temporels et de sélectionner pour chaque portion de signal le filtre donnant le meilleur résultat pour cette portion. Ceci est possible car le module de génération de filtre possède d'une part le signal original et d'autre part le signal étendu tel qu'il sera reconstruit par le décodeur, il est donc en mesure, dans le cas où il est généré par plusieurs filtres différents, de
comparer le signal obtenu par application de chaque filtre à la portion de signal étendue et le signal original dont on cherche à s'approcher au plus près. Cette méthode de génération de filtre ne se limite donc pas à choisir un type de filtre déterminé pour l'ensemble du signal mais permet de changer de type de filtre en fonction des caractéristiques de chaque portion de signal.
Un mode particulier de réalisation de l'invention va maintenant être décrit en détail à l'aide des Fig. 3 et 4. Dans ce mode de réalisation, on cherche à partir d'un signal échantillonné à une fréquence donnée 301 , par exemple 32 kHz, à obtenir le signal limité à ses basses fréquences nommé SIb. On cherche également à déterminer un filtre F permettant de mettre en forme le signal obtenu en étendant en fréquence le signal SIb. Le signal original 301 est filtré par un filtre passe-bas et sous-échantillonné d'un facteur n par le module de sous-échantillonnage 302. On ne conserve du signal original qu'un échantillon sur n, où n est un entier naturel. Dans la pratique, n n'excède généralement pas 4. Le signal perd alors en résolution spectrale et, par exemple, pour n = 2, on obtient un signal échantillonné à 16 kHz. Ce signal est ensuite encodé, par exemple par une méthode de type PCM (« Puise Code Modulation »), par le module 31 1 qui sera ensuite compressé, par exemple par un ADPCM le module 312. On obtient ainsi le signal sous-échantillonné contenant les basses fréquences du signal original 301. Ce signal est envoyé au multiplexeur 314 pour être émis vers le décodeur.
En parallèle, ce signal est transmis à un module de décodage 313. On simule de cette façon, dans l'encodeur, le signal que le décodeur obtiendra à partir du signal qui lui sera envoyé. Ce signal qui va être utilisé pour la génération du filtre F va donc permettre de tenir compte des artefacts résultant de ces phases de codage et de décodage, de compression et de décompression. Ce signal est ensuite étendu en fréquence par insertion de n-1 zéro entre chaque échantillon du signal temporel dans le module 303. De cette manière, on reconstruit un signal de la même étendue spectrale que le signal d'origine. D'après le théorème de Nyquist, on obtient un repliement de spectre d'ordre n. Par exemple, pour n=2, le signal est sous- échantillonné d'un ordre 2 à l'encodage et sur-échantillonné d'un ordre 2 au décodage. Le spectre est dupliqué « en miroir » par une symétrie axiale dans le domaine des fréquences. Dans le module 304, une transformée de Fourier est effectuée sur le signal temporel étendu en fréquence issu du module 303. En fait, une transformée de Fourier rapide glissante est effectuée sur des fenêtres de travail de
taille donnée et variable. Ces tailles sont typiquement de 128, 256, 512 échantillons mais peuvent être de taille quelconque même si on utilisera préférentiellement des puissances de deux pour simplifier les calculs. On calcule ensuite les modules de ces transformées appliquées à ces fenêtres. Un même calcul de transformée de Fourier est effectué sur le signal original dans le module 306.
Une division membre à membre 305 est alors effectuée entre les modules des coefficients des transformées de Fourier obtenues par les étapes 304 et 306 pour générer par transformées de Fourrier inverses des filtres temporels de tailles proportionnelles à celles des fenêtres utilisées, donc 128, 256 ou 512. Plus la taille de la fenêtre choisie sera grande, plus le filtre comportera de coefficients et sera plus précis mais plus son application sera coûteuse en calcul au décodage. Cette étape génère donc plusieurs filtres de différentes tailles parmi lesquelles il va falloir choisir le filtre finalement utilisé. On verra que cette étape de choix est effectuée par le module 309. Comme les coefficients du rapport entre les fenêtres sont réels, symétriques dans l'espace des fréquences, le filtre F équivalent est alors, dans le domaine temporel, réel et symétrique. Cette propriété de symétrie peut être utilisée pour ne transmettre que la moitié des coefficients, l'autre se déduisant par symétrie. L'obtention d'un filtre réel symétrique permet aussi de réduire le nombre d'opérations nécessaires lors de la convolution du signal reçu étendu par le filtre dans le décodeur. D'autres modes de réalisation permettent d'obtenir des filtres réels non symétriques. Par exemple, si le signal temporel dans une fenêtre de travail est limité en fréquence, on peut avantageusement déterminer de manière itérative les paramètres d'un filtre à réponse impulsionnelle infinie, passe-bas de Tchebychev à partir des spectres issus des étapes 304 et 306 et de la fréquence de coupure de la fenêtre. On obtient ainsi le filtre, dans l'espace temporel, fourni en entrée du module de choix 309.
De manière optionnelle, un module 308 va offrir d'autres types de filtres. Par exemple, il peut offrir des filtres linéaires, cubiques ou autres. En effet, ces filtres sont connus pour permettre le sur-échantillonnage. Pour calculer les valeurs des échantillons rajoutés avec une valeur initiale à zéro entre les échantillons du signal limité en fréquence, il est possible de dupliquer la valeur de l'échantillon connu, de faire la moyenne entre les échantillons, ce qui revient à faire une interpolation linéaire entre les valeurs connues des échantillons. Tous ces types de filtres sont indépendants
de la valeur du signal et permettent de remettre en forme le signal sur-échantillonné. Le module 308 contient donc un nombre arbitraire de tels filtres pouvant être utilisés.
Le module de choix 309 va donc avoir en entrée une collection de filtres. D'une part, il aura les filtres générés par le module 307 et correspondant aux filtres générés pour différentes tailles de fenêtres par division des modules des transformées de Fourier appliquées au signal original et au signal reconstruit. D'autre part, il aura également en entrée le signal original 301 et le signal reconstruit issu du module 303. De cette façon le module 309 peut comparer l'application des différents filtres au signal reconstruit issu du module 303 avec le signal original pour choisir le filtre donnant, sur la portion de signal considérée, le meilleur signal de sortie, c'est-à-dire le plus proche spectralement du signal original. Par exemple, on peut faire le rapport entre le spectre obtenu par application du filtre au signal issu du module 303 et le spectre de la même portion du signal original. On choisit alors le filtre engendrant le minimum d'une fonction de la distorsion. Cette portion de signal, appelée fenêtre de travail, devra être plus grande que la plus grande fenêtre ayant servi au calcul des filtres, on pourra utiliser typiquement une taille de fenêtre de travail de 512 échantillons. La taille de cette fenêtre de travail peut également varier en fonction du signal. En effet, une grande taille de fenêtre de travail peut être utilisée pour l'encodage d'une partie de signal sensiblement stationnaire tandis qu'une fenêtre plus courte sera plus adaptée pour une portion de signal plus dynamique pour mieux prendre en compte les variations rapides. C'est cette partie qui permet de sélectionner, pour chaque portion du signal, le filtre le plus pertinent permettant la meilleure reconstruction par le décodeur du signal et de se rapprocher du signal original.
Une fois ce filtre choisi, le module 310 va quantifier les coefficients spectraux du filtre qui seront encodés, par exemple, en utilisant une table de Huffman pour optimiser les données à transmettre. Le multiplexeur 314 va donc multiplexer avec chaque portion du signal, le filtre le plus pertinent pour le décodage de cette portion de signal. Ce filtre étant choisi soit dans la collection de filtres de tailles différentes générés par analyse de cette portion de signal, soit dans la collection, comprend également une série de filtres déterminés, typiquement linéaires, permettant la reconstruction, qui pourront être choisis s'ils se révèlent plus intéressants pour la reconstruction par le décodeur de la portion de signal. Quand le filtre généré est un des filtres déterminés, il est possible de ne transmettre qu'un identificateur identifiant ce filtre parmi la collection des filtres déterminés, typiquement linéaires, permettant la
reconstruction, qui pourront être choisis s'ils se révèlent plus intéressants pour la reconstruction par le décodeur de la portion de signal. Quand le filtre généré est un des filtres déterminés, il est possible de ne transmettre qu'un identificateur identifiant ce filtre parmi la collection des filtres déterminés fournie par le module 308, ainsi que des paramètres éventuels du filtre. En effet, les coefficients de ces filtres déterminés n'étant pas calculés en fonction de la portion de signal à laquelle on veut les appliquer, il est inutile de transporter ces coefficients qui peuvent être connus du décodeur. Ainsi, la bande passante pour le transport de l'information relative au filtre se réduit dans ce cas à un simple identificateur du filtre. La Fig. 4 représente le décodage correspondant dans le mode particulier de réalisation décrit. Le signal est reçu par le décodeur qui démultiplexe le signal. Le signal audio SIb est alors décodé par le module 404 puis sur-échantillonné d'un facteur n par l'insertion de n-1 échantillons à zéro entre les échantillons reçus par le module 405. Parallèlement, les coefficients spectraux du filtre F sont déquantifiés et décodés en suivant les tables de Huffman par le module 401. Avantageusement, la taille du filtre peut être adaptée par le module 402 du décodeur à ses capacités de calcul ou de mémoire ou encore de toute limitation matérielle éventuelle. Un décodeur possédant peu de ressources pourra utiliser un filtre sous-échantillonné ce qui lui permettra de diminuer les opérations lors de l'application du filtre. Le filtre sous- échantillonné peut aussi être généré par l'encodeur suivant les ressources du canal de transmission ou les ressources du décodeur, à condition bien sûr que cette dernière information soit détenue par l'encodeur. De plus, le spectre du filtre peut être réduit au décodage pour réaliser un suréchantillonnage moins important (n-1, n-2 etc..) en fonction des capacités matérielles de rendu sonore du décodeur telles que la puissance ou les capacités de sortie son. Le module 403 effectue alors une transformée de Fourier inverse sur les coefficients spectraux du filtre pour obtenir le filtre réel dans le domaine temporel. Dans l'exemple de réalisation, le filtre est de plus symétrique ce qui permet de réduire les données transportées pour la transmission du filtre. Le module 406 opère la convolution du signal sur-échantillonné issu du module 405 avec le filtre ainsi reconstitué pour obtenir le signal résultant. Cette convolution est particulièrement peu gourmande en calcul du fait que le sur-échantillonnage s'effectue par insertion de valeurs nulles. D'autre part, le fait que le filtre soit réel, et voire même symétrique dans le mode de réalisation préféré, permet également de réduire le nombre d'opérations nécessaires à cette convolution.
Le filtre étant appliqué à l'intégralité du signal étendu en fréquence, l'invention offre l'avantage d'effectuer une remise en forme, non seulement de la partie haute du spectre reconstituée à partir de la partie basse transmise mais de l'ensemble du signal ainsi reconstitué. De cette manière, elle permet de modeler la partie du spectre non transmise mais également de corriger des artefacts dus aux différentes opérations de compression, décompression, d'encodage et décodage de la partie basse fréquence transmise.
Un avantage secondaire de l'invention est la possibilité d'adapter dynamiquement les filtres utilisés en fonction de la nature de chaque portion de signal grâce au module permettant le choix du meilleur filtre, en termes de qualité de rendu sonore et de « temps machine » utilisé, parmi plusieurs pour chaque portion du signal.
Le procédé d'encodage ainsi décrit pour un signal mono canal peut être adapté pour un signal multi canal. Une première adaptation évidente consiste en l'application de la solution mono canal à chaque canal audio indépendamment. Cette solution se révèle néanmoins coûteuse en ce qu'elle ne tire pas partie de la corrélation forte entre les différents canaux d'un flux audio multi canal. La solution proposée consiste à composer un canal unique à partir des différents canaux du flux. Un traitement similaire à celui décrit précédemment dans le cas d'un signal mono canal est alors effectué sur ce flux composé. A la différence du procédé mono canal, dans le cas du multi canal, un filtre est déterminé pour chaque canal de manière à reproduire le canal considéré lorsqu'il est appliqué au flux composé. On transmet ainsi un flux audio multi canal en ne transmettant qu'un flux composé et autant de filtres qu'il y a de canaux à transmettre. Le procédé va maintenant être décrit plus précisément à l'aide des figures 5 et 6 dans le cas de la stéréophonie. Le mode de réalisation stéréophonique s'étend de manière naturelle à un flux composé de plus de deux canaux comme un flux 5.1 pour le cinéma à domicile par exemple.
La Fig. 5 représente l'architecture d'un encodeur stéréophonique selon un mode de réalisation de l'invention. Le flux audio à encoder est composé d'un canal gauche « L » référencé 501 et d'un canal droit « R » référencé 502. Un module de composition 503 compose ces deux signaux pour générer un signal composé. Cette composition peut, par exemple, être une moyenne des deux canaux, le signal composé est alors égal à L+R / 2. Ce signal composé subit alors le même traitement que le signal mono canal décrit précédemment. Il subit un sous échantillonnage d'un facteur n par le module de sous échantillonnage 504. Le signal sous échantillonné est alors
codé par un codeur 505 pour être encodé par un encodeur 506. Ces modules sont les mêmes que les modules déjà décrits 311 et 312 de la Fig. 3. Le signal composé sous échantillonné et encodé est transmis au destinataire du flux. Il est également décodé par un module de décodage 507 correspondant au module 313 de la Fig. 3. Ensuite, il est sur échantillonné par le module de sur échantillonnage 508 correspondant au module 303. Le signal est alors traité par deux modules de génération de filtres 509 et 510. Chacun de ces modules correspond aux modules 304, 305, 306, 308, 309 et 310 de la Fig. 3. Le premier, 509, génère un filtre FR qui permet, lorsqu'il est appliqué au flux composé issu du module 508, de générer un signal proche du canal droit R. Ce module prend en entrée le signal composé issu du module 508 et le signal du canal droit R original 502. Le second, 510, génère un filtre FL qui permet, lorsqu'il est appliqué au flux composé issu du module 508, de générer un signal proche du canal gauche L. Ce module prend en entrée le signal composé issu du module 508 et le signal du canal gauche L original 501. Ces filtres, ou un identificateur de ces filtres, sont alors multiplexes avec le flux sous échantillonné et encodé issu du module d'encodage 506 pour être émis à destination du récepteur.
Généralement les différents canaux d'un signal multi canal possèdent une forte corrélation mais exhibent un déphasage temporel. Un léger décalage temporel intervient entre les signaux des différents canaux. De ce fait, lorsque l'on moyenne les deux, ou plus, canaux pour générer le signal composé, ce décalage tend à générer du bruit. Avantageusement on choisit donc un des canaux pour servir de référence, par exemple le canal gauche « L », et les autres canaux sont recalés sur ce canal de référence préalablement à la composition du signal composé. Ce recalage est effectué par corrélation temporelle entre le canal à recaler et le canal de référence. Cette corrélation définit une valeur de décalage sur la fenêtre de travail choisie pour la corrélation. Cette fenêtre de travail est avantageusement choisie égale à la fenêtre de travail utilisée pour la génération du filtre. La valeur du décalage peut alors être associée au filtre généré pour être transmise en sus des filtres de façon à permettre de reconstituer le déphasage original inter canal lors de la restitution du flux audio. Une étape d'égalisation des gains des signaux des différents canaux peut intervenir pour homogénéiser les puissances des signaux correspondant aux différents canaux. Cette égalisation définit une valeur d'amplification devant être appliquée au signal sur la fenêtre de travail. Cette valeur d'amplification peut être introduite dans le filtre calculé permettant la reconstitution du signal au décodage. Le calcul de cette
valeur d'amplification se fait pour chaque canal sauf un choisi comme canal de référence. L'introduction de la valeur d'amplification permet de reconstituer au décodage les différences de gains entre les canaux dans le signal d'origine.
Par ailleurs, le calcul de génération d'un filtre ainsi que celui du déphasage se fait sur une portion de signal appelé fenêtre de travail (frame en anglais). Lors de la restitution du flux audio, le passage d'une fenêtre à une autre va donc entraîner un changement de déphasage entre les canaux. Ce changement peut entraîner un bruit lors de la restitution. Pour éviter ce bruit, il est possible de lisser le déphasage aux frontières de fenêtres de travail. Ainsi, le changement de fenêtre n'entraîne plus de changement de valeur de déphasage brusque.
La Fig. 6 représente l'architecture d'un mode de réalisation stéréophonique du décodeur. Cette figure est le pendant stéréophonique de la Fig. 4. Le flux audio reçu est démultiplexé pour obtenir le flux composé basse fréquence encodé appelé Sib et les filtres FR et FL. Le flux composé est alors décodé par le module de décodage 601 correspondant au module 404 de la Fig. 4. Son spectre est alors élargi en fréquence par le module de sur échantillonnage 602 correspondant au module 405 de la Fig. 4. Le signal ainsi obtenu est alors convolué par les filtres FR et FL décompressés par les modules 603 et 605 pour redonner les canaux droit et gauche SR et SL-
Si une information de déphasage est introduite dans le flux, le canal qui ne sert pas de canal de référence pour le déphasage est recalé en utilisant cette information pour générer le déphasage des canaux d'origine. Cette information de déphasage peut, par exemple, prendre la forme d'une valeur de décalage associée à chacun des filtres pour les canaux autres que le canal défini comme canal de référence. Avantageusement ce décalage est lissé, par exemple de manière linéaire, entre les différentes fenêtres de travail.