EP4721399A1 - Procédé et dispositif de codage et décodage d'images - Google Patents

Procédé et dispositif de codage et décodage d'images

Info

Publication number
EP4721399A1
EP4721399A1 EP24724528.5A EP24724528A EP4721399A1 EP 4721399 A1 EP4721399 A1 EP 4721399A1 EP 24724528 A EP24724528 A EP 24724528A EP 4721399 A1 EP4721399 A1 EP 4721399A1
Authority
EP
European Patent Office
Prior art keywords
image
map
oversampling
resolution
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP24724528.5A
Other languages
German (de)
English (en)
Inventor
Theo LADUNE
Félix Henry
Pierrick Philippe
Gordon Clare
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Publication of EP4721399A1 publication Critical patent/EP4721399A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé et dispositif de codage et décodage d'images comprenant une pluralité d'échantillons à coder ou décoder. Le procédé de décodage comporte les étapes suivantes : - décodage (E31) d'un groupe de cartes de caractéristiques (FMdi) représentatives de l'image courante, ledit groupe comprenant au moins une carte de caractéristiques de résolution inférieure à la résolution de l'image d'entrée, dite carte de résolution inférieure; - obtention (E33) d'un ensemble de paramètres (WUck) représentatifs d'un réseau de neurones (UP1) au moins, dit réseau de neurones de suréchantillonnage; - suréchantillonnage (E34) de ladite au moins une carte de caractéristiques de résolution inférieure en utilisant ledit réseau de suréchantillonnage pour obtenir une carte suréchantillonnée à la résolution de ladite au moins une image; - génération (E35) de ladite au moins une image à partir de ladite au moins une carte suréchantillonnée.

Description

    Procédé et dispositif de codage et décodage d'images.
  • L’invention se rapporte au domaine général du codage de séquences d’images numériques. Elle concerne plus particulièrement la compression des vidéos numériques.
  • Les vidéos numériques font en général l’objet d’un codage source visant à les compresser afin de limiter les ressources nécessaires à leur transmission et/ou à leur stockage. Il existe de nombreux standards de codage, tels que les standards des organismes ITU/MPEG (H.264/AVC, H.265/HEVC, H.266/VVC, etc.) ainsi que leurs extensions (MVC, SVC, 3D-HEVC, etc.).
  • Les formats vidéo ne cessant d'évoluer pour compresser toujours davantage et s’adapter à la variété de formats attendus et des réseaux de communication, les possibilités de prédiction deviennent de plus en plus grandes et les algorithmes de codage et décodage classiques très complexes.
  • En plus de ces approches classiques proposées par les normes de compression (MPEG, ITU), les approches basées sur l’intelligence artificielle, et notamment neuronales, tendent à se développer.
  • Certaines de ces approches neuronales peuvent être vues comme une simple extension de la notion de compétition des techniques de compression susmentionnées, telles que la compétition de mode de prédiction et transformation en codage vidéo. 
  • D’autres approches utilisent le concept « d’auto-encodeur ». Les auto-encodeurs sont des algorithmes d’apprentissage à base de réseaux de neurones artificiels, qui permettent de construire une nouvelle représentation d’un jeu de données. L’architecture d’un auto-encodeur est constituée de deux parties : l’encodeur et le décodeur. L’encodeur est constitué par un ensemble de couches de neurones, qui traitent les données afin de construire de nouvelles représentations dites “encodées”, appelées aussi « représentations latentes ». À leur tour, les couches de neurones du décodeur reçoivent ces représentations et les filtrent 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. Les performances de tels systèmes à base d'auto-encodeur se font au prix d'une augmentation considérable de l'empreinte mémoire et de la complexité comparativement aux approches conventionnelles telles que proposées par les normes de compression. Ils peuvent avoir des millions de paramètres et peuvent nécessiter de l’ordre d'un million de MAC (multiplication-accumulation) pour décoder un seul pixel. Cela rend de tels décodeurs bien plus complexes que les décodeurs conventionnels, ce qui pourrait entraver l'adoption de la compression basée sur l'apprentissage. De surcroît les réseaux de neurones utilisés au codeur et au décodeur sont différents. Le document US 2022/0385907 décrit un tel système d'auto-encodeur.
  • Plus récemment, une technique simple d’encodage d’image fondé sur un réseau de neurones a été décrite dans l’article «  COmpression with Implicit Neural representations » d’Emilien Dupont et al. (arXiv:2103.03123). La technique de codage proposée consiste à ajuster un réseau de neurones à une image, quantifier les poids du réseau et les transmettre. Au moment du décodage, le réseau de neurones est évalué à chaque position de pixel pour reconstruire l'image. Une telle technique reste cependant inefficace en termes de compression.
  • Le document US 2022/0385907 décrit également un système de codage et décodage fondé sur l'utilisation de telles représentations neuronales implicites.
  • Il existe cependant un besoin pour une solution permettant de coder/compresser une séquence d’images de manière simple et efficace.
  • L’invention vise un procédé de codage d’une image au moins comprenant une pluralité d’échantillons à coder, comportant les étapes suivantes :
    - une étape de construction, comportant les sous-étapes de :
    - construction d’un groupe de cartes de caractéristiques comprenant au moins une carte de caractéristiques de résolution inférieure à la résolution de l'image d'entrée, dite carte de résolution inférieure ;
    - suréchantillonnage de ladite au moins une carte de caractéristiques de résolution inférieure en utilisant un réseau de neurones artificiels de suréchantillonnage au moins défini par un ensemble de paramètres de suréchantillonnage pour obtenir une carte suréchantillonnée à la résolution de ladite au moins une image ;
    - génération de ladite au moins une image à partir de ladite au moins une carte suréchantillonnée;
    - mise à jour d'au moins une valeur d’une desdites cartes de caractéristiques dudit groupe et/ou d’au moins un paramètre de suréchantillonnage, en fonction d’une mesure de performance de codage,
    - une étape de codage dudit groupe de cartes de caractéristiques et dudit ensemble de paramètres de suréchantillonnage.
  • L'invention vise aussi un procédé de décodage d’une image au moins, à partir d'un flux binaire comprenant une pluralité d’échantillons à décoder, comportant les étapes suivantes :
    - décodage d’un groupe de cartes de caractéristiques représentatives de l’image courante, ledit groupe comprenant au moins une carte de caractéristiques de résolution inférieure à la résolution de l'image d'entrée, dite carte de résolution inférieure ;
    - obtention d’un ensemble de paramètres de suréchantillonnage représentatifs d’un réseau de neurones au moins, dit réseau de neurones de suréchantillonnage ;
    - suréchantillonnage de ladite au moins une carte de caractéristiques de résolution inférieure en utilisant ledit au moins un réseau de suréchantillonnage pour obtenir une carte suréchantillonnée à la résolution de ladite au moins une image.
    - génération de ladite au moins une image à partir de ladite au moins une carte suréchantillonnée.
  • Au sens de l’invention, on entend par encodage, ou « codage », l’opération qui consiste à représenter un ensemble d’échantillons, ou pixels, sous une forme compacte portée par exemple par un train binaire numérique. On entend par décodage l’opération qui consiste à traiter un train binaire numérique pour restituer des échantillons décodés, par exemple d'une image numérique ou d'une pluralité d'images numériques.
  • Par « image » on entend une image numérique bidimensionnelle comportant une ou plusieurs composantes (de couleur, de profondeur, de vues, etc.)
  • Par « une image au moins » on entend une pluralité d’images bidimensionnelles ordonnées, par exemple temporellement dans le cas d’une vidéo. Selon un autre exemple, les images peuvent être des vues d’une même scène représentée en multivues. Selon un autre exemple, les images peuvent être une pluralité d’images temporelles et multivues (vidéo immersive).
  • Par « échantillon », on entend une valeur prélevée dans une image. L’échantillonnage d’un signal produit une suite de valeurs discrètes nommées échantillons. Dans le cas d’un signal d’image, l’échantillon prend le nom de pixel qui peut être par exemple un pixel couleur représenté traditionnellement par un triplet de valeurs, par exemple (R,G,B) ou (Y,U,V). La position de l’échantillon peut être repérée par ses coordonnées en abscisse (x) et ordonnée (y) dans l’image.
  • Par « carte de caractéristiques », on entend une représentation abstraite d’une image ou d'une séquence d’images, comportant une pluralité de données scalaires variables, que l’on appelle aussi valeurs caractéristiques, par exemple des nombres réels, ou des nombres entiers, signés ou non. La représentation abstraite d’une image ou d’une séquence peut donc comporter plusieurs cartes de caractéristiques. La représentation abstraite de plusieurs images peut aussi correspondre à une seule carte de caractéristiques.
  • Par « suréchantillonnage des cartes de caractéristiques », on entend une opération qui permet de transformer les valeurs d’une première carte en valeurs d’une seconde carte. La première carte, destinée au codage (resp. au décodage), est quelconque. La seconde carte, dite carte suréchantillonnée, est à une résolution supérieure. Par exemple elle peut être à la même résolution que les images d’entrée, c’est-à-dire qu’elle comporte autant de valeurs qu'une image d’entrée (resp. à décoder) comporte d’échantillons (N).
  • Par « réseau de neurones », ou « réseau de neurones de suréchantillonnage », on entend un réseau neuronal tels un réseau neuronal convolutif, un perceptron multicouche, etc. Le réseau de neurones est défini par exemple par une pluralité de couches de neurones artificiels et par un ensemble de fonctions d'activation, de pondération et d’addition (par exemple, une couche peut calculer y = f(Ax+b), où y et b sont des vecteurs de dimension N, x est un vecteur de dimension M, A est une matrice de dimension MxN, et f est la fonction d’activation).
  • Par « paramètre du réseau de neurones », on entend une des valeurs qui caractérise le réseau de neurones, par un exemple un poids associé à l’un des neurones (coefficient de filtre, valeur d’une matrice, pondération, biais, valeur affectant le fonctionnement de la non-linéarité, etc.)
  • Par « génération de ladite au moins une image », on entend une étape qui vise à reconstruire les échantillons décodés de l’image.
  • Les échantillons sont générés à partir des cartes de caractéristiques suréchantillonnées. La génération d'un échantillon est ainsi avantageusement simplifiée, notamment dans le cas où les cartes de caractéristiques suréchantillonnées sont à la dimension de l'image, car l'extraction en est facilitée. De surcroît, le réseau de neurones de suréchantillonnage est apte à s'adapter automatiquement à la nature des cartes et de l'image.
  • Par « mesure de performance », on entend une mesure entre au moins une valeur d’un échantillon à coder et une valeur décodée dudit échantillon. La mesure peut évaluer par exemple une distorsion, ou une erreur perceptive. Elle peut être effectuée sur un échantillon ou une pluralité d’échantillons (par exemple, les échantillons courants, ou les images courantes, etc.). La mesure peut comporter aussi une mesure du débit, notamment associé au codage du réseau de neurones et/ou au codage des cartes de caractéristiques du groupe. La mesure peut être une mesure conjointe entre le débit et la distorsion au travers de leur pondération. Comme il est bien connu de l’état de l’art, il est généralement procédé à une minimisation de la valeur de cette mesure jusqu’à atteindre une valeur cible.
  • Par « étape de construction », on entend une étape qui vise à construire les paramètres représentatifs de l’image, notamment les valeurs des cartes de caractéristiques et les paramètres du réseau de neurones, avant leur codage effectif. Les sous-étapes de construction peuvent être réitérées autant que nécessaire pour obtenir une mesure de performance acceptable.
  • De manière générale, on considère que les étapes d’un procédé de codage ou décodage ne doivent pas être interprétées comme étant liées à une notion de succession temporelle. Autrement dit, les étapes peuvent être effectuées dans un ordre différent de celui indiqué dans la revendication indépendante de codage ou de décodage, voire en parallèle.
  • Le procédé de codage selon l’invention réalise une construction des paramètres de codage, à partir d’une image ou séquence d’images d’entrée, en entraînant un réseau de neurones sur des cartes de caractéristiques qui peuvent être à la résolution des images d’entrée, ou à une résolution inférieure. Au cours de l’entraînement, ou construction, les paramètres du réseau de neurones et les valeurs des cartes de caractéristiques sont mis à jour en fonction d’une mesure de performance, par exemple de type débit-distorsion. Lorsque l’entraînement est terminé, c’est-à-dire que la mesure de performance obtenue est satisfaisante, le codage effectif des paramètres du réseau de neurones de suréchantillonnage et des valeurs des cartes de caractéristiques peut être effectué et le résultat mémorisé ou transmis à destination du décodeur.
  • Avantageusement, le processus d’entraînement permet de raffiner les paramètres du réseau de neurones de suréchantillonnage et/ou les valeurs des cartes de caractéristiques jusqu’à obtenir une représentation adéquate en termes de performance, par exemple un équilibre souhaité entre le débit généré et la distorsion subie par l’image ou la séquence d’images d’entrée en cours de codage. L’entraînement des valeurs des cartes de caractéristiques et des paramètres du réseau de neurones de suréchantillonnage peut être conjoint. Avantageusement, le procédé de codage selon l’invention permet de compresser efficacement le signal.
  • Avantageusement, la compression des cartes de caractéristiques est efficace puisque l’une au moins des cartes de caractéristiques à coder (resp. décoder) comporte moins de valeurs que si elle était à la résolution du signal. Par exemple, dans le cas d’une image numérique, l’une des cartes de caractéristiques à coder (resp. décoder) peut être à la résolution 1/2, c’est-à-dire qu’elle comporte deux fois moins de valeurs en abscisse et en ordonnée que l’image d’entrée comporte d’échantillons, soit au total quatre fois moins de valeurs qu’une carte de caractéristiques à la résolution de l’image. En revanche, la carte de caractéristiques suréchantillonnée est à une résolution supérieure, par exemple de résolution identique à celle du signal. Le suréchantillonnage permet d'obtenir le même nombre de valeurs dans cette carte transformée que le signal d’entrée (resp. à décoder) comporte d’échantillons.
  • Avantageusement, le procédé de décodage est simple puisqu'il suffit de décoder les cartes de caractéristiques associées à une image ou à un groupe d'images, et d'obtenir le réseau de neurones de suréchantillonnage, pour reconstituer une version décodée de l’image courante ou du groupe d’images courantes.
  • Un tel réseau de neurones de suréchantillonnage peut avantageusement être de structure très simple avec peu de paramètres et peu d’opérations par échantillon.
  • De surcroît, le décodage peut être effectué échantillon par échantillon, de manière progressive.
  • Selon des modes de réalisation du procédé de codage ou de décodage :
  • – Une partie au moins de l'ensemble de paramètres de suréchantillonnage est décodé à partir de données dudit flux binaire (resp. codé dans le flux binaire) ; avantageusement selon ce mode, les paramètres du réseau de neurones sont transmis dans le flux. Le module peut être transmis sous une forme quantifiée et codée sous une forme compacte à l’aide de tout quantificateur et codeur entropique accessible à l'homme du métier. Un format analogue à celui de la norme MPEG-7 NNR peut être employé.
  • – Une partie au moins de l'ensemble de paramètres de suréchantillonnage est obtenu à partir de valeurs prédéterminées ; avantageusement selon ce mode, les paramètres du réseau de neurones sont obtenus, par exemple depuis un réseau, ou depuis une mémoire de stockage.
  • – Une partie au moins de l'ensemble de paramètres de suréchantillonnage est décodé (resp. codé) en fonction de paramètres de référence. Avantageusement selon ce mode, les paramètres du réseau de neurones sont décodés en prenant en compte des paramètres de référence qui peuvent être stockés dans une mémoire accessible du décodeur, ou obtenus depuis un réseau. Ainsi l'espace de stockage ou le débit de transmission sur le réseau peuvent être efficacement réduits : certains paramètres peuvent être codés de manière complémentaire, d'autre ne pas être codés du tout, car disponibles dans les paramètres de référence. Selon des variantes de réalisation, qui peuvent être combinées entre elles :
    • les paramètres de référence peuvent constituer un ensemble de variantes d'un réseau de suréchantillonnage : type de convolution, modules d'attention, etc. Ainsi, seuls ces paramètres nécessitent d'être connus du décodeur. Ils peuvent être par exemple codés, insérés dans le flux et décodés par le décodeur qui peut reconstituer, à partir des paramètres de référence, le au moins un réseau de suréchantillonnage.
    • les paramètres de suréchantillonnage sont codés de manière complémentaire aux paramètres d'un réseau de référence. Ainsi il suffira au décodeur de décoder ces paramètres résiduels puis de les corriger par addition, multiplication (ou combinaison de toute autre manière connue) à ceux du réseau de neurones de référence.
    • une partie des paramètres d'un réseau de référence est réutilisée pour le réseau de suréchantillonnage. Par exemple, une couche complète du réseau de suréchantillonnage peut être recopiée du réseau de référence, les paramètres de cette couche ne sont donc ni codés, ni transmis, ni décodés.
    • un indicateur de réseau de référence est transmis et décodé dans le flux. Il est ainsi possible d'indiquer un réseau à utiliser au décodage parmi une pluralité de réseaux possibles connus du décodeur.
  • – Ledit l'ensemble de paramètres de suréchantillonnage est représentatif d'une pluralité de réseaux de neurones de suréchantillonnage, un réseau de neurones de suréchantillonnage étant utilisé pour suréchantillonner au moins une carte de caractéristiques de résolution inférieure du groupe de cartes de caractéristiques. Avantageusement selon ce mode, une pluralité de réseaux de neurones de suréchantillonnage peut être décodée, chacun d'entre eux étant destiné au décodage d'une ou plusieurs cartes. Ainsi le suréchantillonnage des différentes cartes peut-il être réalisé de manière séparée. Selon une variante de réalisation, au moins deux réseaux de neurones de suréchantillonnage sont utilisés pour suréchantillonner une même carte de caractéristiques de résolution inférieure du groupe de cartes de caractéristiques.
  • – Un réseau de neurones de suréchantillonnage est utilisé pour suréchantillonner au moins deux cartes de caractéristiques de résolution inférieure du groupe de cartes de caractéristiques.
  • – Ledit réseau de neurones de suréchantillonnage est utilisé pour suréchantillonner au moins une carte déjà suréchantillonnée du groupe de cartes de caractéristiques. Avantageusement selon ce mode, il est possible d'utiliser le même réseau de suréchantillonnage en cascade. Par exemple un suréchantillonnage d'un facteur quatre dans chaque dimension peut être réalisé par la mise en cascade de deux réseaux de suréchantillonnage d'un facteur deux. Ceci limite le coût de transmission et stockage des données et permet de limiter les modules à implémenter par le codeur et le décodeur, et donc la complexité algorithmique, la place occupée en mémoire, etc.
  • – Ladite au moins une carte de caractéristiques de résolution inférieure est suréchantillonnée selon au moins deux dimensions, et un suréchantillonnage distinct est utilisé pour chaque dimension. Avantageusement selon ce mode, le coût de transmission et la complexité sont réduits par l'utilisation de transformations (par exemple, convolution) de suréchantillonnage séparables.
  • – La génération de ladite au moins une image utilise un réseau de neurones de synthèse apte à générer un échantillon de l'image à décoder à partir de données extraites des cartes de caractéristiques suréchantillonnées à des positions définies par celle dudit échantillon dans l'image. Avantageusement selon ce mode, le procédé de codage réalise une production des valeurs codées en entraînant un réseau de neurones sur des vecteurs de valeurs extraites des cartes de caractéristiques, associés à une position d’un échantillon à coder. Lorsque l’entraînement est terminé, c’est-à-dire que la mesure de performance obtenue est satisfaisante, le codage effectif des paramètres du réseau de neurones de synthèse peut être effectué et mémorisé ou transmis à destination du décodeur. Le procédé de décodage est simple puisqu'il suffit de décoder les cartes de caractéristiques, le réseau de neurones de suréchantillonnage et le réseau de neurones de synthèse pour reconstituer une version décodée du signal d'image. Selon des variantes de ce mode de réalisation :
    • un tel réseau de synthèse comporte un MLP. Un tel réseau de neurones est avantageusement de structure très simple avec peu de paramètres. De surcroît, le décodage peut être effectué échantillon par échantillon, de manière progressive.
    • Le réseau de synthèse comprend des éléments de filtrage de type convolution.
    • La construction du vecteur de données comporte une sous-étape d’extraction d’une valeur de ladite au moins une carte de caractéristiques suréchantillonnée à une position identique à celle de l’échantillon courant dans le signal à coder (resp. décoder). Avantageusement, ce procédé est simple à mettre en œuvre. Par exemple, si l’on dispose de J cartes de caractéristiques suréchantillonnées de même résolution que le signal, une simple extraction des valeurs des cartes aux coordonnées de l’échantillon courant (à la même abscisse et la même ordonnée dans la carte de caractéristiques) permet de construire un vecteur de données de J éléments à appliquer en entrée du réseau de neurones de synthèse pour obtenir un échantillon ou une pluralité d'échantillons en sortie.
  • – Une au moins desdites cartes de caractéristiques est de résolution identique à celle du signal à coder (resp. décoder). Avantageusement selon ce mode, l’une au moins des cartes de caractéristiques, à la même résolution que le signal d’entrée à coder (resp. à décoder), permet une fidélité importante et le respect des détails de la résolution initiale du signal. Le suréchantillonnage conserve dans ce cas le nombre de valeurs de la carte de caractéristiques ; il peut être réduit à l’identité.
  • – Au moins une carte suréchantillonnée est obtenue à partir d'une pluralité de cartes de caractéristiques de résolution inférieure.
  • – Plusieurs cartes décodées sont utilisées pour produire plusieurs cartes suréchantillonnées.
  • Corrélativement, l’invention vise aussi un dispositif de codage et un dispositif de décodage.
  • Les caractéristiques et avantages du procédé de codage ou décodage s’appliquent de la même façon au dispositif de codage ou décodage selon l’invention et vice versa.
  • L’invention vise également un programme d’ordinateur sur un support d’enregistrement, ce programme étant susceptible d’être mis en œuvre dans un ordinateur ou un dispositif de contrôle conforme à l’invention. Ce programme comporte des instructions adaptées à la mise en œuvre du procédé correspondant. Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
  • L’invention vise aussi un support d'information ou un support d’enregistrement lisible par un ordinateur, et comportant des instructions de programme d'ordinateur mentionné ci-dessus. Les supports d'information ou d’enregistrement peuvent être n'importe quel entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comporter un moyen de stockage, tel qu'une ROM, par exemple un CD-ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ou un disque dur, une séquence d’ADN, ou une mémoire flash. D'autre part, les supports d'information ou d’enregistrement peuvent être des supports transmissibles tels qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par lien radio, par lien optique sans fil ou par d'autres moyens.
  • Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
  • Alternativement, chaque support d'informations ou d’enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution d’un procédé conforme à l’invention.
  • D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif.
  • la représente schématiquement un dispositif de codage utilisé dans le cadre de l’invention ;
  • la représente schématiquement un dispositif de décodage utilisé dans le cadre de l’invention ;
  • la représente schématiquement un réseau de neurones artificiels de suréchantillonnage utilisé dans le cadre de l’invention.
  • La illustre un exemple de module de suréchantillonnage utilisé dans le cadre de l’invention.
  • la présente d'autres exemples d'implémentation du module de suréchantillonnage utilisé dans le cadre de l’invention.
  • la est un logigramme représentant un exemple de procédé de codage qui peut être mis en œuvre par le dispositif de codage de la .
  • la représente de manière illustrée un procédé de codage utilisé dans un mode de réalisation de l’invention.
  • la est un logigramme représentant un exemple de procédé de décodage qui peut être mis en œuvre par le dispositif de décodage de la .
  • la représente de manière illustrée un procédé de décodage utilisé dans un mode de réalisation de l’invention.
  • La représente schématiquement un dispositif de codage d’images numériques ENC.
  • Le dispositif de codage ENC de la reçoit en entrée une succession d’échantillons à coder, notés Pn, par exemple une succession temporelle d’échantillons sonores, ou un ensemble de données d’image noté I(Pn). Dans ce second cas, le signal d’image I(Pn) peut représenter une image bidimensionnelle, ou une pluralité d’images bidimensionnelles (vidéo, composantes de couleur, composantes stéréoscopiques, multiscopiques, etc.). Pn désigne un échantillon n du signal d’entrée comportant N échantillons. Dans un mode de réalisation, le signal est un signal d’image couleur représentée au moyen d’au moins une représentation bidimensionnelle, telle qu’une matrice de pixels, de largeur W et de hauteur H (avec N = WxH) chaque pixel comportant une composante rouge (R), verte (G), bleue (B), ou, en variante, une composante de luminance (Y) et au moins une composante de chrominance. L'emplacement de chaque pixel est défini par ses coordonnées en abscisse et ordonnée (x et y) dans l'image. Dans un mode de réalisation, l’image est en niveaux de gris représentée au moyen d’une représentation bidimensionnelle, telle qu’une matrice de pixels, chaque pixel comportant une composante de niveaux de gris, ou luminance.
  • Ce dispositif de codage ENC comprend un module INIT de génération de cartes de caractéristiques initiales, un module Q de quantification, un module UP de suréchantillonnage des cartes de caractéristiques et un module PROD de synthèse de signal, selon l'exemple représenté une image numérique I(P'n), un module FMC de codage des cartes de caractéristiques, un module NNC de codage de réseau de neurones, un module PRC de codage de signal, un module EVAL d’évaluation d’une fonction de performance, un module MAJ de mise à jour.
  • Un réseau de neurones artificiels de suréchantillonnage utilisé au codage, contenu dans le module UP, et un réseau de neurones artificiels de suréchantillonnage utilisé au décodage, contenu dans le module UP', sont définis par une structure identique, comprenant par exemple une pluralité de couches de neurones artificiels, et par un ensemble de poids et fonctions d’activation associés respectivement aux neurones artificiels du réseau concerné.
  • Durant le processus d’entraînement, ou de construction, du codage, c’est-à-dire tant que l’étape d’évaluation d’une performance n’est pas satisfaisante, les modules de codage (FMC, NNC, optionnellement PRC) réalisent une simulation de codage, suivi d’un décodage, à destination du module d’évaluation. Par la suite, ils effectuent le codage effectif des valeurs des cartes FMi, des paramètres du réseau de neurones de suréchantillonnage WUk, et optionnellement des paramètres de codage du module de synthèse PROD. De manière connue, la simulation de codage peut être identique au codage effectif, ou en réaliser une approximation.
  • Chaque carte de caractéristiques contient des données scalaires, conformément à la définition d’une carte de caractéristiques donnée précédemment, et il y a M cartes de caractéristiques. Il est toutefois possible d’organiser les valeurs caractéristiques différemment, par exemple en formant un unique signal comportant, pour chaque échantillon un vecteur de M valeurs scalaires, sans perte de généralité. Même si les données sont organisées différemment, on considère dans la suite du document qu’il y a M cartes de caractéristiques. Les cartes codées par le module FMC pour une image (ou une pluralité d'images) courante sont notées FMci. Le module de codage FMC quantifie si nécessaire les valeurs des cartes de caractéristiques en utilisant un quantificateur pour générer une collection ordonnée de valeurs quantifiées. Puis le module de codage compresse les données quantifiées, par exemple en utilisant un codeur entropique.
  • Le module Q effectue optionnellement une quantification. Le module Q produit les cartes FMqi. Lors de l’étape de codage, une quantification est indispensable au bon fonctionnement du système si les cartes de caractéristiques comportent par exemple des valeurs flottantes, ou réelles. Il est nécessaire de les quantifier avant de les coder et/ou de les fournir en entrée du réseau de neurones de suréchantillonnage. Au décodage en revanche, la quantification inverse n’est pas nécessaire, selon les modes de réalisation.
  • Le module UP réalise un suréchantillonnage des cartes de caractéristiques FM(q)i. Ce module comporte des paramètres de suréchantillonnage WUk représentatifs d'un réseau de neurones de suréchantillonnage. Ce suréchantillonnage est réalisé sur au moins une carte, obtenue après le module Q, de résolution inférieure à la résolution de l’image. Certaines cartes peuvent ne pas nécessiter de suréchantillonnage, notamment si leur résolution est égale à celle de l'image à coder. De telles cartes ne sont pas traitées par le module UP (ou le module UP est réduit à la fonction identité). On obtient en sortie du module UP un ensemble de cartes caractéristiques FMUi comprenant les cartes effectivement suréchantillonnées et les cartes non suréchantillonnées pour lesquelles FMUi = FMqi.
  • Selon des modes de réalisation, le module UP peut être un réseau de neurones de type convolutionnel, comportant au moins une couche de convolution. Chaque couche de convolution peut comprendre des non-linéarités, de type rectification, arc tangente, sigmoïde, etc. Il peut aussi comprendre un module de post-traitement de type convolutif ou convolutif avec résiduel ou un module d’attention. Le module Up peut aussi comporter plusieurs réseaux de neurones.
  • Le module PROD est un module de synthèse, par exemple un réseau de neurones ou une transformation linéaire inverse (ondelette, DCT,…) défini par ses paramètres de synthèse WSk, apte à traiter les cartes caractéristiques FMUi en entrée, pour générer en sortie l'image synthétisée (codée puis décodée) I(P'n). Les échantillons d'image décodés par le module PROD sont notés P’n.
  • Selon un mode de réalisation, le module de synthèse est un banc de filtres, les paramètres WUk sont les paramètres des filtres, et l'image synthétisée en sortie résulte de l'application du banc de filtres sur les cartes de caractéristiques FMUi.
  • Selon un mode de réalisation, le module de synthèse est un réseau de neurones de synthèse et pour chaque échantillon à décoder, les paramètres de synthèse WSk sont les paramètres du réseau de neurones de synthèse.
  • Selon un autre mode de réalisation, le réseau de neurones est de type convolutif ou de type multilayer perceptron (MLP). Une combinaison de ces deux types de topologie est également possible. En vue de limiter le nombre d’opérations arithmétiques, un MLP est placé en amont d’un module de convolution. Le module de synthèse peut comprendre un module de post-traitement de type convolutif ou convolutif avec résiduel appliqué sur un signal (R,G,B) ou (Y,U,V).
  • Un réseau de neurones du module PROD peut se comporter comme les réseaux de neurones implicites cités auparavant : il peut avantageusement traiter des vecteurs issus de pixels colocalisés issus de cartes de caractéristiques suréchantillonnées. Dans ce cas, le décodage positionnel des échantillons peut être réalisé de façon indépendante, ce qui procure un avantage en termes de parallélisation du décodage. Un vecteur (P'n) représentatif de l’échantillon Pn à coder est généré en sortie en fonction de sa position dans l'image. Selon un mode de réalisation, le vecteur de sortie est le triplet (R,G,B) du pixel P'n décodé, ou le triplet (Y,U,V) du pixel P'n décodé lorsque l’image est au format YUV 444, ou un vecteur comprenant quatre valeurs Y, une valeur U et une valeur V, aptes à représenter quatre pixels P'n décodés lorsque l’image est au format YUV 420.
  • Les paramètres de suréchantillonnage WUk du réseau de neurones de suréchantillonnage codés par le module NNC sont notés WUck.
  • Les paramètres de synthèse WSk du module de synthèse codés par le module PRC sont notés WSck.
  • Lorsque tous les échantillons Pndu signal ont été codés puis décodés, on dispose d’un signal reconstruit I(P'n), selon un exemple une image I comportant N échantillons décodés sous la forme de N vecteurs.
  • Le module EVAL réalise une évaluation et minimisation d’une performance de codage. La fonction d’évaluation est par exemple de type débit-distorsion. Elle vise à minimiser les différences entre la représentation en entrée de l’image courante I(Pn) et sa représentation I(P’n) en sortie, tout en optimisant la quantité de données à encoder. La minimisation peut être effectuée par une descente de gradient, ou tout autre procédé d’optimisation à la portée de l’homme du métier.
  • Le module MAJ réalise une mise à jour des valeurs des cartes FMi à encoder de l’image courante, en fonction des résultats de la fonction de performance.
  • Une fois que l’entraînement du codeur est terminé, les paramètres du réseau de suréchantillonnage sont encodés, soit sans pertes, auquel cas le réseau de neurones UP' du décodeur est identique à UP, soit avec pertes, auquel cas le réseau UP’ peut être légèrement différent de UP. Les valeurs des cartes de caractéristiques, FMi,sont également codées sous forme de données codées FMci, par exemple via un codeur entropique. Les paramètres du module de synthèse WSck sont optionnellement encodés.
  • La représente schématiquement un dispositif de décodage DEC.
  • Le dispositif de décodage DEC de la reçoit en entrée un premier groupe de données encodées organisées en M cartes de caractéristiques FMci et des paramètres de suréchantillonnage WUck d'un réseau de neurones de suréchantillonnage. Optionnellement, le dispositif de décodage DEC reçoit les paramètres de synthèse WSck d'un module de synthèse, comme illustré par la flèche en pointillé.
  • Ce dispositif de décodage DEC comprend un module NND de décodage de réseau de neurones, un module FMD de décodage des cartes de caractéristiques, un module optionnel de décodage de paramètres du module de synthèse PRD, un module optionnel de quantification inverse DQ, un module UP' de suréchantillonnage des cartes de caractéristiques et un module PROD' de synthèse de signal, selon l'exemple représenté une image numérique I(Pdn).
  • Les cartes décodées par le module FMD, au nombre de M, sont notées FMdi. Il est toutefois possible d’organiser les cartes de caractéristiques différemment, par exemple en formant un unique signal comportant, pour chaque échantillon un vecteur de M valeurs scalaires à décoder, sans perte de généralité. Même si les données sont organisées différemment, on considère dans la suite du document qu’il y a M cartes de caractéristiques à décoder.
  • Les paramètres de suréchantillonnage décodés par le module NND sont notés WUdk. Selon des modes de réalisation, certains paramètres WUdkpeuvent être prédéterminés, ou obtenus par décodage des paramètres WUcken utilisant des paramètres de référence connus du décodeur.
  • Les paramètres de synthèse décodés par le module PRD sont notés WSdk.
  • Le module DQ effectue optionnellement une quantification inverse correspondant à la quantification effectuée au codeur. Le module DQ produit les cartes FMdqi. La quantification inverse n’est pas nécessaire si le quantificateur Q du codeur a réalisé un simple arrondi des valeurs réelles qui lui sont soumises. Sinon, le décodeur réalise l’opération inverse du quantificateur Q. Si la quantification n’est pas nécessaire, FMdqi=FMdi.
  • Le module UP' réalise un suréchantillonnage des cartes de caractéristiques. Ce module est paramétré par les paramètres WUdk. Ce suréchantillonnage est réalisé sur au moins une carte, obtenue après le module DQ, de résolution inférieure à la résolution de l’image. Certaines cartes peuvent ne pas nécessiter de suréchantillonnage, notamment si leur résolution est égale à celle de l'image à décoder. De telles cartes ne sont pas traitées par le module UP' (c'est-à-dire par exemple qu'il est réduit à l'identité). On obtient en sortie du module UP' un ensemble de cartes de caractéristiques FMUdi comprenant les cartes effectivement suréchantillonnées et les cartes non suréchantillonnées pour lesquelles FMUdi = FMdqi. Les modes de réalisation décrits auparavant à l'appui du codeur s'appliquent. Les paramètres WUdksont identiques aux paramètres WUkdu codeur si le codage a été effectué sans pertes.
  • Le module PROD' est un module de synthèse, par exemple un réseau de neurones ou une transformation linéaire inverse (ondelette, DCT,…) défini par ses paramètres WSdk, apte à traiter les cartes caractéristiques FMUdi en entrée, pour générer en sortie l'image synthétisée (décodée) I(Pdn). Les modes de réalisation décrits auparavant à l'appui du codeur s'appliquent. Les paramètres WSdksont identiques aux paramètres WSkdu codeur si le codage a été effectué sans pertes.Les paramètres WSdksont optionnels, c'est-à-dire que le module PROD' peut utiliser des paramètres connus du décodeur.
  • Comme décrit auparavant à l'appui de la , un décodage positionnel des échantillons Pn du signal peut être réalisé de façon indépendante, ce qui procure un avantage en termes de parallélisation du décodage. Un vecteur (Pdn) représentatif de l’échantillon Pn à décoder est généré en sortie en fonction de sa position dans l'image. Selon un mode de réalisation, le vecteur de sortie est le triplet (R,G,B) du pixel Pdn décodé, ou le triplet (Y,U,V) du pixel Pdn décodé lorsque l’image est au format YUV 444, ou un vecteur comprenant quatre valeurs Y, une valeur U et une valeur V, aptes à représenter quatre pixels Pdn décodés lorsque l’image est au format YUV 420. Lorsque tous les échantillons Pndu signal ont été décodés, on dispose d’un signal reconstruit I(Pdn), selon un exemple une image I comportant N échantillons décodés sous la forme de N vecteurs (Pdn).
  • Le dispositif de décodage DEC peut être mis en œuvre au moyen d’un dispositif électronique comprenant un processeur et une mémoire, non représentés ; chacun des modules mentionnés ci-dessus peut alors être réalisé par la coopération du processeur et d’instructions de programme d’ordinateur mémorisées dans la mémoire susmentionnée et conçues pour effectuer les fonctionnalités du module concerné, notamment comme décrit ci-dessous, lorsque ces instructions sont exécutées par le processeur.
  • La illustre un module de suréchantillonnage (UP, UP') utilisé au codage et au décodage dans le cadre de modes de réalisation de l’invention.
  • Le module de suréchantillonnage a pour vocation de produire une carte de caractéristiques contenant plus de pixels que la carte de caractéristiques d’entrée. La carte de caractéristiques d'entrée est notée FMi, mais peut correspondre à une carte FM(d)qi où, comme expliqué à l'appui des figures 1 et 2, d indique que la carte d'indice i du groupe de cartes de caractéristiques a été préalablement codée et décodée, et q qu'elle a été (dé)quantifiée (si nécessaire) par le module Q ou DQ. La carte de caractéristiques de sortie est notée FMUi. Une carte FMi de résolution W*H comprenant W*H valeurs, où W indique la largeur de la carte et H sa hauteur, est suréchantillonnée en une carte FMUi de résolution s*W*s’*H. Les paramètres d’échelle s et s’ sont positifs et supérieurs ou égaux à un. Si les paramètres d’échelle sont de valeur supérieure à un, la carte FMi destinée au codage contient moins de valeurs codées qu'une carte de résolution identique à celle de l'image, ce qui entraine un abaissement du débit nécessaire.
  • Dans un mode de réalisation s=s’ pour garder un rapport de proportionnalité.
  • Dans un cadre général, le module de suréchantillonnage correspond à au moins un réseau de neurones artificiels. Il comprend des coefficients de pondération, des biais et des non-linéarités propres au fonctionnement d’un réseau de neurones. Ce module de sur échantillonnage peut prendre la forme d’une simple convolution après insertion de valeurs nulles. De manière plus générale, un réseau de neurones peut prendre la forme d'une succession de couches, où une couche peut calculer y = f(Ax+b), où y et b sont des vecteurs de dimension N, x un vecteur de dimension M, A est une matrice de dimension MxN, et f est la fonction d’activation.
  • Dans un mode de réalisation s et s’écrivent comme des puissances entières de 2 (s=2k, s’=2k’), ce qui permet une réalisation plus simple par insertion de valeurs nulles dans la carte FMi à traiter, comme il sera expliqué à l'appui de la .
  • La illustre un exemple de module de suréchantillonnage utilisé dans le cadre de l’invention.
  • L'exemple de la représente un suréchantillonnage par convolution transposée (CT) opérant sur une carte de caractéristiques d'entrée FMi de taille 4x3 (W= 4 et H = 3 pixels) subissant une interpolation d’un facteur 2 dans chaque direction (s=s'=2), donc la taille de la carte de sortie FMUi est 8x6.
  • La convolution transposée prend la forme d’un noyau de convolution de dimension 3, c’est-à-dire une matrice de coefficients de dimension 3*3.
  • Dans une première étape, comme illustré au milieu de la figure, la carte FMi est interpolée en insérant des pixels de valeur nulle entre chaque couple de pixels de la carte d’entrée. On obtient donc 4 fois plus de pixels sur une grille notée GR de taille 8x6 pixels. Dans une seconde étape, on étend cette grille résultante d’un nombre de pixels (1 ou 2 selon l'exemple) fonction de la taille kxk du filtre de convolution (k=3 dans cet exemple). De manière générale et connue, cette extension, ou padding, est de taille (k-1)/2 si k est impair. Le padding apparaît sur la figure en zone hachurée. On obtient une grille étendue FM'i de taille 10x8.
  • Puis un filtrage est effectué en utilisant le noyau de la convolution, de taille kxk (ici k=3) opérant sur la grille étendue FM'i. Le noyau 3x3 est appliqué aux différentes positions de la grille pour obtenir la carte de sortie de dimension voulue. Sur la , à droite, on a représenté deux positions du noyau de convolution en gris transparent.
  • Naturellement, toute opération alternative de convolution (transposée) peut être appliquée. De même, toute opération complémentaire à la portée de l'homme du métier peut être ajoutée à la convolution transposée : biais, stride (décalage du noyau de convolution inverse à chaque itération), dilation (espacement des valeurs d'entrée fournies au noyau), etc.
  • De même, toute fonction d'activation à la portée de l'homme du métier peut être utilisée (ReLU, sigmoïde, Softmax, Softplus, Softsign, etc.)
  • Selon le mode de réalisation tel que présenté à la , les modules de convolution sont composés de convolution 2D, c'est-à-dire que le noyau de convolution s'applique conjointement sur les lignes et les colonnes de la carte de caractéristiques.
  • Selon un autre mode de réalisation, ils peuvent être sous une forme séparable. Dans ce cas, plutôt qu’effectuer la convolution sur la carte de caractéristiques bidimensionnelle, on opère un premier opérateur de convolution unidimensionnel (1D) de longueur Lh sur les lignes, puis une seconde convolution de longueur Lv sur les colonnes de la carte de caractéristiques obtenue après le premier opérateur, ou l'inverse. Cette réalisation a pour effet de réduire le stockage de Lh*Lv pour un noyau donné à Lv+Lh et limite la complexité a Lh+Lw multiplications par valeur de carte de caractéristiques contre Lh*Lv dans le cas 2D. Les deux opérateurs 1D peuvent être identiques en longueur et présenter le même nombre de coefficients. Les coefficients peuvent être identiques dans les dimensions horizontale et verticale. Comme pour la convolution non séparable, dans le cas de la convolution transposée les opérateurs 1D sont appliqués après interpolation du signal.
  • La présente des exemples d'implémentation d'un module de suréchantillonnage utilisé dans le cadre de l’invention.
  • Un module simple, correspondant à la description fournie ci-dessus à l'appui de la , est présenté en (a). Il comporte une convolution transposée CT. De manière préférée, il est suivi d'un biais et d'une non-linéarité.
  • Un module comportant une convolution (C) suivie d'une convolution transposée (CT) est présenté en (b). Par exemple, le module C effectue un prétraitement de filtrage sur la carte de caractéristiques à sa résolution initiale.
  • Un module utilisant une connexion résiduelle est présenté en (c). Selon ce mode, le résultat de la convolution transposée (la carte suréchantillonnée, par exemple d'un facteur 2 dans chaque dimension) est soumis à une nouvelle convolution dont le résultat est additionné ou soustrait à la carte suréchantillonnée. Le résultat est une carte résiduelle qui vient avantageusement corriger le signal suréchantillonné.
  • Un module incluant un élément d’attention est présenté en (d). Au lieu de la simple convolution présentée sur la branche basse du cas (c) précédent, il comporte une fonction de convolution (C2) suivie d'un opérateur sigmoïde SGM représentant la fonction d'activation de type sigmoïde. Un module d'attention permet, de manière générale, d’entraîner un réseau de neurones à associer automatiquement à chaque élément d’un ensemble une pertinence relative aux autres éléments en se basant sur le contexte, issu dans l'exemple de C2. Cela permet un traitement plus localisé qu'un système résiduel pur qui n'aurait pas cet élément de pertinence.
  • Naturellement, les éléments précédents, donnés à titre d'exemple, peuvent être combinés.
  • Notamment, dans un mode de réalisation, le module de suréchantillonnage peut prendre la forme d’une succession de sous modules d’échantillonnage. Par exemple un suréchantillonnage d’un facteur s peut être réalisé par une succession de modules de plus petits facteurs. Un facteur de suréchantillonnage s=6 peut être obtenu par la mise en cascade de deux modules de facteurs respectifs s1=2 et s2=3. Un facteur 8 peut être obtenu par trois modules s1=2, s2=2 et s2=2. Ainsi, un seul sous module de suréchantillonnage peut être répliqué pour obtenir des suréchantillonnages adaptés aux différentes résolutions des cartes de caractéristiques FMdi. Ce mode de réalisation présente l’avantage de limiter le nombre de modules et mutualiser les modules de suréchantillonnage. Ainsi le nombre de paramètres de ce réseau, et par conséquent leur volume de stockage et/ou de transmission est réduit, ainsi que la complexité d'implémentation associée.
  • La est un logigramme représentant un exemple de procédé de codage qui peut être mis en œuvre par le dispositif de codage de la .
  • Selon ce mode de réalisation, le signal est une image bidimensionnelle, chaque échantillon à coder est donc un pixel Pn de coordonnées (xn, yn).
  • L’encodage se déroule en deux phases principales :
  • Dans une première phase, dite phase de construction, un apprentissage est réalisé, afin de déterminer, pour un signal d’entrée I(Pn), les valeurs des cartes FMi et des paramètres WUk du réseau de neurones de suréchantillonnage et optionnellement WSk du module de production pour optimiser une fonction de coût globale. L’apprentissage est par exemple réalisé par une descente de gradient, suivie d’une mise à jour des paramètres du réseau de neurones de suréchantillonnage UP, optionnellement des paramètres du module de synthèse PROD, des valeurs des cartes de caractéristiques FMi. Comme il est connu dans l’état de l’art, la fonction de coût peut être de type débit-distorsion, ou débit, ou distorsion, ou inclure une métrique perceptuelle. Pour mesurer le débit R, il est nécessaire de simuler le codage des cartes FMi, puis de mesurer le débit de codage associé (la taille du flux B1). Selon un mode de réalisation, on ne simule pas le codage des paramètres WUk et/ou WSk, car leur influence est moins importante que celle des cartes de caractéristiques. Selon un mode de réalisation, on simule aussi le codage des paramètres WUk et/ou WSk et on mesure le débit associé (la taille du flux B2). Pour mesurer la distorsion D, il est nécessaire de simuler le codage puis le décodage d’une partie au moins de l'image I, pour obtenir au moins un pixel P’nrésultant d’une simulation de codage puis de décodage, puis de mesurer l'écart entre cette partie de l'image ou de l'ensemble d'images I (Pn) en entrée et une partie correspondante de l'image ou de l'ensemble d'images I (P’n) codée puis décodée.
  • Puis lors d’une deuxième phase, dite phase de codage, les cartes FMi et les paramètres WUk et éventuellement WSk sont encodés pour produire les valeurs codées FMci et WUck (et éventuellement WSck) avant transmission ou stockage. Ils constituent la représentation compressée du signal d’entrée I (Pn).
  • On va maintenant décrire les étapes d’un procédé selon un mode de réalisation de l’invention.
  • Lors d’une étape E20, un ensemble d'images I (Pn) à coder, comportant une pluralité de N échantillons Pn, est fourni en entrée du procédé.
  • Lors d’une étape E21, les M cartes FMi sont initialisées. Par la suite, les paramètres WUk du réseau de neurones de suréchantillonnage UP et les valeurs des cartes FMi, et éventuellement les paramètres WSk du module de synthèse PROD doivent être optimisés durant la phase de construction.
  • Selon un mode de réalisation, les cartes FMi sont de résolution inférieure ou égale à celle du signal d’entrée I (Pn) et comportent donc, pour au moins l’une d’entre elles, un nombre N’ de valeurs à coder inférieur à N. Selon une variante, la première carte FMi est à la résolution des images et chaque carte suivante est à une résolution moitié de la précédente.
  • Selon un mode de réalisation, plusieurs cartes FMi sont de même résolution, inférieure à celle du signal d’entrée I (Pn). Selon un mode de réalisation, une carte FMi unique comporte, pour chaque échantillon, un vecteur de M valeurs scalaires à décoder, sans perte de généralité. Même si les données sont organisées différemment, on considère qu’il y a M cartes de caractéristiques à décoder.
  • Selon un mode de réalisation, les cartes FMi sont initialisées par le module INIT à des valeurs constantes prédéfinies.
  • Selon un autre mode de réalisation, les cartes de caractéristiques FMi sont initialisées par le module INIT à un ensemble de valeurs réelles aléatoires.
  • Les cartes de caractéristiques FMi sont par la suite mises à jour, ou raffinées, lors d’une étape E22, par le module de mise à jour MAJ du codeur au cours de son apprentissage.
  • Lors d’une étape E23, les cartes FMi sont quantifiées.
  • Lors d'une étape E24 les cartes FMi sont codées par le module FMC du codeur. Durant la phase de construction, cette opération est une simulation de codage. Durant la phase de codage, cette opération est un codage effectif et les valeurs codées constituent le flux B1. La simulation peut être identique au codage effectif, mais elle peut aussi être différente (par exemple, simplifiée). Pour ce codage, on utilise par exemple un codage entropique des valeurs quantifiées.
  • Dans un mode de réalisation, les cartes FMi sont codées dans l’ordre (FM1, FM2,…, FM4), et les variables de chaque carte dans un ordre prédéfini, par exemple lexicographique. Chaque carte subit un codage entropique. Le codage entropique produit un flux compressé B1 dont le débit est mesuré ultérieurement au cours d’une étape E28 ou E29.
  • Lors d’une étape E25, les M cartes FMi sont suréchantillonnées par le module FMU pour générer des cartes FMUià la résolution des images de la séquence d’entrée. Au moins une carte FMi est de résolution inférieure à celle des images à coder et l’opération de suréchantillonnage est effectuée pour que la carte FMUisuréchantillonnée comporte le même nombre d’échantillons que les images à coder. Le suréchantillonnage consiste à rajouter des valeurs dans les cartes FMUi et à les traiter par un réseau de neurones au moins pour atteindre la résolution des images d’entrée. Les cartes suréchantillonnées ne sont pas codées, elles servent uniquement à l'alimentation du module PROD.
  • La structure et les paramètres WUk du réseau de neurones de suréchantillonnage sont initialisés par exemple lors de la première itération de cette étape. Ces paramètres sont par la suite mis à jour, ou raffinés, au cours de la phase de construction, lors des itérations ultérieures du procédé.
  • Selon un mode de réalisation, les paramètres du réseau de suréchantillonnage sont initialisés par des valeurs prédéfinies connues pour donner un résultat satisfaisant (par exemple, à la suite d’un entraînement sur un corpus d’images).
  • Selon un autre mode de réalisation, les paramètres du réseau de neurones de suréchantillonnage sont initialisés par un ensemble de valeurs aléatoires.
  • Selon un mode de réalisation, M cartes FMUisont générées.
  • Selon un mode de réalisation, chaque carte FMi est transformée en une carte FMUi.
  • Lors d’une étape E26, le module PROD est appelé pour une synthèse de l'image I(P’n). Selon un mode de réalisation, le module PROD est un réseau de neurones de type MLP ou convolutionnel, ou une combinaison des deux, qui transforme un vecteur en entrée en un vecteur de sortie représentatif de l'échantillon en cours de traitement, par exemple un pixel. Par exemple, l'extraction est réalisée dans les cartes suréchantillonnées en fonction des coordonnées (xn, yn) de l’échantillon Pn du signal d’entrée. Selon un autre exemple, l'extraction est réalisée par bloc dans les cartes pour produire un ensemble de pixels en sortie. Dans ce cas, le vecteur d'entrée correspond au bloc. La structure et les paramètres WSk du réseau de neurones de synthèse sont initialisés par exemple lors de la première itération de cette étape. Ces paramètres sont par la suite mis à jour, ou raffinés, au cours de la phase de construction, lors des itérations ultérieures du procédé.
  • Les échantillons à coder sont par exemple traités par ordre séquentiel, de n=1 à n=N.
  • Lors d’une étape E27, les paramètres WSk du réseau de neurones de synthèse du module PROD, s’ils existent, et les paramètres WUk du réseau de neurones de suréchantillonnage, sont quantifiés et codés. Durant la phase de construction, cette opération est une simulation de codage. Durant la phase de codage, cette opération est un codage effectif et les valeurs codées constituent le flux B2. La simulation peut être identique au codage effectif, mais elle peut aussi être différente (par exemple, simplifiée). On peut utiliser à cette fin toute technique connue, par exemple la norme de codage de réseaux de neurones proposée par le standard MPEG-7 partie 17, aussi appelée NNR (Neural Network Representation). On notera que dans ce cas, il faut choisir la quantité de dégradation que le codage apporte aux poids WUket optionnellement WSk.
  • Selon un mode de réalisation, le flux B2 est transmis. Selon un autre mode de réalisation, le flux B2 est stocké en mémoire, par exemple en ROM ou en RAM.
  • Cet espace de stockage peut contenir une banque de paramètres permettant de constituer des variantes de réseau de suréchantillonnage. Par exemple, plusieurs convolutions (interpolateurs simples tels que cubiques, interpolations linéaires ou étendues à deux dimensions…) plusieurs convolutions résiduelles ou avec attention adaptées à des contenus spécifiques (images directionnelles, images graphiques, satellitaires…) peuvent être stockés, un indicateur peut alors être inséré dans le flux pour informer le décodeur du réseau à utiliser.
  • Selon un mode de réalisation, certains paramètres WUckdu réseau de suréchantillonnage UP peuvent être exprimés en relation avec un réseau de référence stocké en mémoire. Ceci a pour avantage de réduire l’espace nécessaire pour le stockage ou la transmission du réseau. Par exemple, une couche du réseau de suréchantillonnage peut être reprise du réseau de référence, les poids d’une couche peuvent être codés en différentiel, c'est-à-dire qu’une valeur correctrice est appliquée par addition ou multiplication à chaque poids (convolution, biais) du réseau de référence. Ces valeurs correctrices peuvent être transmises ou stockées efficacement à l’aide d’un code entropique. Ainsi, le réseau de suréchantillonnage est adapté, avec peu d’information supplémentaire, à la nature du signal contenu dans la carte de caractéristiques et à l’image ou aux images traitées.
  • Les deux modes de réalisation mentionnés ci-dessus peuvent être combinés : un indicateur de référence peut alors être inséré dans le flux pour informer le décodeur du réseau de référence à utiliser, et les paramètres reçus sont utilisés pour reconstruire le réseau de suréchantillonnage à partir du réseau de référence à utiliser.
  • Lors d’une étape E28, une mesure de performance est évaluée.
  • À cet effet, les débits de simulation de codage associés aux cartes de caractéristiques (simulation du flux B1 par codage des cartes FMi) et optionnellement aux paramètres du (des) réseau(x) de neurones (simulation du flux B2 par codage des paramètres WUket optionnellement WSk) sont mesurés.
  • Selon un mode de réalisation, la fonction de coût est de type débit-distorsion, notée (D+L*R), où D par exemple l’erreur quadratique mesurée entre le signal d’entrée et le signal décodé (ou l’erreur mesurée sur un sous-ensemble d’échantillons du signal). Selon un autre exemple, D est calculé à partir d’une fonction perceptive telle que le SSIM (pour Structural SIMilarity), ou MSSSIM (pour Multi-scale Structural SIMilarity). Selon un mode de réalisation, R est le débit simulé du flux B1 ; selon un autre mode de réalisation, R est le débit total utilisé pour coder cette image, c’est-à-dire la somme des débits simulés de B1 et B2. L est un paramètre qui règle le compromis débit-distorsion. D’autres fonctions de coût sont possibles.
  • Tant que la fonction de coût n’a pas atteint son minimum, la mesure de performance n’est pas satisfaisante, et le procédé est réitéré à partir de l’étape E22. Cette minimisation peut être effectuée par un mécanisme connu comme une descente de gradient avec mise à jour des paramètres au cours de l’étape E22 pour les valeurs des cartes de caractéristiques et E25, E26 pour les paramètres du ou des réseau(x).
  • Lors d’une étape E29, si la fonction de coût a atteint son minimum, l’entraînement s’arrête. Si une version codée correspondant à la dernière simulation des paramètres du réseau de neurones de suréchantillonnage (WUk), optionnellement de synthèse (WSk) et des cartes de caractéristiques (FMi) est disponible, les flux B1 et B2 peuvent en être constitués. Selon un autre mode de réalisation, le codage effectif des paramètres mis à jour du (des) réseau(x) de neurones et des valeurs des cartes de caractéristiques (FMi) est effectué à cette étape pour produire les paramètres encodés WUck(optionnellement WSck) et FMciqui constituent des flux B1 et B2. Les flux B1 et B2 peuvent être concaténés pour produire un flux final. Selon un mode de réalisation, le flux B2 des paramètres codés du (des) réseau(x) de neurones est (sont) stocké(s) ou transmis avant le flux B1, afin de pouvoir être décodé(s) avant le flux B1.
  • La représente de manière illustrée un procédé de codage utilisé dans un mode de réalisation de l’invention.
  • Dans ce mode de réalisation, les cartes FMi générées sont au nombre de quatre. Dans un mode préféré, elles sont au nombre de sept.
  • La première carte FM1 a la même résolution que l’image I (Pn), et comporte donc WxH valeurs variables, ou scalaires, où W représente la largeur de l’image en pixels, et H sa hauteur. La seconde carte FM2 est de résolution moitié (dans chaque dimension) de la carte FM1. Chaque carte supplémentaire est de résolution moitié de la carte précédente. Cette structure permet de réduire le nombre de variables des cartes de caractéristiques, ce qui facilite le codage et l’apprentissage tout en minimisant le coût de codage. D’autres types de structure sont possibles, par exemple on peut utiliser un taux de réduction différent d’un demi entre les cartes (un quart, ou un tiers, etc.).
  • Selon ce mode de réalisation, les cartes FMisont quantifiées par le module Q. Chaque carte possède son propre sous-module de quantification Qi. Dans un autre mode de réalisation, le module de quantification est commun à toutes les cartes.
  • Selon ce mode de réalisation, les cartes FMqisont suréchantillonnées par le module UP, à l'exception de FMq1 qui est déjà à la résolution de l'image de sortie. Le module UP1est réduit à l'identité (ou inexistant).
  • Dans un mode de réalisation, chaque carte possède son propre sous-module de suréchantillonnage UPiqui lui permet de passer de la résolution de la carte FMi à la résolution de l'image. Ainsi la carte FM2 est suréchantillonnée par le module UP2d’un facteur 2 dans chaque dimension, selon un procédé illustré à l’appui des figures 3 à 5. La carte FM3 est suréchantillonnée d’un facteur 4, qui peut être réalisé par deux suréchantillonnages successifs d'un facteur 2, dans chaque dimension, et la carte FM4 d’un facteur 8 dans chaque dimension.
  • Les cartes FMUi résultantes sont de même résolution que l’image I(Pn), et comportent donc chacune WxH valeurs, où W représente la largeur de l’image en pixels et H sa hauteur (N=WxH).
  • Dans un autre mode de réalisation, le module de suréchantillonnage est commun à toutes les cartes ; par exemple, un sous module d'un facteur 2 peut être utilisé en cascade et/ou partagé par plusieurs cartes.
  • Dans le mode de réalisation illustré, le module PROD de synthèse est un réseau de neurones de synthèse de type MLP ou convolutionnel, ou une combinaison des deux, et un vecteur Zn (z1...z4) est constitué à partir des valeurs extraites des cartes FMUi situées aux coordonnées (xn, yn) du pixel courant Pn. Le vecteur Zn constitué des valeurs extraites (quantifiées) des cartes FMUi est traité par le réseau de neurones de synthèse du module PROD pour générer en sortie un second vecteur, selon l’exemple le vecteur de sortie est le triplet (R,G,B) du pixel P’n codé (dans la mesure où les cartes de caractéristiques utilisées pour l'extraction correspondent à celles qui sont codées dans le flux) puis décodé (c'est-à-dire ici généré, ou produit, par le réseau de neurones de PROD). Le triplet est inséré dans l’image décodée I (P’n) aux positions (xn, yn) des composantes couleur (R’, G’, B’) et peut servir au module d'évaluation de la qualité, par comparaison avec l'image d'entrée I (Pn).
  • La est un logigramme représentant un exemple de procédé de décodage qui peut être mis en œuvre par le dispositif de décodage de la .
  • Le décodage décrit concerne une sous-séquence d’images comportant au moins une image à décoder.
  • Lors d’une étape E30, les flux B1 et B2 sont extraits du flux encodé. Ils contiennent respectivement, pour une sous-séquence courante de la séquence, les représentations codées des cartes courantes FMci et des paramètres de suréchantillonnage WUck du réseau de neurones de suréchantillonnage UP, optionnellement des paramètres de synthèse WSck du module de synthèse.
  • Selon un mode de réalisation, le flux B2 est reçu. Selon un autre mode de réalisation, le flux B2 est stocké en mémoire, par exemple en ROM ou en RAM. Conformément à ce qui a été décrit pour le codeur, cet espace de stockage peut contenir une banque, ou pluralité, de paramètres permettant de constituer des variantes de réseau de suréchantillonnage. Un indicateur peut alors être lu dans le flux pour informer le décodeur du réseau à utiliser ou à construire à partir d'une combinaison de paramètres.
  • Selon un mode de réalisation, les paramètres WUck du réseau de suréchantillonnage peuvent être décodés en relation avec un réseau de référence stocké en mémoire. Les exemples décrits au codeur s'appliquent. Par exemple, les paramètres reçus sont des valeurs correctrices relatives au réseau de référence, qui peuvent être décodées à l’aide d’un code entropique et combinées aux paramètres du réseau de référence.
  • Les deux modes de réalisation mentionnés ci-dessus peuvent être combinés : un indicateur de référence peut alors être lu dans le flux pour informer le décodeur du réseau de référence à utiliser, et les paramètres reçus sont utilisés pour reconstruire le réseau de suréchantillonnage à partir du réseau de référence.
  • Lors d’une étape E31, les M cartes FMdi sont générées par décodage des valeurs FMci. Pour ce décodage, on utilise par exemple un décodeur entropique.
  • Selon des modes de réalisation tels que décrits pour le codeur :
  • – Les cartes FMdi sont à une résolution inférieure ou égale à celle du signal I (Pdn) à reconstituer.
  • – Plusieurs cartes FMdi sont de même résolution, inférieure à la résolution du signal.
  • - Une carte FMdi unique comporte, pour chaque échantillon, un vecteur de M valeurs scalaires à décoder. Même si les données sont organisées différemment, on considère qu’il y a M cartes de caractéristiques à décoder
  • Lors d’une étape E32, selon un mode de réalisation, les cartes FMdi sont déquantifiées.
  • Lors d'une étape E33, le réseau de neurones de suréchantillonnage du module UP est décodé. Les paramètres WUdk du réseau de neurones de suréchantillonnage UP' et éventuellement les paramètres WSdk du réseau de neurones de synthèse du module PROD sont générés par décodage des valeurs WUck et WSck du flux B2. On peut utiliser à cette fin toute technique connue de décodage correspondant à celle de codage qui a été utilisée par le codeur, par exemple un format analogue à celui de la norme MPEG-7 NNR. Le réseau de neurones de synthèse du module PROD' est semblable au réseau de synthèse du module PROD, c’est-à-dire qu’il est de même structure et comporte les mêmes paramètres, au codage près, qui peut être réalisé avec ou sans pertes. De même, le réseau de neurones de suréchantillonnage UP' est semblable au réseau de suréchantillonnage UP, c’est-à-dire qu’il est de même structure et comporte les mêmes paramètres, au codage près, qui peut être réalisé avec ou sans pertes.
  • Selon un mode de réalisation, le flux B2 est décodé avant le flux B1, afin de pouvoir disposer du réseau de neurones de suréchantillonnage UP et éventuellement du réseau de neurones de synthèse PROD avant de commencer à décoder les échantillons.
  • Lors d’une étape E34, les M cartes FMdi décodées sont suréchantillonnées par le module UP' pour générer des cartes FMUdià la résolution des images de la séquence d’entrée. Au moins une carte FMdi est de résolution inférieure à celle des images à coder et l’opération de suréchantillonnage est effectuée pour que la carte FMUdi suréchantillonnée comporte le même nombre d’échantillons que les images à décoder. Le suréchantillonnage consiste à rajouter des valeurs dans les cartes FMdi et à les traiter par un réseau de neurones pour atteindre la résolution des images de sortie. Cette étape est similaire à l’étape E25 qui a été décrite pour le codeur à l’appui de la , et les modes de réalisation s’appliquent. Notamment :
  • Selon un mode de réalisation, M cartes FMUdisont générées.
  • Selon un mode de réalisation, chaque carte FMdi est suréchantillonnée en une carte FMUdi.
  • Selon un mode de réalisation, au moins une carte FMdi est de résolution inférieure à celle des images à coder et l’opération de suréchantillonnage est effectuée pour que la carte FMUdisuréchantillonnée comporte le même nombre d’échantillons que l’image de sortie.
  • Lors d’une étape E35, le module PROD est appelé pour générer une synthèse des échantillons décodés à partir des cartes de caractéristiques suréchantillonnées. Selon un mode de réalisation, le module PROD est un réseau de neurones de type MLP ou convolutionnel, ou une combinaison des deux, qui transforme un vecteur en entrée en un vecteur de sortie représentatif de l'échantillon en cours de traitement, par exemple, un pixel. Par exemple, l'extraction est réalisée dans les cartes suréchantillonnées en fonction des coordonnées (xn, yn) de l’échantillon Pn du signal d’entrée.
  • Cette étape est similaire à l’étape E26 qui a été décrite pour le codeur à l’appui de la , et les modes de réalisation s’appliquent.
  • Les échantillons à décoder sont par exemple traités par ordre séquentiel, de n=1 à n=N.
  • Lorsque tous les échantillons du signal ont été traités, le signal décodé correspondant par exemple à l’image I (Pdn) est disponible.
  • La représente de manière illustrée un procédé de décodage utilisé dans un mode de réalisation de l’invention.
  • Dans ce mode de réalisation, les cartes décodées FMdi sont au nombre de quatre. Dans un mode préféré, elles sont au nombre de sept.
  • Dans ce mode de réalisation, la première carte FMd1 a la même résolution que l’image I, et comporte donc WxH valeurs variables, où W représente la largeur de l’image en pixels, et H sa hauteur. La seconde carte FMd2 est de résolution moitié (dans chaque dimension) de la carte FMd1. Chaque carte supplémentaire est de résolution moitié de la carte précédente. Cette structure permet de réduire le nombre de variables des cartes de caractéristiques ce qui facilite le décodage tout en minimisant le coût de codage. D’autres types de structure sont possibles, par exemple on peut utiliser un taux de réduction différent d’un demi entre les cartes (un quart, ou un tiers, etc.).
  • Selon ce mode de réalisation, les cartes FMdisont déquantifiées par le module DQ. Chaque carte possède son propre sous-module de quantification DQi. Dans un autre mode de réalisation, le module de quantification inverse est commun à toutes les cartes. Dans un autre mode de réalisation, il n'existe pas.
  • Selon ce mode de réalisation, les cartes FMqisont suréchantillonnées par le module UP', à l'exception de FMq1 qui est déjà à la résolution de l'image de sortie. Le module UP1est réduit à l'identité (ou inexistant).
  • Dans un mode de réalisation, chaque carte possède son propre sous-module de suréchantillonnage UPiqui lui permet de passer de la résolution de la carte FMdi à la résolution de l'image. La carte FMd2 est suréchantillonnée par le module UP'2d’un facteur 2 dans chaque dimension, selon un procédé illustré à l’appui des figures 3 à 5. La carte FMd3 est suréchantillonnée d’un facteur 4, qui peut être réalisé par deux suréchantillonnages successifs d'un facteur 2, dans chaque dimension, et la carte FMd4 d’un facteur 8 dans chaque dimension.
  • Les cartes FMUdi résultantes sont de même résolution que l’image I (Pdn), et comportent donc chacune WxH valeurs, où W représente la largeur de l’image en pixels et H sa hauteur (N=WxH).
  • Dans un autre mode de réalisation, comme décrit au codeur, le module de suréchantillonnage est commun à toutes les cartes ; par exemple, un sous module d'un facteur 2 peut être utilisé en cascade et/ou partagé par plusieurs cartes.
  • Dans le mode de réalisation illustré, le module PROD' est un réseau de neurones de synthèse de type MLP ou convolutionnel, ou une combinaison des deux, et un vecteur Zdn (zd1...zd4) est constitué à partir des valeurs extraites des cartes FMUi situées aux coordonnées (xn, yn) du pixel courant Pn. Le vecteur Zdn est traité par le réseau de neurones de synthèse du module PROD' pour générer en sortie le triplet (R, G, B) représentatif de l’échantillon Pdn à décoder. Le triplet (R, G, B) est inséré dans l’image décodée I (Pdn) aux coordonnées (xn, yn) dans les composantes couleur (Rd, Gd, Bd).

Claims (15)

  1. Procédé de codage d’une image au moins (I(Pn)) comprenant une pluralité d’échantillons (Pn) à coder, comportant les étapes suivantes :
    - une étape de construction, comportant les sous-étapes de :
    - construction (E21, E22) d’un groupe de cartes de caractéristiques (FMi) comprenant au moins une carte de caractéristiques de résolution inférieure à la résolution de l'image d'entrée, dite carte de résolution inférieure ;
    - suréchantillonnage (E25) de ladite au moins une carte de caractéristiques de résolution inférieure en utilisant un réseau de neurones artificiels de suréchantillonnage (UP) au moins défini par un ensemble de paramètres de suréchantillonnage (WUck) pour obtenir une carte suréchantillonnée à la résolution de ladite au moins une image ;
    - génération (E26) de ladite au moins une image à partir de ladite au moins une carte suréchantillonnée ;
    - mise à jour (E28, E22) d'au moins une valeur d’une desdites cartes de caractéristiques dudit groupe et/ou d’au moins un paramètre de suréchantillonnage, en fonction d’une mesure de performance de codage,
    - une étape de codage (E24, E27) dudit groupe de cartes de caractéristiques (FMci) et dudit ensemble de paramètres de suréchantillonnage (WUck).
  2. Procédé de codage selon la revendication 1, caractérisé en ce que ladite génération (E26) de ladite au moins une image utilise un module de synthèse (PROD) défini par un ensemble de paramètres de synthèse, apte à générer un échantillon de l'image à décoder à partir de données extraites de ladite au moins une carte de caractéristiques suréchantillonnée à des positions définies par celle dudit échantillon dans l'image.
  3. Procédé de codage selon la revendication 1 ou 2, caractérisé en ce que le procédé comporte une étape de codage dudit ensemble de paramètres de synthèse.
  4. Procédé de décodage d’une image au moins, à partir d'un flux binaire comprenant une pluralité d’échantillons (Pdn) à décoder, comportant les étapes suivantes :
    - décodage (E31) d’un groupe de cartes de caractéristiques (FMdi) représentatives de l’image courante, ledit groupe comprenant au moins une carte de caractéristiques de résolution inférieure à la résolution de l'image d'entrée, dite carte de résolution inférieure ;
    - obtention (E33) d’un ensemble de paramètres de suréchantillonnage (WUck) représentatifs d’un réseau de neurones (UP') au moins, dit réseau de neurones de suréchantillonnage ;
    - suréchantillonnage (E34) de ladite au moins une carte de caractéristiques de résolution inférieure en utilisant ledit au moins un réseau de suréchantillonnage pour obtenir une carte suréchantillonnée à la résolution de ladite au moins une image ;
    - génération (E35) de ladite au moins une image à partir de ladite au moins une carte suréchantillonnée.
  5. Procédé de décodage selon la revendication 4, caractérisé en ce que une partie au moins de l'ensemble de paramètres (WUck) de suréchantillonnage est décodé à partir de données dudit flux binaire.
  6. Procédé de décodage selon la revendication 4 ou 5, caractérisé en ce que une partie au moins de l'ensemble de paramètres de suréchantillonnage (WUck) est obtenu à partir de valeurs prédéterminées.
  7. Procédé de décodage selon l'une des revendications 4 à 6, caractérisé en ce que une partie au moins de l'ensemble de paramètres de suréchantillonnage (WUck) est décodé en fonction de paramètres de référence.
  8. Procédé de décodage selon l'une des revendications 4 à 7, caractérisé en ce que l'ensemble de paramètres de suréchantillonnage (WUck) est représentatif d'une pluralité de réseaux de neurones (UP'1, UP'2, UP'3, UP'4) de suréchantillonnage, un réseau de neurones de suréchantillonnage étant utilisé pour suréchantillonner au moins une carte de caractéristiques de résolution inférieure du groupe de cartes de caractéristiques.
  9. Procédé de décodage selon l'une des revendications 4 à 8, caractérisé en ce qu’un réseau de neurones de suréchantillonnage est utilisé pour suréchantillonner au moins deux cartes de caractéristiques de résolution inférieure du groupe de cartes de caractéristiques.
  10. Procédé de décodage selon l'une des revendications 4 à 9, caractérisé en ce qu’un réseau de neurones de suréchantillonnage est utilisé pour suréchantillonner au moins une carte déjà suréchantillonnée du groupe de cartes de caractéristiques.
  11. Procédé de décodage selon l'une des revendications 4 à 10, caractérisé en ce que ladite au moins une carte de caractéristiques de résolution inférieure est suréchantillonnée selon au moins deux dimensions, et en ce qu'un suréchantillonnage distinct est utilisé pour chaque dimension.
  12. Procédé de décodage selon l'une des revendications 4 à 11, caractérisé en ce que ladite génération de ladite au moins une image utilise un réseau de neurones de synthèse (PROD') apte à générer un échantillon de l'image à décoder à partir de données extraites des cartes de caractéristiques suréchantillonnées à des positions définies par celle dudit échantillon dans l'image.
  13. Dispositif de codage d’une image au moins (I(Pn)) comprenant une pluralité d’échantillons (Pn) à coder, caractérisé en ce que ledit dispositif est configuré pour mettre en œuvre :
    - une étape de construction, comportant les sous-étapes de :
    - construction (INIT, MAJ) d’un groupe de cartes de caractéristiques (FMi) comprenant au moins une carte de caractéristiques de résolution inférieure à la résolution de l'image d'entrée, dite carte de résolution inférieure ;
    - suréchantillonnage (UP) de ladite au moins une carte de caractéristiques de résolution inférieure en utilisant un réseau de neurones artificiels de suréchantillonnage au moins (UP) défini par un ensemble de paramètres de suréchantillonnage (WUck) pour obtenir une carte suréchantillonnée à la résolution de ladite au moins une image ;
    - génération (PROD) de ladite au moins une image à partir de ladite au moins une carte suréchantillonnée ;
    - mise à jour (EVAL, MAJ) d'au moins une valeur d’une desdites cartes de caractéristiques dudit groupe et/ou d’au moins un paramètre de suréchantillonnage, en fonction d’une mesure de performance de codage ;
    - une étape de codage (FMC, NNC) dudit groupe de cartes de caractéristiques (FMi) et dudit ensemble de paramètres de suréchantillonnage (WUck).
  14. Dispositif de décodage d’une image au moins, à partir d'un flux binaire, comprenant une pluralité d’échantillons (Pdn) à décoder, caractérisé en ce que ledit dispositif est configuré pour mettre en œuvre :
    - décodage (FMD) d’un groupe de cartes de caractéristiques (FMdi) représentatives de l’image courante, ledit groupe comprenant au moins une carte de caractéristiques de résolution inférieure à la résolution de l'image d'entrée, dite carte de résolution inférieure ;
    - obtention (NND) d’un ensemble de paramètres de suréchantillonnage (WUck) représentatifs d’un réseau de neurones (UP') au moins, dit réseau de neurones de suréchantillonnage ;
    - suréchantillonnage (UP') de ladite au moins une carte de caractéristiques de résolution inférieure en utilisant ledit réseau de suréchantillonnage pour obtenir une carte suréchantillonnée à la résolution de ladite au moins une image ;
    - génération (PROD') de ladite au moins une image à partir de ladite au moins une carte suréchantillonnée.
  15. Programme d’ordinateur comportant des instructions pour l’exécution des étapes d'un procédé de codage ou de décodage selon la revendication 1 ou 4 lorsque ledit programme est exécuté par un ordinateur.
EP24724528.5A 2023-05-24 2024-05-07 Procédé et dispositif de codage et décodage d'images Pending EP4721399A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2305152A FR3149158A1 (fr) 2023-05-24 2023-05-24 Procédé et dispositif de codage et décodage d'images.
PCT/EP2024/062653 WO2024240496A1 (fr) 2023-05-24 2024-05-07 Procédé et dispositif de codage et décodage d'images

Publications (1)

Publication Number Publication Date
EP4721399A1 true EP4721399A1 (fr) 2026-04-08

Family

ID=87889950

Family Applications (1)

Application Number Title Priority Date Filing Date
EP24724528.5A Pending EP4721399A1 (fr) 2023-05-24 2024-05-07 Procédé et dispositif de codage et décodage d'images

Country Status (5)

Country Link
EP (1) EP4721399A1 (fr)
KR (1) KR20260015869A (fr)
CN (1) CN121488467A (fr)
FR (1) FR3149158A1 (fr)
WO (1) WO2024240496A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN119544979B (zh) * 2025-01-21 2025-05-09 长沙超创电子科技有限公司 一种用于神经网络的图像编解码及传输方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10628705B2 (en) * 2018-03-29 2020-04-21 Qualcomm Incorporated Combining convolution and deconvolution for object detection
US12206851B2 (en) 2021-05-21 2025-01-21 Qualcomm Incorporated Implicit image and video compression using machine learning systems
WO2023037977A1 (fr) * 2021-09-08 2023-03-16 Sharp Kabushiki Kaisha Systèmes et procédés de réduction du bruit dans des données de caractéristiques reconstruites lors du codage de données multidimensionnelles

Also Published As

Publication number Publication date
FR3149158A1 (fr) 2024-11-29
WO2024240496A1 (fr) 2024-11-28
KR20260015869A (ko) 2026-02-03
CN121488467A (zh) 2026-02-06

Similar Documents

Publication Publication Date Title
FR3143245A1 (fr) Procédé et dispositif de codage et décodage d’images.
WO2024240496A1 (fr) Procédé et dispositif de codage et décodage d'images
EP3198876B1 (fr) Génération et codage d'images intégrales résiduelles
WO2024240497A1 (fr) Procédé et dispositif de codage et décodage d'images.
FR3143248A1 (fr) Procédé et dispositif de codage et décodage d’images.
WO2024260629A1 (fr) Procédé et dispositif de codage et décodage de séquences d'images
WO2024260628A1 (fr) Procédé et dispositif de codage et décodage de séquences d'images
WO2025056651A1 (fr) Procédé et dispositif de codage et décodage de séquences d'images
FR3143247A1 (fr) Procédé et dispositif de codage et décodage de séquences d’images.
FR3143246A1 (fr) Procédé et dispositif de codage et décodage d’images.
WO2025056653A1 (fr) Procédé et dispositif de codage et décodage d'images
WO2026087142A1 (fr) Procédé et dispositif de codage et décodage d'images
WO2025180860A1 (fr) Procédé et dispositif de codage et décodage d'images avec mécanisme de correction
WO2025180859A1 (fr) Procédé et dispositif de codage et décodage d'images avec mécanisme de correction
WO2026003351A1 (fr) Procédé et dispositif de codage et décodage d'un signal
WO2025120066A1 (fr) Procédé et dispositif de codage et décodage contextuel de séquences d'images
WO2026003293A1 (fr) Procédé et dispositif de codage et décodage d'un signal
WO2025056649A1 (fr) Procédé et dispositif de codage et décodage d'images avec mécanisme d'attention.
FR3164089A1 (fr) Procédé et dispositif de codage et décodage d’images
WO2026003294A1 (fr) Procédé et dispositif de codage et décodage d'un signal
EP2839648A1 (fr) Procédé de codage et de décodage d'images intégrales, dispositif de codage et de décodage d'images intégrales et programmes d'ordinateur correspondants

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20251124

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR