Brevet FR3133265A1 — publié le 20230908

Codage et décodage optimisé d’un signal audio utilisant un auto-encodeur à base de réseau de neurones L’invention se rapporte à un procédé de codage d’un signal audio comportant les étapes suivantes : - décomposition (102) du signal audio en au moins des composantes d’amplitudes et des composantes de signes ou de phase ; - analyse (104) des composantes d’amplitudes par un auto-encodeur à base de réseau de neurones pour obtenir un espace latent représentatif des composantes d’amplitude du signal audio ; - codage (105) de l’espace latent obtenu ; - codage (106) d’au moins une partie des composantes de signes ou de phase. L’invention se rapporte également à un procédé de décodage correspondant ainsi qu’à des dispositifs de codage et de décodage mettant en œuvre les procédés de codage et de décodage respectifs. Figure de l’abrégé : Figure 1a Codage et décodage optimisé d’un signal audio utilisant un auto-encodeur à base de réseau de neurones La présente invention se rapporte au domaine général du codage et du décodage de signaux audio. L’invention se rapporte en particulier à l’utilisation optimisée d’un auto-encodeur à base de réseau de neurones pour le codage et décodage d’un signal audio. Dans les systèmes de codage et décodage classiques de signal audio, le signal audio d'entrée est en général converti dans un domaine fréquentiel soit par l’utilisation d’un banc de filtres soit par l’application d’une transformée court-terme, pour obtenir un gain de codage intéressant et exploiter les propriétés psychoacoustiques de la perception auditive humaine. En effet, l’exploitation de ces propriétés psychoacoustiques se fait par exemple en répartissant le budget de bits de façon non uniforme et/ou adaptive en fonction des bandes de fréquences. La conversion temps-fréquence peut alors être vue comme une transformation vers une représentation plus adaptée pour effectuer un codage à un débit donné. Le décodeur, de son côté, doit inverser cette transformation. Pour un système de compression avec perte, l'objectif général est de chercher une représentation du signal qui soit la plus adaptée possible à un codage au débit le plus faible possible à qualité donnée ou inversement avec la meilleure qualité possible à un débit donné. Dans le domaine de l’audio, des considérations perceptuelles dues aux imperfections de l’oreille humaine (ex : phénomène de masquage, …) peuvent être exploitées pour obtenir un compromis débit/distorsion (perceptuelle) encore meilleur qu’avec un codage classique non perceptuel. Des exemples de codecs audio classiques sont donnés par les standards MPEG-Audio (ex: MP3, AAC, …) ou autres standards (ex : UIT-T G.722.1, G.719). En général ces codecs ont des architectures comprenant différents modules de traitement du signal ou de quantification/codage qui sont optimisés séparément. Récemment, de nouvelles approches de compression des signaux sont apparues par l’utilisation des réseaux de neurones réalisant un apprentissage dit de bout en bout. Avec la généralisation des architectures de type GPUs (pour « Graphical Processing Units » en anglais) ou d’autres processeurs spécialisés pour les réseaux de neurones, ce type d’approche de codage par réseaux de neurones est prometteuse et pourrait à terme remplacer les codecs audios traditionnels. Un exemple d‘architecture de réseau de neurones appliqués au domaine de la compression d’images et de vidéo est décrit dans les articles : “Johannes Ballé, Valero Laparra, Eero P. Simoncelli, End-to-end Optimized Image Compression, Int. Conf. on Learning Representations (ICLR), 2017” et “Johannes Ballé, David Minnen, Saurabh Singh, Sung Jin Hwang, Nick Johnston, Variational image compression with a scale hyperprior, Int. Conf. on Learning Representations (ICLR), 2018 ». Ces méthodes s’appuient sur le principe des auto-encodeurs (classiques) et des auto-encodeurs dits variationnels (VAE). Les auto-encodeurs sont des algorithmes d’apprentissage à base de réseaux de neurones artificiels, qui permettent de construire une nouvelle représentation plus compacte (compressée) d’un jeu de données. L’architecture d’un auto-encodeur est constituée de deux parties ou opérateurs : l’encodeur (partie analyse) f(x) qui transforme les données d’entrée x en une représentation z et le décodeur (partie synthèse) g(z) qui resynthétise le signal à partir de z. L’encodeur est constitué d’un ensemble de couches de neurones, qui traitent les données d’entrée x afin de construire une nouvelle représentation dite “espace latent” (ou variables cachées) z de faible dimension. Cet espace latent représente sous forme compacte les caractéristiques importantes du signal d’entrée. Les couches de neurones du décodeur, reçoivent l’espace latent en entrée et les traitent afin d’essayer de reconstruire les données de départ. Les différences entre les données reconstruites et les données initiales permettent de mesurer l’erreur commise par l’auto-encodeur. L’entraînement consiste à modifier les paramètres de l’auto-encodeur afin de réduire l’erreur de reconstruction mesurée sur les différents échantillons du jeu de données. Différents critères d’erreur sont possibles, comme, par exemple, l’erreur quadratique moyenne (MSE en anglais). A la différence d’un auto-encodeur classique, un auto-encodeur variationnel (VAE) rajoute une représentation de l’espace latent par un modèle gaussien multivarié (moyennes et variances) de l’espace latent. Un VAE est également constitué d’un encodeur (ou modèle d’inférence ou de reconnaissance) et un décodeur (ou modèle génératif). Un VAE essaie de reconstruire les données d’entrée comme un auto-encodeur, cependant, l’espace latent d’un VAE est continu. Les méthodes de Ballé et al. Utilisent des architectures de réseaux à base de réseaux convolutionnels 2D (avec par exemple dans une réalisation un filtre de taille 5x5 et une décimation ou un suréchantillonnage – respectivement - par 2 dans chaque couche d’encodage ou de décodage) ; une normalisation adaptive dite GDN (Generalized Divisive Network) est appliquée entre chaque couche, ce qui améliore les performances par rapport à une normalisation « batch normalization ». On notera que les méthodes de Ballé et al. utilisent une approximation du codage de l’espace par un modèle simplifié de quantification (ajout de bruit) avec un modèle gaussien pour l’apprentissage, cependant l’espace latent est en fait codée directement, ce qui revient à des méthodes d’auto-encodeur classique (ou déterministe). L’application directe des méthodes précitées de Ballé et al., issues de la compression d’images et vidéo, pour la compression de signaux audio n’est pas satisfaisante. En effet, une image ou une séquence vidéo est constituée de pixels qui peuvent être vues comme des variables aléatoires à valeurs entières sur un intervalle prédéfini, par exemple [0, 255] pour des images ou vidéo ayant une résolution de 8 bits par pixel. Ces pixels n’ont que des valeurs positives. Les signaux audios sont en revanche en général à valeurs signées. De plus, les signaux audios, après une transformation temps/fréquences, peuvent être réels ou complexes. En outre, la dynamique spectrale dans le domaine audio est plus importante que dans le domaine de l’image ou de la vidéo, elle est de l’ordre de 16 bits par échantillon (voire plus pour l’audio dit « haute résolution »). La transposition directe d’une architecture d’auto-encodeur similaire à Ballé et al. à l’audio donne des résultats relativement mauvais, notamment en termes de qualité de reconstruction. Il existe donc un besoin d’optimisation des techniques de codage de type auto-encodeur pour le domaine du codage/décodage audio. L’invention vient améliorer l’état de la technique. A cet effet, l’invention vise un procédé de codage d’un signal audio comportant les étapes suivantes : - décomposition du signal audio en au moins des composantes d’amplitudes et des composantes de signes ou de phase ; - analyse des composantes d’amplitudes par un auto-encodeur à base de réseau de neurones pour obtenir un espace latent représentatif des composantes d’amplitude du signal audio ; - codage de l’espace latent obtenu ; - codage d’au moins une partie des composantes de signes ou de phase. L’invention permet d’appliquer de façon optimisée des auto-encodeurs utilisant des réseaux de neurones pour le codage/décodage des signaux audios. Le codage différencié de la composante de signe ou de la composante de phase, selon la méthode de décomposition du signal, permet de garantir une bonne qualité audio. Selon l’invention, cette qualité peut atteindre des performances allant jusqu’à la transparence à débit suffisant, c'est-à-dire que la qualité du signal décodé est très proche de celle du signal d’origine. La méthode utilisée est une méthode de bout en bout qui ne nécessite pas d’optimisation indépendantes des différents modules de codage. La méthode d’autre part n’a pas besoin de prendre en compte des considérations perceptuelles comme les méthodes de codage audio traditionnelles. Dans un mode de réalisation particulier, le procédé comporte en outre une étape de compression des composantes d’amplitude avant leur analyse par l’auto-encodeur. Ainsi, les données en entrée de l’auto-encodeur sont restreintes, de façon à optimiser l’analyse et l’obtention de l’espace latent résultant. Dans un exemple de réalisation, la compression des composantes d’amplitude s’effectue par une fonction logarithmique. Ce type de compression de complexité moindre apporte une performance de compression avantageuse pour réduire la dynamique des données à l’entrée de l’auto-encodeur. Dans un mode de réalisation, le signal audio avant l’étape de décomposition est obtenu par une transformée de type MDCT appliqué à un signal audio d’entrée. Dans un mode de réalisation, le signal audio est un signal multicanal. Dans un autre mode de réalisation de l’invention, le signal audio est un signal complexe comportant une partie réelle et imaginaire issue d’une transformation d’un signal audio d’entrée, les composantes d’amplitude issue de l’étape de décomposition correspondant aux amplitudes des parties réelles et imaginaires combinées et les composantes de signe ou de phase correspondant aux signes ou phases des parties réelles et imaginaires combinées. Ce type de représentation fréquentielle par MDCT ou par une autre transformée du signal audio offre un avantage à l’utilisation du procédé de codage selon l’invention, car elle met le signal dans une représentation temps/fréquence similaire à un spectrogramme, ce qui permet plus naturellement d’appliquer des méthodes de compression d’images ou vidéo sur les amplitudes ; les signes ou phases sont codés à part pour une meilleure efficacité. Dans un mode de réalisation, toutes les composantes de signes ou de phase du signal audio sont codées. Cette solution a l’avantage d’être simple mais demande d’avoir un débit suffisant. Dans un mode particulier de réalisation, seules les composantes de signes ou de phase correspondant aux basses fréquences du signal audio sont codées. Ainsi, il est possible d’optimiser le débit de codage en ne codant qu’une partie des signes ou des phases, ce qui réduit le débit supplémentaire nécessaire au codage des signes ou phases, sans pour autant impacter de façon significative la qualité du signal reconstruit au décodage. Dans une variante de réalisation, les composantes de signes ou de phase correspondant aux basses fréquences du signal audio sont codées et un codage sélectif est effectuée pour les composantes de signes ou de phase correspondant aux hautes fréquences du signal audio. Cela permet d’obtenir certaines composantes de signes ou de phases des hautes fréquences de façon optimisée tout en réduisant le débit de codage. Dans un mode de réalisation, les positions des composantes de signes ou de phase sélectionnées pour le codage sélectif sont également codées, pour ainsi retrouver la sélection qui a été opérée au codage. Cette solution demande cependant un débit de codage supplémentaire pour le codage de ces positions. Dans un autre mode de réalisation, les positions des composantes de signes ou de phase sélectionnées ainsi que les valeurs associées sont codées conjointement, ce qui permet d’optimiser le débit de codage pour coder ces informations et les retrouver au décodage. L’invention se rapporte également à un procédé de décodage d’un signal audio comportant les étapes suivantes : - décodage de composantes de signes ou de phase du signal audio ; - décodage d’un espace latent représentatif de composantes d’amplitude du signal audio ; - synthèse des composantes d’amplitude du signal audio par un auto-encodeur à base de réseau de neurones, à partir de l’espace latent décodé ; - combinaison des composantes d’amplitude décodées et des composantes de signes ou de phase décodées pour obtenir un signal audio décodé. Le procédé de décodage apporte les mêmes avantages que le procédé de codage décrit précédemment. Dans un mode particulier de réalisation, dans le cas où les composantes de phase décodées correspondent à une partie des composantes de phase du signal audio, l’autre partie est reconstruite avant l’étape de combinaison. Ainsi, il est possible d’optimiser le débit de codage des informations de signes ou de phases en n’en codant et décodant qu’une partie et de reconstruire l’autre partie afin de retrouver toutes les composantes de signe ou de phase au décodage. L’invention vise un dispositif de codage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de codage tel que décrit précédemment. L’invention vise aussi un dispositif de décodage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de décodage tel que décrit précédemment. L’invention se rapporte à un programme informatique comportant des instructions pour la mise en œuvre des procédés de codage ou de décodage tels que décrits précédemment, lorsqu’ils sont exécutés par un processeur. Enfin l’invention se rapport à un support de stockage, lisible par un processeur, mémorisant un programme informatique comportant des instructions pour l’exécution du procédé de codage ou du procédé de décodage décrits précédemment. D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels : illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon un premier mode de réalisation de l’invention ; illustre un exemple de codage et de multiplexage de bits de signe selon l’invention ; illustre un exemple de codage et de multiplexage de bits de signe avec une sélection de bits en hautes fréquences selon l’invention ; illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon une variante de réalisation de l’invention ; illustre un exemple de réalisation des parties analyse et synthèse d’un auto-encodeur utilisé selon l’invention ; illustre un exemple de format d’entrée/sortie pour la partie analyse d’un auto-encodeur utilisé selon l’invention ; illustre un exemple de format d’entrée/sortie pour la partie synthèse d’un auto-encodeur utilisé selon l’invention ; illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon un deuxième mode de réalisation de l’invention ; illustre un codeur et un décodeur mettant en œuvre respectivement un procédé de codage et de décodage selon un troisième mode de réalisation de l’invention ; et illustre des exemples de réalisation structurelle d’un dispositif de codage et d’un dispositif de décodage selon un mode de réalisation de l’invention. Procédé de codage d’un signal audio comportant les étapes suivantes : - décomposition (102) du signal audio en au moins des composantes d’amplitudes et des composantes de signes ou de phase ; - analyse (104) des composantes d’amplitudes par un auto-encodeur à base de réseau de neurones pour obtenir un espace latent représentatif des composantes d’amplitude du signal audio ; - codage (105) de l’espace latent obtenu ; - codage (106) d’au moins une partie des composantes de signes ou de phase. Procédé selon la revendication 1, comportant en outre une étape de compression des composantes d’amplitude avant leur analyse par l’auto-encodeur. Procédé selon la revendication 2, dans lequel la compression des composantes d’amplitude s’effectue par une fonction logarithmique. Procédé selon la revendication 1, dans lequel le signal audio avant l’étape de décomposition est obtenu par une transformée de type MDCT appliquée à un signal audio d’entrée. Procédé selon l’une des revendications précédentes, dans lequel le signal audio est un signal multicanal. Procédé selon la revendication 1, dans lequel le signal audio est un signal complexe comportant une partie réelle et imaginaire issue d’une transformation d’un signal audio d’entrée, les composantes d’amplitude issue de l’étape de décomposition correspondant aux amplitudes des parties réelles et imaginaires combinées et les composantes de signe ou de phase correspondant aux signes ou phases des parties réelles et imaginaires combinées. Procédé selon la revendication 1, dans lequel toutes les composantes de signes ou de phase du signal audio sont codées. Procédé selon la revendication 1, dans lequel seules les composantes de signes ou de phase correspondant aux basses fréquences du signal audio sont codées. Procédé selon la revendication 1, dans lequel les composantes de signes ou de phase correspondant aux basses fréquences du signal audio sont codées et un codage sélectif est effectuée pour les composantes de signes ou de phase correspondant aux hautes fréquences du signal audio. Procédé selon la revendication 9, dans lequel les positions des composantes de signes ou de phase sélectionnées pour le codage sélectif sont également codées. Procédé selon la revendication 9, dans lequel les positions des composantes de signes ou de phase sélectionnées ainsi que les valeurs associées sont codées conjointement. Procédé de décodage d’un signal audio comportant les étapes suivantes : - décodage (112) de composantes de signes ou de phase du signal audio ; - décodage (115) d’un espace latent représentatif de composantes d’amplitude du signal audio ; - synthèse (113) des composantes d’amplitude du signal audio par un auto-encodeur à base de réseau de neurones, à partir de l’espace latent décodé ; - combinaison (116) des composantes d’amplitude décodées et des composantes de signes ou de phase décodées pour obtenir un signal audio décodé. Procédé de décodage selon la revendication 8, dans lequel, dans le cas où les composantes de phase décodées correspondent à une partie des composantes de phase du signal audio, l’autre partie est reconstruite avant l’étape de combinaison. Dispositif de codage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de codage selon l’une des revendications 1 à 11. Dispositif de décodage comportant un circuit de traitement pour la mise en œuvre des étapes du procédé de décodage selon l’une des revendications 12 à 13. Support de stockage, lisible par un processeur, mémorisant un programme informatique comportant des instructions pour l’exécution du procédé de codage selon l’une des revendications 1 à 11 ou du procédé de décodage selon l’une des revendications 12 à 13.