FR3153176A1 - Procédé et dispositif de codage et décodage d’images avec mécanisme d'attention. - Google Patents
Procédé et dispositif de codage et décodage d’images avec mécanisme d'attention. Download PDFInfo
- Publication number
- FR3153176A1 FR3153176A1 FR2309711A FR2309711A FR3153176A1 FR 3153176 A1 FR3153176 A1 FR 3153176A1 FR 2309711 A FR2309711 A FR 2309711A FR 2309711 A FR2309711 A FR 2309711A FR 3153176 A1 FR3153176 A1 FR 3153176A1
- Authority
- FR
- France
- Prior art keywords
- reconstruction
- neural network
- decoding
- current image
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Procédé et dispositif de codage et décodage d’images avec mécanisme d'attention
L'invention concerne un procédé et un dispositif de décodage d'une image courante (Iv) d'une séquence d’images (Si). Le procédé comporte les étapes suivantes :
- obtention (E31) d’un ensemble d'informations de correction (IC, FMC) de ladite au moins une image courante ;
- obtention (E32) d’un ensemble d'informations de prédiction (IP, FMP) de ladite au moins une image courante ;
- décodage (E34) d’un ensemble de paramètres (WMX) représentatifs d'au moins un réseau de neurones de reconstruction (MIX);
- traitement (E35) desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation de l'image courante décodée (FMREC, Ivd).
Figure pour l’abrégé : Fig. 1.
Description
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.).
L’encodage d’une image est généralement effectué par une prédiction des pixels à l’aide de pixels précédemment codés puis décodés présents dans l’image en cours d’encodage, auquel cas on parle de « prédiction Intra », ou d’images précédemment codées, auquel cas on parle de « prédiction Inter ».
Dans le cas d'une prédiction inter, une approche classique est souvent utilisée : après estimation et compensation du mouvement au codeur, une trame résiduelle est calculée en soustrayant la trame de prédiction de l'image originale. Au décodeur, la trame de prédiction et la trame résiduelle sont ajoutées pour obtenir la trame reconstruite. Cette simple addition n'étant pas optimale, de nouvelles approches, notamment neuronales, se sont développées récemment.
Dans ce domaine, une approche neuronale de type conditionnelle est proposée par exemple dans le document "Conditional Residual Coding: A Remedy for Bottleneck Problems in Conditional Inter Frame Coding", de F. Brand et al (arXiv:2307.12864). Le codage conditionnel proposé modélise la distribution conditionnelle d'une image en fonction de son prédicteur. Toutefois (FIG. 3 de ce document), les données résiduelles et les données prédites sont considérées comme était d’importance égale. Ceci limite la performance de compression.
Il existe donc un besoin pour une solution permettant de combiner un signal résiduel à un signal prédit dans une séquence d’images de manière plus efficace.
L’invention vise un procédé de codage d'une image courante au moins d'une séquence d’images, comportant les étapes suivantes :
- génération d’un ensemble d'informations de prédiction de ladite au moins une image courante ;
- génération d’un ensemble d'informations de correction de ladite au moins une image courante ;
- génération d'au moins un réseau de neurones de reconstruction, défini par un ensemble de paramètres de reconstruction ;
- traitement desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation de l'image courante ;
- mise à jour d'une partie au moins desdites informations de prédiction et/ou desdites informations de correction et/ou desdits paramètres de reconstruction, en fonction d’une mesure de performance de codage ;
- codage d'une partie au moins desdites informations de correction et/ou de prédiction et desdits paramètres de reconstruction.
- génération d’un ensemble d'informations de prédiction de ladite au moins une image courante ;
- génération d’un ensemble d'informations de correction de ladite au moins une image courante ;
- génération d'au moins un réseau de neurones de reconstruction, défini par un ensemble de paramètres de reconstruction ;
- traitement desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation de l'image courante ;
- mise à jour d'une partie au moins desdites informations de prédiction et/ou desdites informations de correction et/ou desdits paramètres de reconstruction, en fonction d’une mesure de performance de codage ;
- codage d'une partie au moins desdites informations de correction et/ou de prédiction et desdits paramètres de reconstruction.
L’invention vise aussi un procédé de décodage d'une image courante d'une séquence d’images, comportant les étapes suivantes :
- obtention d’un ensemble d'informations de correction de ladite image courante ;
- obtention d’un ensemble d'informations de prédiction de ladite image courante ;
- décodage d’un ensemble de paramètres de reconstruction représentatifs d'au moins un réseau de neurones de reconstruction;
- traitement desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation de l'image courante décodée.
- obtention d’un ensemble d'informations de correction de ladite image courante ;
- obtention d’un ensemble d'informations de prédiction de ladite image courante ;
- décodage d’un ensemble de paramètres de reconstruction représentatifs d'au moins un réseau de neurones de reconstruction;
- traitement desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation de l'image courante décodé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 « séquence d’images » on entend une pluralité d’images bidimensionnelles ordonnées, par exemple temporellement dans le cas d’une vidéo. Selon un exemple, la séquence correspond à une scène. Selon un exemple la séquence correspond à un ensemble d'images prédéfinies, par exemple un nombre fixe, ou, au sens des normes MPEG, un GOP (Group Of Pictures) comprenant les images situées entre deux images de type Intra-images, aussi appelé « période intra ». 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 « image courante » on entend une image de la séquence.
Par "informations de prédiction" on entend toute information utile à la génération d'une prédiction de l'image courante. Classiquement, ces informations peuvent être des informations de prédiction inter (mouvement, images de référence, etc.), de prédiction intra (direction de prédiction), de sélection de mode (mode intra ou inter ou bien combiné intra/inter ou de combinaison), etc.
Par "information de correction" on entend toute information utile à la génération d'une correction de la prédiction de l'image courante. Classiquement, ces informations peuvent être des informations résiduelles, par exemple une image résiduelle.
Les "informations de prédiction" et "informations de correction" sont les entrées du réseau de neurones de reconstruction. Elles peuvent contenir des données dans le domaine image ou dans le domaine latent. Par exemple, une image de prédiction (resp. correction) peut se composer de pixels ou de cartes de caractéristiques représentatives de l'image de prédiction (resp. correction) dans le domaine latent.
On appelle "domaine latent" une représentation composée d’un ensemble de cartes de caractéristiques sous forme bidimensionnelle, dont la taille est proportionnelle à l’image d’entrée. Il peut aussi comprendre un ensemble de vecteurs unidimensionnels, ou un ensemble de valeurs scalaires.
Par « réseau de neurones de reconstruction », on entend un réseau neuronal tel un réseau neuronal convolutif, un perceptron multicouche, un LSTM (pour « Long Short Term Memory » en anglais), 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 un vecteur de dimension M, A est une matrice de dimension MxN, et f est la fonction d’activation). De préférence le réseau de neurones de reconstruction est convolutif, c'est-à-dire qu'il comporte au moins une couche de convolution. Une pluralité de tels réseaux peut être mise en cascade.
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 ou de convolution, pondération, biais, valeur affectant le fonctionnement de la non-linéarité, etc.)
Par « traitement (de valeurs d'entrée) par un réseau de neurones de reconstruction », on entend l’application d’une fonction exprimée par un réseau de neurones aux valeurs d’entrée pour produire des valeurs de sortie représentatives des échantillons de l'image courante à décoder (reconstruire) (resp. coder).
Par "représentation de l'image courante" on entend sa représentation dans le domaine image (représentation sous forme de pixels) ou latent (représentation sous forme de cartes de caractéristiques).
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 l'image courante, 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. 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 ou minimale, ou un temps prédéfini.
Par « échantillon », on entend une valeur prélevée dans une image de la séquence. 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 est repérée par ses coordonnées en abscisse (x) et ordonnée (y) dans l’image.
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 au cours de son apprentissage une construction des paramètres de codage, à partir d’une séquence d’images d’entrée, en entraînant un réseau de neurones de reconstruction sur des ensembles de données d'informations de prédiction et de correction, pour obtenir une reconstruction fidèle de l'image. Avantageusement, le procédé de codage encode le réseau de neurones de reconstruction. Celui-ci peut être optimisé, et adapté en complexité ou en qualité, selon la complexité visée et le rapport visé entre débit et distorsion. De même, les informations de prédiction et de correction encodées et transmises peuvent ainsi être optimisées et adaptées.
Au cours de l’entraînement, ou construction, ou apprentissage, les paramètres du réseau de neurones et les informations à coder 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 reconstruction ainsi que celui des informations de prédiction et de reconstruction peut être effectué et le résultat du codage mémorisé ou transmis à destination du décodeur. Avantageusement, le processus d’entraînement permet donc de raffiner les paramètres du réseau de neurones de reconstruction, ainsi que ses paramètres d'entrée, 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 d’entrée en cours de codage. Avantageusement, le procédé de codage selon l’invention permet de compresser efficacement le signal.
Avantageusement, le procédé de décodage est simple puisqu'il suffit d'obtenir les informations de correction et de prédiction et le réseau de neurones de reconstruction pour reconstituer une version décodée de l'image courante.
Avantageusement, on peut concevoir un système de transmission qui travaille image par image avec une faible latence, chaque image courante étant décodée dès réception des paramètres du réseau de neurones et des informations de prédiction et de correction associées.
Avantageusement, le décodage permet de travailler avec des données de prédiction et des données résiduelles ayant le même format et la même résolution, ce qui facilite l’implémentation matérielle.
Selon des modes de réalisation du procédé de codage et/ou de décodage :
- Ledit au moins un réseau de neurones de reconstruction comporte au moins un module d'attention. Avantageusement, le réseau de neurones utilise des mécanismes d'attention qui permettent de générer des masques d'attention. Le codage est ainsi amélioré.
Par "module d'attention" on entend une couche d'un réseau neuronal comprenant un élément d'attention. Un élément d'attention est un élément qui permet d'appliquer un mécanisme d'attention pour générer un ou des masques qui sont utilisés pour pondérer (par multiplication ou utilisation de fonctions plus complexes) les caractéristiques de l'image afin par exemple d'adapter l'allocation du débit aux différentes régions et/ou caractéristiques de l'image en fonction de leur importance. Les masques d'attention sont appliqués aux entrées du réseau de neurones (informations de correction et de prédiction). Ils sont codés et décodés en tant que paramètres du réseau de neurones. Avantageusement, il n'est pas nécessaire d'utiliser des bits supplémentaires pour coder les masques.
- Ledit au moins un réseau de neurones de reconstruction comporte au moins une couche de convolution ; ainsi, un traitement non localisé de l’image peut être effectué, ce qui permet d’améliorer la cohérence de l’image générée en limitant le bruit et en améliorant les contours présents dans l’image.
- Ledit au moins un réseau de neurones de reconstruction applique le module d'attention sur lesdites informations de prédiction. Avantageusement selon ce mode, le module d'attention est utilisé pour corriger le canal de prédiction. Ainsi, une meilleure prise en compte de certaines zones de l'image peut être effectuée. On peut effectuer une pondération des informations de prédiction. Selon un exemple, si le masque généré "efface" l'information de prédiction, on aboutit à un codage de l'image en mode intra-image (seules les informations de correction sont utilisées).
- Ledit au moins un réseau de neurones de reconstruction applique le module d'attention sur lesdites informations de correction. Avantageusement selon ce mode, le module d'attention est utilisé pour corriger le canal de correction. Ainsi, une meilleure prise en compte de certaines zones de l'image à corriger peut être effectuée. On peut effectuer une pondération des informations de correction. Selon un exemple, si le masque généré "efface" l'information de correction, on aboutit à un codage de l'image en mode inter-image (seules les informations de prédiction sont utilisées).
- Ledit au moins un réseau de neurones de reconstruction applique le module d'attention sur une combinaison desdites informations de correction et de prédiction. Avantageusement selon ce mode, le module d'attention est utilisé pour corriger conjointement les deux canaux d'entrée. Ainsi, un compromis peut être trouvé concernant l'importance, ou pondération, donnée à chacun des deux canaux. Le module d’attention peut également corriger des artefacts liés aux effets de la combinaison des deux entrées, ou canaux, de prédiction et de correction.
- Une partie au moins de l'ensemble de paramètres de reconstruction est obtenue à partir de données dudit flux binaire ; avantageusement selon ce mode, les paramètres du réseau de neurones sont transmis dans le flux. Le module de reconstruction peut être transmis tout ou partie 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 reconstruction est décodée en fonction de paramètres prédéterminés ; avantageusement selon ce mode, une partie des paramètres de reconstruction du réseau de neurones est accessible du décodeur, par exemple ils peuvent être mémorisés dans une mémoire de stockage. Notamment, une partie du module de reconstruction peut être stocké 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 reconstruction est décodée en fonction de paramètres de référence ; avantageusement selon ce mode, certains 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 (mémoire de stockage, réseau, etc.) accessible du décodeur. 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/décodés de manière complémentaire (par exemple par mise à jour d'un noyau, d'une couche, d'un biais, etc.), d'autre ne pas être codés/décodés du tout, car disponibles dans les paramètres de référence. Les paramètres de référence peuvent constituer un réseau 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 reconstruction : type de convolution, modules d'attention, etc. Ainsi, seuls ces paramètres ou leur identification nécessitent d'être codés, insérés dans le flux et décodés par le décodeur ;
- certains paramètres sont codés de manière complémentaire aux paramètres du réseau de référence. Ainsi il suffira au décodeur de décoder ces paramètres résiduels puis de les ajouter, les multiplier (ou les combiner de toute autre manière connue) à ceux du réseau de neurones de référence ;
- une partie des paramètres du réseau de référence est réutilisée pour le réseau de reconstruction. Par exemple, une couche complète du réseau 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 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 au moins un réseau de reconstruction est sélectionné parmi une pluralité de réseaux de reconstruction, et le flux binaire comporte un indicateur indiquant la sélection dudit réseau au moins de la pluralité.
- Ledit au moins un réseau de reconstruction correspond à une pluralité de réseaux de reconstruction en cascade. Avantageusement, l'utilisation de plusieurs réseaux en cascade permet notamment de rehausser le filtrage et améliorer la cohérence de l’image générée en limitant son bruit et améliorant ses contours. En outre chaque réseau peut être appris individuellement ou figé indépendamment. Selon des variantes de réalisation, qui peuvent être combinées entre elles :
- le flux binaire comporte un indicateur indiquant l'utilisation d'un desdits réseaux au moins. Ainsi, en fonction de la qualité et de la complexité requises, un ou plusieurs réseaux peuvent être utilisés au décodage. L'indicateur indique par exemple que le réseau 1 est obligatoire, mais que les réseaux 2 et 3, qui se trouvent en cascade derrière le réseau 1, sont optionnels. Le décodeur peut alors faire le choix de les utiliser ou non : s'il les utilise, il obtiendra une meilleure qualité au détriment de la complexité, et vice-versa.
- Au moins deux des réseaux comportent des paramètres communs. Il est ainsi possible, avantageusement, de transmettre des paramètres caractéristiques d'un réseau, qui peuvent être utilisés pour les autres, ce qui permet de réduire le coût de transmission. Le réseau est ainsi mutualisé au travers de paramètres communs.
- Au moins deux des réseaux ont une structure identique et seuls leurs poids diffèrent en partie ou totalement. Les mêmes éléments de calcul sont ainsi mutualisés.
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 codage ou de décodage 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'information 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.
LaFIG. 1 représente schématiquement un dispositif de décodage utilisé dans le cadre de l’invention.
Le dispositif de décodage DECv de laFIG. 1 décode une image ou sous-séquence v de la séquence, en procédant image par image. A l'issue du décodage, les V images de la séquence sont décodées.
Une sous-séquence courante à décoder notée IdVcomporte au moins une image courante à décoder, chaque image comportant respectivement une pluralité d'échantillons. Par la suite, on considère, sans perte de généralité, que la sous-séquence courante comporte une seule image courante Iv. Cependant une sous séquence courante à décoder peut comporter selon un mode de réalisation plusieurs images (qui peuvent être par exemple concaténées pour former une image de taille supérieure Iv).
Le décodeur DECv dédié à l'image reçoit en entrée les données nécessaires pour la décoder :
- des données encodées IPc correspondant à des informations de prédiction. Ces informations de prédiction peuvent être par exemple :
- des informations de mouvement (champ de mouvement, numéros d'images de référence, etc.);
- des informations de prédiction intra-image (mode de prédiction, directions de prédictions, etc.);
- des informations de mouvement (champ de mouvement, numéros d'images de référence, etc.);
- des informations de prédiction intra-image (mode de prédiction, directions de prédictions, etc.);
- des informations de déformation du signal, comme des paramètres de transformations géométriques (translations, homothéties, etc.) ;
- etc.
– des données encodées ICc correspondant à des informations de correction IC codées, par exemple des résidus de prédiction, ou d’une façon générale, des données visant à corriger la prédiction obtenue à partir des informations de prédiction.
- les paramètres de reconstruction codés WMXc d'au moins un réseau de neurones de reconstruction. D'autres réseaux de neurones peuvent être utilisés, comme des réseaux :
- de synthèse des informations de prédiction ;
- de synthèse des informations de correction ;
- de décodage prédictif des cartes de caractéristiques latentes de prédiction ou de correction ;
- de synthèse des informations de correction ;
- de décodage prédictif des cartes de caractéristiques latentes de prédiction ou de correction ;
- de suréchantillonnage et/ou de traitement de cartes de caractéristiques latentes de prédiction ou de correction ;
- de post-processing des données reconstruites après mixage ;
- etc.
Le module de décodage DECvcomprend, pour une image courante, un module REF d'obtention d'images de référence, un module FPD de décodage d'information de prédiction, un module FCD de décodage d'information de correction, un module MIX de reconstruction par combinaison des images/cartes compensées IP/FMP et des images/cartes de correction IC/FMC, un module NND de décodage de réseau de neurones. Selon un mode de réalisation, DECvproduit en sortie une image décodée courante, notée Idv, comportant une pluralité d’échantillons décodés.
Le module de décodage FCD décode des informations de correction ICc. Selon un mode de réalisation, il s'agit d'un décodeur classique, par exemple entropique, de type JPEG, ou MPEG, etc. qui produit en sortie une image de correction (de résidus) notée IC. Selon un autre mode de réalisation, il décode des données quantifiées, par exemple en utilisant un décodeur entropique, d'une ou plusieurs cartes de caractéristiques de correction dans le domaine latent. Selon un mode de réalisation, le module FCD peut comprendre à cette fin un réseau de neurones de synthèse d'informations de correction. Selon un mode de réalisation, les cartes décodées par le module FCD, au nombre de NFC, sont notées FMC et sont dites cartes de correction de l’image courante, ou cartes de correction courantes.
Le module de décodage FPD décode des informations de prédiction IPc. Selon un mode de réalisation, il s'agit d'un décodeur classique, par exemple entropique, de type JPEG, ou MPEG, etc. qui produit en sortie une image de prédiction notée IP. Selon un mode de réalisation, il s'agit d'un décodeur classique qui produit en sortie un champ de mouvement MV. Le module FPD peut comprendre à cette fin un réseau de neurones de synthèse de mouvement. Selon un autre mode de réalisation, il décode des données quantifiées, par exemple en utilisant un décodeur entropique, d'une ou plusieurs cartes de caractéristiques de prédiction. Les cartes décodées par le module FPD, au nombre de NFP, sont notées FMP et sont dites cartes de prédiction de l’image courante, ou cartes de prédiction courantes.
Le module REF facultatif constitue un ensemble de NFR images/cartes de référence, notées IREF/FMREF, correspondant à une ou plusieurs images/cartes précédemment codées puis décodées de la séquence. Elles peuvent être prédéterminées ou leur référence peut être décodée dans le flux sous forme d'un indicateur. Dans un mode de réalisation, une seule image de référence est sélectionnée. Dans un mode de réalisation, plusieurs images de référence sont sélectionnées. Dans un mode de réalisation, un ensemble de cartes de référence est sélectionné dans le domaine latent. Dans un mode de réalisation, par exemple dans le cas où l'on décode une image intra, aucune carte de référence n'est sélectionnée et le module REF est absent.
Le module WARP facultatif effectue une compensation de mouvement des images/cartes de référence à partir du champ de mouvement MV afin d'obtenir une ou plusieurs image(s) ou cartes de prédiction, IP/FMP. Le module WARP peut être absent si le décodeur FPD décode directement les image(s) ou cartes de prédiction. Dans un mode de réalisation, le module WARP produit les cartes FMP avec les données seulement issues du module FPD, c'est-à-dire que le module REF facultatif n'existe pas, ou que le module WARP ne prend pas en compte les images de référence qui lui sont soumises.
Le module MIX utilise en entrée une ou plusieurs image(s) ou cartes de prédiction IP/FMP et une ou plusieurs image(s) ou cartes de correction IC/FMC et effectue une combinaison des deux informations pour obtenir l'image reconstruite. Le module MIX sera détaillé dans la suite de la description. Il comprend au moins un réseau de neurones CNN de type convolutif, c'est-à-dire qu'il comporte au moins une couche de convolution. Une couche de convolution peut inclure des éléments convolutifs, comportant une structure résiduelle ou non et un module d’attention ou non, comme il sera décrit par la suite.
Les informations codées ICc, IPc et WMXc sont extraites à partir du flux BS qui peut être reçu sur un réseau de communication, ou stocké dans une mémoire accessible du décodeur.
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.
LaFIG. 2 représente schématiquement un dispositif de codage utilisé dans le cadre de l’invention.
Le dispositif de codage ENCv de laFIG. 2 code une image ou sous-séquence courante Iv de la séquence SV, en procédant image par image. A l'issue du codage, les V images de la séquence sont codées.
Le codeur ENCv reçoit en entrée une séquence d'images comprenant l'image Iv et produit en sortie des paramètres codés. Ces paramètres comprennent :
– des données encodées IPc correspondant à des informations de prédiction.
– des données encodées ICc correspondant à des informations de correction, par exemple des résidus de prédiction.
- les paramètres codés d'au moins un réseau de neurones de reconstruction. Comme mentionné lors de la description de laFIG. 1 , d'autres réseaux de neurones peuvent être utilisés.
Le module de codage ENCvcomprend, pour une image courante, un module NNC de codage de paramètres de réseau(x) de neurones, un module FCC de codage des informations de correction, un module FPC de codage des informations de prédiction, un module d’évaluation RD-OPT, un module d'initialisation et de mise à jour INIT/MAJ.
Par ailleurs, de manière classique, le module de codage comprend un décodeur similaire au décodeur DECv qui a été précédemment décrit, afin de reconstruire l'image courante I'v codée puis décodée.
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 réalisent une simulation de codage, suivie d’un décodage, à destination du module d’évaluation RD-OPT. Par la suite, ils effectuent le codage effectif des données. De manière connue, la simulation de codage peut être identique au codage effectif, ou en réaliser une approximation.
Le module INIT/MAJ est chargé de l'initialisation et de la mise à jour des valeurs des images/cartes de caractéristiques et des paramètres du ou des réseaux de neurones. Il réalise une mise à jour des valeurs à encoder de l'image courante, en fonction des résultats de la fonction de performance. Une fois que les informations de prédiction et de correction et le(s) réseau(x) de neurones sont stabilisés, ils peuvent être codés.
Le module RD-OPT réalise une évaluation et minimisation d’une performance de codage. La fonction d’évaluation est par exemple de type débit-distorsion. La distorsion peut être évaluée entre Iv et I’v, le débit peut comprendre le cumul des débits lié aux contributions de ICc, WMXc et IPc, ou seulement une sous-partie. 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 dispositif de codage ENC 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.
LaFIG. 3 illustre un exemple de module de mixage utilisé au codage et au décodage selon deux modes de réalisation de l’invention (a) et (b).
Le module MIX comporte un réseau de neurones de reconstruction CNN qui sera décrit ultérieurement à l'appui des figures 4, 5 et 6.
Sur la gauche de la figure (a), selon un premier mode de réalisation, le module MIX reçoit en entrée une image IC de correction et une image IP de prédiction. Il génère en sortie une image reconstruite Ivd.
Sur la droite de la figure (b), selon un second mode de réalisation, le module MIX reçoit en entrée un ensemble de cartes de caractéristiques de correction, FMC, et un ensemble de cartes de caractéristiques de prédiction FMP.
Les cartes de caractéristiques FMC et FMD ne sont pas nécessairement en même nombre ni sous la même forme. Le module MIX est adapté pour traiter ces entrées sous leur format respectif.
Selon un mode de réalisation, le module MIX génère en sortie une image reconstruite Ivd.
Selon un mode de réalisation, le module MIX génère en sortie un ensemble de cartes de caractéristiques FMREC représentatives (dans le domaine latent) d’une image reconstruite Ivd. Dans ce cas, ces cartes peuvent être traitées par un réseau de neurones dit de combinaison, comprenant par exemple un réseau de type MLP (multi-layer perceptron) ou convolutif, pour produire l'image reconstruite Ivd.
LaFIG. 4 illustre un réseau de neurones de reconstruction (CNN) utilisé par le module de mixage MIX au codage et au décodage selon un mode de réalisation de l’invention.
Le module MIX peut comporter un ou plusieurs réseaux de reconstruction, en cascade. Les réseaux peuvent être identiques dans leur structure et leurs paramètres, ou différents.
Selon l'exemple de laFIG. 4 , le réseau de reconstruction comporte une couche de mixage CC (Cross Channel) des deux ensembles d'entrée, images/cartes de correction IC/FMC sur la première entrée et images/cartes de prédiction IP/FMP sur la seconde entrée. La couche de mixage peut réaliser une simple concaténation des entrées ou une combinaison plus complexe incluant par exemple une convolution ou une combinaison par réseau de neurones sur les entrées concaténées. Le réseau de reconstruction comporte ensuite un ensemble de couches, ou sous-réseaux, N1, N2..NN.
Les modules Ni (N1, N2..NN) comprennent des éléments de convolution, et des éléments de non-linéarité (RELU, etc.) sans aspect limitatif.
Un élément de convolution peut être de type résiduel ou non, comporter des noyaux de n'importe quelle taille. Il est potentiellement suivi d’un biais comme cela est bien connu de l'homme du métier. Toute fonction d'activation à la portée de l'homme du métier peut être utilisée (ReLU, sigmoïde, Softmax, Softplus, Softsign, etc.). Les éléments de convolution peuvent être composés de convolutions 2D, c'est-à-dire que le noyau de convolution s'applique conjointement sur les lignes et les colonnes de l'image ou de la carte de valeurs latentes. Les éléments de convolution peuvent être composés de convolutions 1D, sous une forme séparable. Dans ce cas, de manière connue, plutôt qu’effectuer la convolution sur l'image ou la carte de valeurs latentes bidimensionnelle, on opère un premier opérateur de convolution unidimensionnel (1D) sur les lignes, puis une seconde convolution sur les colonnes de la représentation obtenue après le premier opérateur. Le traitement ligne colonne peut être inversé pour effectuer un traitement par colonne puis par ligne.
Selon un premier mode de réalisation, non représenté, le module N2 comporte, de même que les autres modules Ni, une ou plusieurs couches de convolution suivies de non-linéarités.
La partie haute de la figure détaille un autre mode de réalisation, préféré, du module N2. Il reçoit en entrée un signal z intermédiaire représentatif d'une composition, ou mixage, par le module CC, des deux entrées, suivi éventuellement d'un premier réseau (N1), par exemple de convolution.
Selon ce mode de réalisation, le module N2 comporte un élément d'attention CL. Le mécanisme d’attention permet d’appliquer un traitement différentié sur certaines zones de l'image à reconstruire, grâce à un masquage dans le domaine image ou latent. De telles opérations sont utilisées dans de nombreux systèmes de compression basés apprentissage. Par exemple, le document "Non-local Attention Optimized Deep Image Compression" de Liu et al. (disponible à l'adresse https://arxiv.org/pdf/1904.09757.pdf) décrit de tels mécanismes d'attention utiles dans le contexte du codage entropique. Notamment, l'introduction d'un masque d'attention permet de porter une importance particulière sur certaines zones, dans le contexte de cette publication il s'agit d'adapter l'allocation de débit aux différentes valeurs des cartes de caractéristiques (par exemple, en allouant plus de débit aux zones texturées de l'image).
La branche supérieure de N2 reçoit en entrée le signal z issu du réseau N1 ou d'une combinaison des deux entrées. Le réseau (N2) apprend (au codeur) à construire un masque M qui est obtenu par traitement optionnel du signal d’entrée par un réseau neuronal (NN3) comprenant un ensemble de convolutions suivies de non-linéarités, puis traitement des valeurs par le module CL qui peut, de manière connue, être de type Clamp, sigmoïde, Arctg, etc.
La branche centrale de N2 correspond au traitement principal du signal z par un réseau de neurones (NN4). Ce module est facultatif. La sortie du module NN4 est multipliée par le masque M. Selon un mode de réalisation, seules certaines zones sont conservées à l'issue de la multiplication par les valeurs du masque M. Selon un mode de réalisation, les entrées sont effacées à l'issue de la multiplication par les valeurs du masque M
Selon un mode de réalisation, M est un masque d’attention qui s’applique sur une image issue du réseau optionnel NN4 ou du signal z.
Selon un mode de réalisation, M est un masque d’attention qui s’applique sur l’ensemble des latentes issues du réseau optionnel NN4 ou des latentes z.
Selon un mode de réalisation, M est un masque d’attention qui comprend autant de latentes que la sortie du réseau optionnel NN4 ou le signal z.
Selon un mode de réalisation, M est un masque d'attention dont les valeurs réelles se situent entre 0 et 1.
Selon un autre mode réalisation, M contient uniquement les valeurs 0 ou 1.
Une connexion résiduelle (optionnelle) est présente sur la branche basse, pour des raisons bien connues de stabilité des réseaux de neurones N3, N4.
On réalise ainsi une combinaison des deux canaux (de prédiction et de correction) plus riche grâce au mécanisme de masquage. Cette combinaison est représentée par la sortie y du module N2.
Le réseau NN est un réseau de neurones optionnel comprenant un réseau convolutif qui adapte la sortie du réseau précédent au format de l'image Ivd ou des cartes de caractéristiques latentes FMREC.
Le réseau CNN de laFIG. 4 peut lui-même comporter une connexion résiduelle, présentée dans la partie basse de la figure, pour des raisons connues de stabilité.
Le traitement des signaux IP/FMP et IC/FMC par le module CNN produit en sortie une image ou des cartes de caractéristique Ivd/FMREC.
LaFIG. 5 illustre une variante de réseau de neurones de reconstruction utilisé au codage et au décodage selon un mode de réalisation de l’invention.
Le module N2 décrit précédemment est appliqué uniquement au signal de prédiction IP/FMP. En d'autres termes, seul le signal de prédiction est masqué par le module d'attention.
Selon l'exemple de laFIG. 5 , le canal d’entrée des images/cartes de prédiction IP/FMP alimente un module N2, qui a déjà été décrit précédemment à l'appui de laFIG. 4 , d'entrée z et de sortie y, qui peuvent être des images, ou des cartes de caractéristiques de valeurs latentes. Le module N2 comporte au moins un élément d’attention CL, comme décrit précédemment. Dans le cas de laFIG. 5 , la branche supérieure de N2 reçoit donc en entrée le signal z représentatif de l’entrée IP/FMP seule. Le réseau (N2) apprend (au codeur) à construire un masque M à partir de cette entrée. On réalise ainsi un traitement du canal IP/FMP plus riche grâce au mécanisme de masquage.
Le réseau N2 produit une sortie y qui est le premier canal venant alimenter une couche de mixage CC (Cross Channel) possédant deux canaux d'entrée, le second canal étant alimenté par les images/cartes de correction IC/FMC. La couche de mixage peut réaliser une simple concaténation des entrées ou une combinaison plus complexe.
Le réseau de reconstruction comporte ensuite un ensemble de couches, ou sous-réseaux, N1..NN. Les modules N1..NN comprennent des éléments de convolution, et des éléments de non-linéarité (RELU, etc.) sans aspect limitatif, déjà décrits précédemment.
LaFIG. 6 illustre une autre variante de réseau de neurones de reconstruction utilisé au codage et au décodage selon un mode de réalisation de l’invention.
Le module N2 décrit précédemment est appliqué uniquement au signal de correction IC/FMC. En d'autres termes, seul le signal de correction est masqué par le module d'attention.
Selon l'exemple de laFIG. 6 , le canal d’entrée des images/cartes de prédiction IC/FMC alimente un module N2 qui a déjà été décrit précédemment à l'appui de laFIG. 4 . Il s’agit donc d’un mode d’implémentation similaire à celui de laFIG. 5 , les rôles des signaux IP/FMP et IC/FMC étant inversés.
On réalise ainsi un traitement du canal IC/MFC plus riche grâce au mécanisme de masquage.
Le réseau N2 produit une sortie y qui est le premier canal venant alimenter une couche de mixage CC (Cross Channel) possédant deux canaux d'entrée, le second canal étant alimenté par les images/cartes de correction IP/FMP. La couche de mixage peut réaliser une simple concaténation des entrées ou une combinaison plus complexe.
Le réseau de reconstruction comporte ensuite un ensemble de couches, ou sous-réseaux, N1..NN. Les modules N1..NN comprennent des éléments de convolution, et des éléments de non-linéarité (RELU, etc.) sans aspect limitatif, déjà décrits précédemment.
LaFIG. 7 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 laFIG. 1 .
Le décodage décrit concerne une sous-séquence d’images comportant au moins une image courante de la séquence à décoder.
Lors d’une étape E30, le flux de données codées est obtenu. Il peut être reçu d'un réseau de communication, ou lu sur un support de stockage. En outre certaines informations (par exemple, un réseau de reconstruction de référence) peuvent être lues dans des mémoires accessibles du décodeur. Les données obtenues sont les informations de correction ICc, les données de prédiction IPc, et les paramètres WMXc d'un réseau de reconstruction.
Lors d’une étape E31, les informations de correction ICc sont décodées.
Selon un mode de réalisation, elles sont décodées par une technique classique à la portée de l'homme du métier, par exemple une prédiction suivie d'un décodage par un codeur entropique contextuel puis une déquantification, ou encore elles sont issues d'un décodeur standard (JPEG, MPEG, etc.)
Selon un mode de réalisation, une image IC est décodée.
Selon un mode de réalisation, une ou plusieurs cartes de caractéristiques de correction (latentes) FMC sont décodées.
Lors d’une étape E32, les informations de prédiction IPc sont décodées.
Selon un mode de réalisation, elles sont décodées par une technique classique à la portée de l'homme du métier, par exemple une prédiction suivie d'un décodage par un codeur entropique contextuel puis une déquantification, ou encore elles sont issues d'un décodeur standard (JPEG, MPEG, etc.)
Selon un mode de réalisation, une image IP est décodée.
Selon un mode de réalisation, une ou plusieurs cartes de caractéristiques de prédiction (latentes) FMP sont décodées.
Selon un mode de réalisation, un champ de mouvement MV est décodé. Ce champ de mouvement peut être par exemple dense (une information de mouvement par pixel). Il peut être décodé par un réseau de neurones, à partir de cartes de caractéristiques décodées représentatives du mouvement de l'image courante ou estimé sur la base des plusieurs images/cartes de référence IREF/FMREF. De manière classique, ce champ de mouvement est utilisé pour compenser (warper) une ou plusieurs images/cartes de référence IREF/FMREF lors d'une étape E33 afin d'obtenir les images/cartes de prédiction IP/FMP compensées en mouvement.
Lors d’une étape E34, les paramètres de reconstruction WMX d'un réseau de neurones de reconstruction du module MIX sont générés par décodage des valeurs WMXc. On peut utiliser à cette fin toute technique connue de décodage de réseau de neurones correspondant à celle de codage qui a été utilisée par le codeur, par exemple la norme de codage de réseaux de neurones proposée par le standard MPEG-7 partie 17, NNR.
Selon un mode de réalisation, les paramètres de reconstruction sont reçus dans le flux binaire par le décodeur. Selon un mode de réalisation, certains paramètres du réseau de neurones de reconstruction sont accédés dans une mémoire accessible du décodeur. Selon un mode de réalisation, certains paramètres de référence du réseau de neurones de reconstruction sont accédés dans une mémoire accessible du décodeur.
Selon un mode de réalisation, un indicateur reçu dans le flux permet de sélectionner un ou plusieurs réseaux de reconstruction parmi une pluralité de réseaux accessibles du décodeur.
Lors d’une étape E35, une combinaison des images/cartes de correction IC/FMC et des images/cartes de caractéristiques de prédiction IP/FMP est effectuée par le module MIX.
Selon un mode de réalisation, le module MIX utilise un réseau de neurones de reconstruction CNN qui prend en entrée les images/cartes IC/FMC et IP/FMP et produit, par exemple à l’aide d’une série de couches convolutives et de modules d'attention, comme décrit auparavant, l’image Idv.
Selon un autre mode de réalisation, le module MIX utilise plusieurs réseaux de reconstruction en cascade. Ils peuvent être identiques ou différents.
Selon un mode de réalisation, le module MIX produit en sortie une image reconstruite Ivd.
Selon un autre mode de réalisation, le module MIX produit en sortie une ou plusieurs cartes de caractéristiques (latentes) FMREC. Les cartes de caractéristiques sont alors fournies en entrée d'un autre réseau de neurones, dit de combinaison, par exemple un réseau de type MLP, pour produire l'image finale Ivd.
Claims (15)
- Procédé de codage d'une image courante (Iv) d'une séquence d’images, comportant les étapes suivantes :
- génération d’un ensemble d'informations de prédiction (IP, FMP) de ladite au moins une image courante ;
- génération d'un ensemble d'informations de correction (IC, FMC) de ladite au moins une image courante ;
- génération d'au moins un réseau de neurones de reconstruction (MIX), défini par un ensemble de paramètres de reconstruction (WMX) ;
- traitement desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation de l'image courante (I'v);
- mise à jour d'une partie au moins desdites informations de prédiction et/ou desdites informations de correction et/ou desdits paramètres de reconstruction, en fonction d’une mesure de performance de codage ;
- codage d'une partie au moins desdites informations de correction et/ou de prédiction et desdits paramètres de reconstruction. - Procédé de décodage d'une image courante (Idv) d'une séquence d’images (SV), comportant les étapes suivantes :
- obtention (E31) d’un ensemble d'informations de correction (IC, FMC) de ladite image courante ;
- obtention (E32) d’un ensemble d'informations de prédiction (IP, FMP) de ladite image courante ;
- décodage (E34) d’un ensemble de paramètres de reconstruction (WMX) représentatifs d'au moins un réseau de neurones de reconstruction (MIX , MLP);
- traitement (E35) desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation décodée de ladite image courante (FMREC, Ivd). - Procédé de décodage ou de codage selon l'une des revendications précédentes, caractérisé en ce que ledit au moins un réseau de neurones de reconstruction comporte au moins un module d'attention (N2, CL, M).
- Procédé de décodage ou de codage selon l'une des revendications précédentes, caractérisé en ce que ledit au moins un réseau de neurones de reconstruction comporte au moins une couche de convolution (N1...NN).
- Procédé de décodage ou de codage selon l'une des revendications précédentes, caractérisé en ce que ledit au moins un réseau de neurones de reconstruction applique le module d'attention (CL) sur lesdites informations de prédiction (IP, FMP).
- Procédé de décodage ou de codage selon l'une des revendications précédentes, caractérisé en ce que ledit au moins un réseau de neurones de reconstruction applique le module d'attention (CL) sur lesdites informations de correction (IC, FMC).
- Procédé de décodage ou de codage selon l'une des revendications précédentes, caractérisé en ce que ledit au moins un réseau de neurones de reconstruction applique le module d'attention (CL) sur une combinaison desdites informations de correction et de prédiction (IP, FMP).
- Procédé de décodage selon l'une des revendications 2 à 7, caractérisé en ce que une partie au moins de l'ensemble de paramètres de reconstruction (WMX) est obtenue à partir de données dudit flux binaire.
- Procédé de décodage selon l'une des revendications 2 à 8, caractérisé en ce que une partie au moins de l'ensemble de paramètres de reconstruction (WMX) est décodée en fonction de paramètres prédéterminés.
- Procédé de décodage selon l'une des revendications 2 à 9, caractérisé en ce que une partie au moins de l'ensemble de paramètres de reconstruction (WMX) est décodée en fonction de paramètres de référence.
- Procédé de décodage selon l'une des revendications 2 à 10, caractérisé en ce que ledit au moins un réseau de reconstruction est sélectionné parmi une pluralité de réseaux de reconstruction, et le flux binaire comporte un indicateur indiquant la sélection dudit réseau au moins de la pluralité.
- Procédé de décodage selon l'une des revendications 2 à 11, caractérisé en ce que ledit au moins un réseau de reconstruction correspond à une pluralité de réseaux de reconstruction en cascade.
- Dispositif de codage d’une image courante (Iv) d'une séquence d’images (Sv), ledit dispositif étant configuré pour mettre en œuvre :
- génération (INIT/MAJ) d’un ensemble d'informations de prédiction (IP, FMP) de ladite image courante ;
- génération (INIT/MAJ) d'un ensemble d'informations de correction (IC, FMC) de ladite image courante ;
- génération (INIT/MAJ) d'au moins un réseau de neurones de reconstruction (MIX), défini par un ensemble de paramètres (WMX) ;
- traitement (MIX, CNN) desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation de l'image courante (I'v);
- mise à jour (INIT/MAJ) d'une partie au moins desdites informations de prédiction et/ou desdites informations de correction et/ou desdits paramètres de reconstruction, en fonction d’une mesure de performance de codage ;
- codage (FPC, FCP, NNC) d'une partie au moins desdites informations de correction et/ou de prédiction et desdits paramètres de reconstruction. . - Dispositif de décodage d'une image courante (Iv) d'une séquence d’images (SV), ledit dispositif étant configuré pour mettre en œuvre :
- obtention (FCD) d’un ensemble d'informations de correction (IC, FMC) de ladite image courante ;
- obtention (FPD) d’un ensemble d'informations de prédiction (IP, FMP) de ladite image courante ;
- décodage (NND) d’un ensemble de paramètres de reconstruction (WMX) représentatifs d'au moins un réseau de neurones de reconstruction (MIX);
- traitement (MIX, CNN) desdites informations de correction et desdites informations de prédiction par ledit au moins un réseau de neurones de reconstruction pour produire une représentation décodée de ladite image courante (FMREC, Ivd). - 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 2 lorsque ledit programme est exécuté par un ordinateur.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2309711A FR3153176A1 (fr) | 2023-09-14 | 2023-09-14 | Procédé et dispositif de codage et décodage d’images avec mécanisme d'attention. |
| PCT/EP2024/075449 WO2025056649A1 (fr) | 2023-09-14 | 2024-09-12 | Procédé et dispositif de codage et décodage d'images avec mécanisme d'attention. |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2309711 | 2023-09-14 | ||
| FR2309711A FR3153176A1 (fr) | 2023-09-14 | 2023-09-14 | Procédé et dispositif de codage et décodage d’images avec mécanisme d'attention. |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| FR3153176A1 true FR3153176A1 (fr) | 2025-03-21 |
Family
ID=88778246
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR2309711A Pending FR3153176A1 (fr) | 2023-09-14 | 2023-09-14 | Procédé et dispositif de codage et décodage d’images avec mécanisme d'attention. |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3153176A1 (fr) |
| WO (1) | WO2025056649A1 (fr) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017178782A1 (fr) * | 2016-04-15 | 2017-10-19 | Magic Pony Technology Limited | Compensation de mouvement à l'aide d'une interpolation d'image temporelle |
-
2023
- 2023-09-14 FR FR2309711A patent/FR3153176A1/fr active Pending
-
2024
- 2024-09-12 WO PCT/EP2024/075449 patent/WO2025056649A1/fr active Pending
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017178782A1 (fr) * | 2016-04-15 | 2017-10-19 | Magic Pony Technology Limited | Compensation de mouvement à l'aide d'une interpolation d'image temporelle |
Non-Patent Citations (6)
| Title |
|---|
| BAO WENBO ET AL: "MEMC-Net: Motion Estimation and Motion Compensation Driven Neural Network for Video Interpolation and Enhancement", IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE, vol. 43, no. 3, 1 March 2021 (2021-03-01), USA, pages 933 - 948, XP055838113, ISSN: 0162-8828, Retrieved from the Internet <URL:https://arxiv.org/pdf/1810.08768.pdf> DOI: 10.1109/TPAMI.2019.2941941 * |
| BRAND FABIAN ET AL: "Conditional Residual Coding: A Remedy for Bottleneck Problems in Conditional Inter Frame Coding", ARXIV.ORG, 24 July 2023 (2023-07-24), Ithaca, pages 1 - 12, XP093139119, Retrieved from the Internet <URL:https://arxiv.org/pdf/2307.12864v1.pdf> [retrieved on 20240307], DOI: 10.48550/arxiv.2307.12864 * |
| F. BRAND ET AL.: "Conditional Residual Coding: A Remedy for Bottleneck Problems in Conditional Inter Frame Coding", ARXIV:2307.12864 |
| LADUNE THÉO ET AL: "Conditional Coding for Flexible Learned Video Compression", ARXIV (CORNELL UNIVERSITY), 3 May 2021 (2021-05-03), Ithaca, pages 1 - 18, XP093139126, Retrieved from the Internet <URL:https://hal.science/hal-03192548/document> [retrieved on 20240307], DOI: 10.48550/arxiv.2104.07930 * |
| LIU ET AL., NON-LOCAL ATTENTION OPTIMIZED DEEP IMAGE COMPRESSION, Retrieved from the Internet <URL:https://arxiv.org/pdf/1904.09757.pdf> |
| LIU HAOJIE ET AL: "Non-local Attention Optimized Deep Image Compression", ARXIV.ORG, 22 April 2019 (2019-04-22), Ithaca, pages 1 - 10, XP093139111, Retrieved from the Internet <URL:https://arxiv.org/pdf/1904.09757.pdf> [retrieved on 20240307], DOI: 10.48550/arxiv.1904.09757 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2025056649A1 (fr) | 2025-03-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Lee et al. | DPICT: Deep progressive image compression using trit-planes | |
| EP3318061B1 (fr) | Procede d'encodage d'image et equipement pour la mise en oeuvre du procede | |
| CN115552905A (zh) | 用于图像和视频编码的基于全局跳过连接的cnn滤波器 | |
| FR2951345A1 (fr) | Procede et dispositif de traitement d'une sequence video | |
| US20250168370A1 (en) | Neural network-based adaptive image and video compression method | |
| CN118872263A (zh) | 用于视觉数据处理的方法、装置和介质 | |
| FR3143245A1 (fr) | Procédé et dispositif de codage et décodage d’images. | |
| CN120814229A (zh) | 用于可视数据处理的方法、装置和介质 | |
| CN120419185A (zh) | 用于视觉数据处理的方法、装置和介质 | |
| EP3972247B1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
| CN119586135A (zh) | 具有可变率的基于神经网络的自适应图像和视频压缩方法 | |
| FR3153176A1 (fr) | Procédé et dispositif de codage et décodage d’images avec mécanisme d'attention. | |
| WO2024240496A1 (fr) | Procédé et dispositif de codage et décodage d'images | |
| WO2024186678A1 (fr) | Codec vidéo neuronal basé sur une distorsion efficace | |
| CN120092441A (zh) | 用于视觉数据处理的方法、装置和介质 | |
| CN119999196A (zh) | 使用插值过滤器重新缩放特征数据的张量的方法或装置 | |
| WO2025120066A1 (fr) | Procédé et dispositif de codage et décodage contextuel de séquences d'images | |
| WO2022175625A1 (fr) | Prédiction pondérée d'image, codage et décodage d'image utilisant une telle prédiction pondérée | |
| WO2025056651A1 (fr) | Procédé et dispositif de codage et décodage de séquences 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 | |
| FR3153177A1 (fr) | Procédé et dispositif de codage et décodage d’images. | |
| US20250254329A1 (en) | Video encoding with content adaptive resolution decision | |
| FR2957744A1 (fr) | Procede de traitement d'une sequence video et dispositif associe | |
| FR3151727A1 (fr) | Procédé et dispositif de codage et décodage d'images. |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment |
Year of fee payment: 2 |
|
| PLSC | Publication of the preliminary search report |
Effective date: 20250321 |
|
| PLFP | Fee payment |
Year of fee payment: 3 |