FR3143247A1 - Procédé et dispositif de codage et décodage de séquences d’images. - Google Patents

Procédé et dispositif de codage et décodage de séquences d’images. Download PDF

Info

Publication number
FR3143247A1
FR3143247A1 FR2213098A FR2213098A FR3143247A1 FR 3143247 A1 FR3143247 A1 FR 3143247A1 FR 2213098 A FR2213098 A FR 2213098A FR 2213098 A FR2213098 A FR 2213098A FR 3143247 A1 FR3143247 A1 FR 3143247A1
Authority
FR
France
Prior art keywords
group
sequence
images
characteristic
maps
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
FR2213098A
Other languages
English (en)
Inventor
Felix Henry
Theo LADUNE
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
Priority to FR2213098A priority Critical patent/FR3143247A1/fr
Priority to PCT/EP2023/084249 priority patent/WO2024121110A1/fr
Publication of FR3143247A1 publication Critical patent/FR3143247A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • G06N3/0442Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

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

Abstract

Procédé et dispositif de codage et décodage de séquences d’images L’invention concerne un procédé et dispositif de codage et décodage d’une séquence d’au moins deux images comprenant une pluralité d’échantillons. Le procédé de décodage comporte les étapes suivantes : - décodage d’un premier groupe de cartes de caractéristiques ; - décodage d’un ensemble de paramètres représentatifs d’un réseau de neurones; - pour une séquence d’échantillons, dits échantillons courants, desdites images respectives de la séquence à décoder, associés à une position dans lesdites images respectives: - construction d’un vecteur caractéristique à partir des cartes de caractéristiques dudit premier groupe, en fonction de ladite position desdits échantillons courants ; - traitement dudit vecteur par un réseau de neurones artificiels défini par les paramètres décodés pour fournir une séquence de vecteurs représentatifs respectivement desdits échantillons courants. Figure pour l’abrégé : Fig. 2.

Description

Procédé et dispositif de codage et décodage de séquences 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.).
L’encodage d’une image est généralement effectué en divisant l’image en plusieurs blocs rectangulaires, et en encodant ces blocs de pixels selon une séquence de traitement donnée. Dans les techniques existantes de compression vidéo, le traitement d’un bloc comprend typiquement une prédiction des pixels du bloc effectuée à 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 ». Cette exploitation des redondances spatiales et/ou temporelles permet d’éviter de transmettre ou de stocker la valeur des pixels de chaque bloc de pixels, en représentant certains au moins des blocs par un résiduel représentant une différence entre les valeurs de prédiction des pixels du bloc et les valeurs réelles des pixels du bloc prédit.
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 jusqu'à 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.
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 et suppose de coder indépendamment les images de la vidéo.
Il existe donc 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 séquence d’au moins deux images comprenant des échantillons à coder comportant les étapes suivantes :
- une étape de construction, comportant les sous-étapes de :
- construction d’un premier groupe de cartes de caractéristiques ;
- pour une séquence d’échantillons, dits échantillons courants, desdites images respectives de la séquence, associés à une position dans lesdites images respectives :
- construction d’un vecteur caractéristique à partir desdites cartes de caractéristiques dudit premier groupe, en fonction de ladite position desdits échantillons courants, et ;
- traitement dudit vecteur par un réseau de neurones artificiels défini par un ensemble de paramètres, pour fournir une séquence de vecteurs représentatifs respectivement de valeurs décodées desdits échantillons courants ;
- mise à jour d'au moins une valeur d’une desdites cartes de caractéristiques dudit premier groupe et/ou d’au moins un paramètre dudit réseau, en fonction d’une mesure de performance de codage,
- une étape de codage dudit premier groupe de cartes de caractéristiques et dudit ensemble de paramètres.
L'invention vise aussi un procédé de décodage d’une séquence d’au moins deux images comprenant des échantillons à décoder comportant les étapes suivantes :
- décodage d’un premier groupe de cartes de caractéristiques;
- décodage d’un ensemble de paramètres représentatifs d’un réseau de neurones ;
- pour une séquence d’échantillons, dits échantillons courants, desdites images respectives de la séquence à décoder, associés à une position dans lesdites images respectives :
- construction d’un vecteur caractéristique à partir des cartes de caractéristiques dudit premier groupe, en fonction de ladite position desdits échantillons courants, et :
- traitement dudit vecteur par un réseau de neurones artificiels défini par les paramètres décodés pour fournir une séquence de vecteurs représentatifs respectivement desdits échantillons courants.
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 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 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. Une séquence d'échantillons désigne une série d'échantillons considérés aux mêmes coordonnées dans la série d'images respectives de la séquence d'images.
Par « cartes de caractéristiques », on entend une représentation abstraite d’une séquence d’images, c’est-à-dire au moins deux images, comportant une pluralité de données variables, que l’on appelle aussi valeurs, par exemple des nombres réels. Ces cartes sont aussi désignées sous le terme de « représentation latente ».
Par « transformation des cartes de caractéristiques », on entend une opération mathématique qui permet de transformer les valeurs d’une première carte en valeurs d’une seconde carte. Une première carte, dite carte du premier groupe, destinée au codage, est quelconque. Une seconde carte, dite carte transformée, ou carte du second groupe, est à 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). La transformation peut comporter par exemple une interpolation, un suréchantillonnage, un filtrage, une quantification, une transformée de Fourier, etc.
Par « vecteur caractéristique de données construit à partir des cartes de caractéristiques en fonction d’une position » on entend un vecteur constitué d’un ou plusieurs éléments, ou données, de préférence discrètes, les données étant construites à partir des cartes de caractéristiques à une position déterminée par celle des échantillons en cours de traitement dans les images. Ce vecteur caractéristique est celui qui est appliqué à l’entrée du réseau de neurones. Dans le cas d’une image, un tel vecteur peut être constitué par exemple à partir d’une pluralité de valeurs prélevées dans chacune des cartes de caractéristiques aux mêmes coordonnées en abscisse et en ordonnée que les échantillons à coder (resp. à décoder). Une fois que ces valeurs sont prélevées dans les cartes de caractéristiques, elles peuvent être traitées pour constituer le vecteur caractéristique, avant l’entrée dans le réseau de neurones, par exemple par une quantification, un filtrage, une interpolation, etc.
Par « réseau de neurones », ou « réseau de neurones de synthèse », on entend un réseau neuronal tels 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).
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, pondération, biais, valeur affectant le fonctionnement de la non-linéarité, etc.)
Par « traitement par un réseau de neurones », on entend l’application d’une fonction exprimée par un réseau de neurones au vecteur caractéristique d’entrée pour produire un vecteur de sortie représentatif de l’échantillon à coder (resp. décoder). Ce vecteur de sortie peut comporter une ou plusieurs données représentatives de l’échantillon.
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 premier 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, 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 séquence d’images d’entrée, en entraînant un réseau de neurones sur des vecteurs caractéristiques associés à une position d’un échantillon à coder dans chacune des images d’entrée. Ces vecteurs caractéristiques sont construits à partir de 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 et des valeurs des cartes de caractéristiques peut être effectué et 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 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 les images d’entrée. L’entraînement des valeurs des cartes de caractéristiques et des paramètres du réseau de neurones peut être conjoint. Avantageusement, le procédé de codage selon l’invention permet de compresser efficacement le signal d’image en exploitant les redondances spatiales intra-images mais aussi les redondances inter-images entre les images de la séquence, qu’il s’agisse d’une séquence d’images vidéo ou d’une pluralité d’images multivues, d’une série d’images médicales, etc.
Avantageusement, le procédé de décodage est simple puisqu'il suffit de décoder les cartes de caractéristiques et le réseau de neurones pour reconstituer une version décodée d'une séquence d'images.
Un tel réseau de neurones peut avantageusement être de structure très simple avec peu de paramètres.
Selon des modes de réalisation du procédé de codage ou de décodage :
- Le procédé comporte une étape de transformation dudit premier groupe de cartes de caractéristiques pour obtenir un second groupe de cartes de caractéristiques à la résolution des images de la séquence, le procédé étant caractérisé en ce que ledit vecteur caractéristique est construit à partir desdites cartes de caractéristiques du second groupe.
Avantageusement selon ce mode, les cartes de caractéristiques sont divisées en deux groupes dont l’un est réservé à l’extraction des vecteurs caractéristiques et l’autre au codage. On peut ainsi dissocier les deux procédés dont la finalité est différente : les cartes du premier groupe, à coder (resp. décoder), doivent être compressées le plus efficacement possibles, alors que les cartes du second groupe doivent pouvoir faciliter le processus d’extraction et de construction du vecteur caractéristique.
– Selon une variante, une au moins des cartes de caractéristiques du premier groupe est de résolution inférieure à celle desdites images à coder (resp. décoder) et l’opération de transformation comporte un suréchantillonnage. Avantageusement selon ce mode, la compression des cartes de caractéristiques est plus efficace puisque l’une au moins des cartes de caractéristiques du premier groupe, à coder (resp. décoder) comporte moins de valeurs que si elle était à la résolution des images. Par exemple, l’une des cartes de caractéristiques du premier groupe 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 4 fois moins de valeurs qu’une carte de caractéristiques à la résolution de l’image. En revanche, la carte de caractéristique du second groupe qui correspond à une transformation de cette carte du premier groupe est de résolution identique à celle des images. La transformation comporte donc dans ce cas au moins une opération de suréchantillonnage pour obtenir le même nombre de valeurs dans cette carte transformée que l'une des images d’entrée (resp. à décoder) comporte d’échantillons.
– Une au moins desdites cartes de caractéristiques du premier groupe est de résolution identique à celle des images à coder (resp. décoder).
Avantageusement selon ce mode, l’une au moins des cartes de caractéristiques, à la même résolution que les images d’entrée à coder (resp. à décoder) permet une fidélité importante et le respect des détails de la résolution initiale des images de la séquence. Selon un mode de réalisation, la transformation conserve dans ce cas le nombre de valeurs de la carte de caractéristiques transformée. Elle peut être réduite à l’identité (aucun traitement n’est effectué sur les valeurs de la carte du premier groupe) ou comporter une opération de filtrage, de quantification, une transformation de Fourier, etc. Au codage, la 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. Au décodage en revanche, la quantification inverse n’est pas toujours nécessaire, selon les modes de réalisation.
– La construction dudit vecteur caractéristique comporte une sous-étape d’extraction d’une valeur de ladite au moins une carte de caractéristiques à une position identique à celle des échantillons courants dans les images à coder (resp. décoder).
Avantageusement, il est possible d’extraire une valeur d’une carte de caractéristique du premier ou du second groupe, à la même position que les échantillons dans les images de la séquence (images d’entrée pour le codage, images à décoder pour le décodage), pour constituer un élément du vecteur caractéristique. Ce procédé est simple à mettre en œuvre. Par exemple, si l’on dispose de J cartes de caractéristiques en entrée, de même résolution que les images de la séquence, une simple extraction des valeurs des cartes aux coordonnées des échantillons courants (à la même abscisse et la même coordonnée dans la carte de caractéristiques) permet de construire directement le vecteur caractéristique de J éléments.
- La construction dudit vecteur caractéristique comporte les sous-étapes suivantes :
- extraction d’une pluralité de valeurs desdites cartes de caractéristiques dudit premier groupe en fonction de ladite position desdits échantillons courants ;
- traitement desdites valeurs extraites pour obtenir le vecteur caractéristique.
Avantageusement selon ce mode, le vecteur de caractéristiques est extrait des cartes de caractéristiques, qui peuvent être quelconques, et notamment à une résolution inférieure à celle des images à coder (resp. décoder), avant de subir un traitement. Un tel traitement peut par exemple correspondre à une quantification des données extraites, ou à une mise à l’échelle, ou à un filtrage, etc. Au codage, la 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. Au décodage en revanche, la quantification inverse n’est pas nécessaire, selon les modes de réalisation.
- Le procédé comporte une étape de construction d’un groupe de cartes de caractéristiques supplémentaires, et le vecteur caractéristique est en outre construit à partir desdites cartes de caractéristiques supplémentaires. Avantageusement, ces cartes supplémentaires d’un troisième groupe, construites de manière identique au codeur et au décodeur, ne sont ni stockées, ni transmises au niveau du codeur, ni décodées au niveau du décodeur. Elles permettent ainsi de bénéficier de données supplémentaires pour améliorer la compression sans dégrader le débit. Elles peuvent par exemple comprendre des coordonnées, des données causales disponibles dans les cartes du premier ou du second groupe, des données concernant d’autres images déjà traitées par le codeur ou décodeur, etc.
Selon une variante, une carte supplémentaire contient une valeur représentative de la distance temporelle entre les images de la vidéo.
- Le codage (resp. décodage) dudit premier groupe de cartes de caractéristiques comporte une sous-étape de codage (resp. décodage) entropique. Avantageusement, le codage entropique permet d’exploiter les redondances des images qui peuvent persister dans les cartes de caractéristiques, les images de la séquence étant ainsi compressées plus efficacement.
Corrélativement, l’invention vise aussi un dispositif de codage et un dispositif de décodage de séquences d'images.
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 illustre un exemple de réseau de neurones artificiels de synthèse utilisé dans le cadre de l’invention au codage et au décodage ;
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 ENC.
Ce dispositif de codage ENC comprend un module GEN de génération de cartes de caractéristiques, un module SE de transformation, un module XTR d’extraction de données, un module TT de traitement et quantification, un module MLP correspondant à un réseau de neurones artificiels, un module NNC de codage de réseau de neurones, un module FMC de codage des cartes de caractéristiques, un module EVAL d’évaluation d’une fonction de performance, un module MAJ de mise à jour, un module FME optionnel de génération de cartes de caractéristiques supplémentaires.
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.
Le dispositif de codage ENC de la reçoit en entrée une séquence d'au moins deux images à coder, notée I(PVn), comportant chacune respectivement une pluralité d'échantillons PVn. L'indice v indique le numéro d'image dans la séquence de V images. L'indice n indique le numéro de pixel dans une image de N pixels. L’image I(PVn) peut représenter une image bidimensionnelle et la séquence une pluralité d’images bidimensionnelles (séquence vidéo, composantes stéréoscopiques, multiscopiques, série d’images médicales, etc.). Dans un mode de réalisation, une image de la séquence est représentée au moyen d’au moins une représentation bidimensionnelle, telle qu’une matrice de pixels, chaque pixel comportant un vecteur de composantes rouge (R), verte (G), bleue (B), ou, en variante, une composante de luminance et au moins une composante de chrominance. L'emplacement de chaque pixel est défini par ses coordonnées en abscisse et ordonnée (xnet yn) dans l'image. Dans un mode de réalisation, la séquence est une séquence d’images en niveau de gris représentées au moyen d’une représentation bidimensionnelle, telle qu’une matrice de pixels, chaque pixel comportant une composante de niveaux de gris, ou luminance. Dans ce cas le vecteur représentatif du pixel est réduit à une seule composante.
Comme cela sera décrit plus en détail plus loin en référence aux figures 4 à 7 :
Le module GEN de génération de cartes de caractéristiques est configuré pour générer une pluralité de M cartes de caractéristiques d’un premier groupe, notées FMi, à partir de la séquence d’images d’entrée I(Pvn). Le module FME facultatif peut aussi générer une ou plusieurs cartes supplémentaires, au nombre de L, qui ne seront ni stockées ni transmises, notées FMEl.
Dans un mode de réalisation, le module SE réalise une transformation du premier groupe de cartes de caractéristiques pour générer un second groupe de cartes de caractéristiques à la même résolution que les images de la séquence d’entrée. Le module SE, optionnel, peut réaliser une quantification des valeurs des cartes du premier groupe en utilisant un quantificateur Q pour générer une collection ordonnée de valeurs quantifiées. On rappelle que la quantification d'une valeur fait référence à la mise en correspondance de cette valeur avec un membre d'un ensemble discret de symboles de code possibles. Par exemple, l'ensemble de symboles de code possibles peut être constitué de valeurs entières, et le système de quantification réalise un simple arrondi d’une valeur réelle à une valeur entière. Selon un autre exemple, la quantification consiste en une multiplication par une valeur donnée puis un arrondi. Puis le module SE effectue une transformation des valeurs d’au moins une des cartes de caractéristiques, par exemple un suréchantillonnage, une interpolation, un filtrage, etc. À l’issue de la transformation, une carte de caractéristiques transformée du second groupe est de même résolution que les images de la séquence d’entrée. Avantageusement selon ce mode, les cartes de caractéristiques qui sont codées peuvent être de résolution inférieure à celle des images à coder, alors que les cartes du second groupe, qui servent à la construction des vecteurs caractéristiques, sont à la même résolution que la séquence d’images, ce qui facilite l’extraction.
Dans un mode de réalisation, le module SE est absent, dans ce cas les valeurs qui serviront à construire le vecteur caractéristique sont extraites du premier groupe de cartes de caractéristiques. Le module XTR réalise une extraction de valeurs dans les cartes de caractéristiques FMi (et/ou FMSiet/ou FMEl,selon l’un des modes de réalisation décrits précédemment), pour une séquence d’échantillons courants Pvnà coder, en fonction de ses coordonnées dans les images d’entrée respectives. Par exemple si l’on cherche à coder les échantillons P1n aux coordonnées (xn, yn) de l’image numéro 1 et P2n aux coordonnées (xn, yn) de l’image numéro 2 de la séquence, le module XTR réalise une extraction de valeurs dans les cartes à des positions imposées par les coordonnées (xn, yn) des pixels courants.
Dans un mode de réalisation, les valeurs extraites constituent le vecteur Zn. Znest un J-uplet, c’est-à-dire qu’il comporte J éléments, ou données zi. L’indice n réfère au vecteur caractéristique de la séquence d’échantillons courants, ou pixels, P’vn.
Dans un mode de réalisation, le module TT, optionnel, réalise un traitement des valeurs extraites, pour générer le vecteur Zn. Le module TT peut réaliser une quantification des données extraites de l’ensemble de cartes de caractéristiques. Le traitement peut comporter d’autres opérations, comme un filtrage, une mise à l’échelle, etc. En particulier, si le module SE n’est pas utilisé et si les cartes de caractéristiques du premier groupe sont à des résolutions inférieures à celle des images de la séquence, le module TT peut prendre en compte les coordonnées des valeurs dans les cartes de résolutions inférieures.
On notera que l’un au moins des modules SE ou TT doit effectuer une quantification des cartes de caractéristiques.
Le module MLP est un réseau de neurones défini par K paramètres Wk, apte à traiter le vecteur Zn, ou J-Uplet, en entrée, pour générer en sortie une séquence de vecteurs représentatifs d’une séquence d’échantillons P’vnà coder. Le réseau de neurones est selon un mode de réalisation un MLP, ou Multi Layer Perceptron, constitué d’une couche d’entrée adaptée au format d’entrée (le J-uplet), optionnellement une ou plusieurs couche(s) cachée(s), et une couche de sortie adaptée au format de sortie des vecteurs de sortie, de manière générale une pluralité de vecteurs comportant chacun A éléments. Selon un mode de réalisation, A est égal à 3 et un vecteur de sortie est un triplet (R,G,B) de l’un des N pixels P’vnde l’image v, codé puis décodé.
Le module NNC réalise le codage du réseau de neurones, notamment de ses paramètres Wk.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, le module NNC réalise une simulation de codage, suivi d’un décodage, à destination du module d’évaluation. Il met à jour les valeurs des paramètres en fonction des résultats d’une mesure de performance réalisée par le module EVAL. Par la suite, il effectue le codage effectif des paramètres du réseau de neurones Wk. Les paramètres codés sont notés Wck. De manière connue, la simulation de codage peut être identique au codage effectif, ou en réaliser une approximation.
Le module FMC réalise le codage des cartes FMi, c’est-à-dire des valeurs des cartes de caractéristiques du premier groupe (à l’exclusion des cartes supplémentaires FMElet des cartes du second groupe, résultant optionnellement d’un suréchantillonnage par le module SE). 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, le module FMC réalise une simulation de codage, suivi d’un décodage, à destination du module d’évaluation. Par la suite, il effectue le codage effectif des valeurs des cartes FMi. Les cartes codées sont notées FMci. De manière connue, la simulation de codage peut être identique au codage effectif, ou en réaliser une approximation. Le module de codage quantifie si nécessaire la représentation latente des valeurs des cartes du premier groupe 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, en utilisant par exemple un codage de type entropique.
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. La minimisation peut être effectuée par une descente de gradient, ou tout autre procédé à la portée de l’homme du métier.
Le module MAJ réalise une mise à jour des valeurs des cartes FMià encoder en fonction des résultats de la fonction de performance.
La représente schématiquement un dispositif de décodage DEC.
Le dispositif de 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(dites aussi couches FM) et les paramètres encodés Wckdu réseau de neurones. Il décode les N séquences d’échantillons Pdvndes V images de la séquence à décoder.
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 XTR’ d’extraction de données, un module SE’ de transformation inverse, un module TT’ de traitement et quantification inverse, un module MLP’ correspondant à un réseau de neurones, un module FME’ optionnel de génération de cartes de caractéristiques supplémentaires. Il produit en sortie une séquence d’images décodées, notées I(Pdvn), comportant chacune respectivement une pluralité d’échantillons décodés Pdvn.
Les cartes décodées par le module FMD, au nombre de M, sont notées FMdi. Les paramètres décodés par le module NND sont notés Wdk.
Le décodeur peut aussi générer une ou plusieurs cartes supplémentaires, notées FME’l, au nombre de L, identiques aux cartes supplémentaires FMElgénérées par le codeur.
Dans un mode de réalisation, le module SE’ réalise une transformation du premier groupe de cartes de caractéristiques FMdidécodées pour générer un second groupe de cartes de caractéristiques à la même résolution que les images à décoder, notées FMS’i. Le module SE’ effectue optionnellement une quantification inverse correspondant à la quantification effectuée au codeur. 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. La quantification inverse n’est pas nécessaire non plus si le réseau de neurones est apte à prendre en compte une quantification de ses données d’entrée. Sinon, le décodeur réalise l’opération inverse du quantificateur Q. Puis le module SE’ effectue une transformation des valeurs des cartes de caractéristiques, par exemple un suréchantillonnage, une interpolation, un filtrage, etc., similaire à celle effectuée par le codeur. À l’issue de la transformation, une carte de caractéristiques transformée du second groupe est de même résolution que les images de la séquence à décoder.
Dans un mode de réalisation, le module SE’ est absent, dans ce cas les valeurs qui serviront à construire le vecteur caractéristique sont extraites du premier groupe de cartes de caractéristiques.
Le module XTR’ est identique au module XTR de la . Il réalise une extraction de valeurs des M cartes de caractéristiques FMdi,(et/ou FMS’iet/ou FME’l, selon l’un des modes de réalisation décrits précédemment), pour une séquence d’échantillons courants Pdvnà décoder, en fonction des coordonnées des échantillons dans les images à décoder respectives. Dans un mode de réalisation, J=M. Dans un mode de réalisation, J=M+L.
Dans un mode de réalisation, les valeurs extraites constituent le vecteur Zdn. Zdnest un J-uplet, c’est-à-dire qu’il comporte J éléments, ou données zdi.
Dans un mode de réalisation, le module TT’, optionnel, réalise un traitement des valeurs extraites, pour générer le vecteur Zdn. Le module TT peut réaliser une quantification inverse des données extraites de l’ensemble de cartes de caractéristiques. Le traitement peut comporter d’autres opérations, comme un filtrage, une mise à l’échelle, etc., similaires à ceux effectués par le codeur.
Le module MLP’ est un réseau de neurones défini par K paramètres Wdk, apte à traiter le vecteur Zdn, ou J-Uplet, en entrée, pour générer en sortie une séquence de vecteurs représentatifs d’une séquence d’échantillons Pdvn, comportant chacun A éléments. Selon un mode de réalisation, A=3 et un vecteur de sortie est le triplet (R,G,B) de l’un des N pixels Pdvnde l’image v à décoder. Le module MLP’ est de structure identique au module MLP, et ses paramètres sont soit identiques si le codage de ses paramètres Wkest sans perte, soit différents si le codage est réalisé avec pertes.
Lorsque toutes les séquences d’échantillons Pdvnont été décodées, on dispose d’une séquence d’images reconstruites, selon l’exemple V images I(Pdvn) comportant chacune N échantillons.
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 exemple de réseau de neurones artificiels de synthèse utilisé dans le cadre de modes de réalisation de l’invention au codage et au décodage.
Le réseau de neurones artificiels de synthèse MLP au codage et le réseau de neurones artificiels de synthèse MLP’ au décodage 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é.
Une représentation vectorielle d’une séquence d’échantillons courants (un vecteur Znou Zdnissu des cartes de caractéristiques FMi/FMSiet FMElou FMdi/FMS’iet FME’l) est appliquée en entrée (c’est-à-dire sur une couche d’entrée) du réseau de neurones artificiels de synthèse MLP ou MLP’. Le réseau de neurones artificiels produit en sortie une pluralité de vecteurs P’vnou Pdvnreprésentatifs des échantillons reconstruits (au codage) ou décodés (au décodage), selon un mode de réalisation les composantes de couleur (R, G, B ou Y,U,V) constitutives des pixels couleur d’une séquence d’images. Sur la , la séquence d’images correspond à deux images, chaque séquence d’échantillons comporte deux échantillons et les vecteurs correspondants sont notés Pd1net Pd2n.
La concaténation de tous les pixels reconstruits dans chacune des images de la séquence de sortie constitue la séquence d’images décodées (au décodeur), ou reconstruites (au codeur).
Au codeur, le réseau de neurones artificiels de synthèse MLP est entraîné sur la séquence d’images, de sorte à minimiser les différences entre la représentation en entrée de la séquence d’images courantes I(Pvn) et sa représentation I(P’vn) en sortie, tout en minimisant également la quantité de données à encoder. Le module EVAL effectue une mesure de performance en ce sens.
Une fois que l’entraînement est terminé, les paramètres du réseau sont encodés, soit sans pertes, auquel cas le réseau de neurones MLP’ est identique à MLP, soit avec pertes, auquel cas le réseau MLP’ peut être légèrement différent de MLP.
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, la séquence est une séquence d’images bidimensionnelles, chaque séquence d’échantillon à coder est donc un ensemble de pixels Pvnde coordonnées (xn, yn) dans les images respectives I(Pvn) de la séquence à coder.
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 une séquence d’entrée I(Pvn), les valeurs des cartes FMiet des paramètres Wkpour 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 MLP et 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 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 Wkcar 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 Wket 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 la séquence d’images, pour obtenir au moins une séquence de pixels P’vnrésultant d’une simulation de codage puis de décodage des échantillons d’indice n, puis de mesurer l'écart entre cette partie de la séquence d’images I(Pvn) en entrée et une partie correspondante de la séquence I(P’vn) codée puis décodée.
Puis lors d’une deuxième phase, dite phase de codage, les cartes FMiet les paramètres Wksont encodés pour produire les valeurs codées FMciet Wckavant transmission ou stockage. Ils constituent la représentation compressée de la séquence d’entrée I(Pvn).
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, une séquence d’entrée I(Pvn) à coder, comportant au moins deux images, chacune d’entre elles comportant une pluralité de N échantillons Pn, est fournie en entrée du procédé. Selon un mode de réalisation, ces images sont des images temporelles d’une séquence vidéo. Selon un mode de réalisation, ces images sont des images d’une série d’images, par exemple médicales. Selon un mode de réalisation, ces images sont des composantes multivues ou 3D d’une image ou séquence d’images multivues ou 3D.
Lors d’une étape E21, les M cartes FMidu premier groupe sont initialisées. Par la suite, les paramètres Wkdu réseau de neurones MLP et les valeurs des cartes FMidoivent être optimisés durant la phase de construction.
Selon un mode de réalisation, les cartes FMisont de même résolution que les images de la séquence d’entrée I(Pvn) et comportent donc chacune le même nombre de valeurs N qu’il y a d’échantillons Pvnà coder dans chaque image v.
Selon un mode de réalisation, les cartes FMisont de résolution inférieure ou égale à celle des images de la séquence d’entrée I(Pvn) 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 des images de la séquence d’entrée I(Pvn).
Selon un mode de réalisation, les cartes FMisont transformées pour fournir un second groupe de cartes de caractéristiques transformées FMSi. Dans ce mode, les vecteurs caractéristiques sont extraits de préférence des cartes transformées du second groupe, et non directement des cartes du premier groupe. Dans ce mode, les vecteurs caractéristiques sont donc extraits indirectement des cartes du premier groupe. Les cartes du second groupe ne sont ni stockées ni transmises, elles servent uniquement à la construction des vecteurs caractéristiques.
Selon un mode de réalisation, les cartes FMisont initialisées par des valeurs constantes prédéfinies.
Selon un autre mode de réalisation, les cartes de caractéristiques sont initialisées par un ensemble de valeurs réelles aléatoires.
Selon un mode de réalisation, une ou plusieurs cartes FMEl, formant un groupe supplémentaire de L cartes de caractéristiques supplémentaires, sont générées, et complètent le premier groupe. Elles servent à la construction du vecteur caractéristique mais ne sont ni stockées ni transmises.
Les cartes de caractéristiques FMidu premier groupe 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 FMidu premier groupe 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 peut utiliser toute technique connue visant à compresser les valeurs des cartes.
Dans un mode de réalisation, les cartes FMisont 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 E29.
Lors d’une étape E24, selon un mode de réalisation, les M cartes du premier groupe FMisont transformées par le module SE pour générer des cartes du second groupe FMSià la résolution des images de la séquence d’entrée.
Selon un mode de réalisation, M cartes FMSisont générées.
Selon un mode de réalisation, chaque carte FMiest transformée en une carte FMSi.
Selon un mode de réalisation, au moins une carte FMiest de résolution inférieure à celle des images de la séquence à coder et l’opération de transformation comporte un suréchantillonnage pour que la carte FMSi transformée comporte le même nombre d’échantillons que les images de la séquence. Le suréchantillonnage consiste à rajouter des valeurs dans les cartes FMSipour atteindre la résolution des images de la séquence d’entrée. Il peut être simple (par réplication du plus proche voisin) ou comporter une interpolation (linéaire, polynomiale, par filtrage, etc.).
Lors d’une étape E25, des valeurs sont extraites par le module XTR des cartes FMiou éventuellement FMSitransformées, et optionnellement FMEl.supplémentaires.Cette extraction est réalisée en fonction des coordonnées (xn, yn) de la séquence d’échantillons Pvncourants des images d’entrée. Elle peut aussi être réalisée en fonction de la résolution de la carte considérée. Les séquences d’échantillons à coder sont par exemple traitées par ordre séquentiel, de n=1 à n=N.
Selon un mode de réalisation, le vecteur Zncaractéristique résulte directement de cette extraction.
Selon un mode de réalisation, lors d’une étape E26, le vecteur Zncaractéristique est construit par le module TT à partir des valeurs extraites des cartes FMiou FMSiet optionnellement FMElpour chaque séquence d’échantillons Pvnde coordonnées (xn, yn) des images d’entrée. Le traitement peut comporter une quantification des valeurs extraites ou du vecteur Znconstitué, si nécessaire. Le traitement peut comporter d’autres opérations, comme un filtrage, une mise à l’échelle, l’application d’une fonction quelconque, de préférence monotone, etc.
Dans un mode de réalisation, Zncomporte autant de valeurs que de cartes FMi ou FMSi(et optionnellement FMEl) en entrée. Dans ce cas on a J=M(+L).
Dans un mode de réalisation, Znest un J-uplet (z1, z2,…, zJ), constitué des valeurs des cartes FMiou FMSi(et optionnellement FMEl) situées aux coordonnées (xn, yn) d’un pixel courant Pvn, comme il sera illustré à l’appui de la .
Dans un mode de réalisation, Znest un J-uplet construit à partir de valeurs prélevées dans les cartes FMi (et optionnellement FMEl) à des coordonnées qui peuvent être différentes selon les cartes. Par exemple, si les cartes FMi(et/ou FMEl) sont à des résolutions différentes parce qu’elles ont été sous-échantillonnées, les cordonnées sont adaptées (par une mise à l’échelle) pour correspondre à la résolution de chaque carte.
Dans un mode de réalisation, Znest un J-uplet construit à partir de valeurs prélevées dans les cartes FMi(et optionnellement FMEl) en appliquant le traitement à une ou plusieurs valeurs des cartes, par exemple un filtrage des valeurs voisines de la valeur ciblée dans une carte. Par exemple, dans une carte FMi qui se trouve à la même résolution que le signal d’entrée, on peut extraire les valeurs situées aux coordonnées (xn, yn), (xn-1, yn), (xn, yn-1) et (xn-1, yn-1) et appliquer un traitement à ces valeurs (filtrages, moyennage, interpolation, etc.) pour obtenir la valeur finale (zi) de l’élément i du vecteur Znrelative à cette carte FMiou FMEl. Selon un autre exemple, dans une carte FMiqui se trouve à une résolution moitié du signal d’entrée, on peut considérer les valeurs situées aux coordonnées (xn/2, yn/2), (xn/2-1, yn/2), (xn/2, yn/2-1) et (xn/2-1, yn/2-1) et appliquer un traitement à ces valeurs (filtrages, moyennage, interpolation, etc.) pour obtenir la valeur finale (zi) de l’élément i du vecteur Znrelative à cette carte FMiou FMEl.
Lors d’une étape E27, le vecteur Znest traité par le réseau de neurones MLP pour générer en sortie la séquence d’échantillons Pvnà coder, selon un mode de réalisation les triplets (R, G,B) des échantillons P’vn(les échantillons Pvncodés puis décodés).
La structure et les paramètres Wkdu réseau de neurones 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 neurones 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 de séquences d’images).
Selon un autre mode de réalisation, les paramètres Wkdu réseau de neurones sont initialisés par un ensemble de valeurs aléatoires.
Lors d’une étape E28,les paramètres Wkdu réseau de neurones MLP 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 paramètres Wk.
Lors d’une étape E29, une mesure de performance est évaluée.
À cet effet, les débits de simulation de codage associés aux cartes de caractéristiques du premier groupe (simulation du flux B1 par codage des cartes FMi) et optionnellement aux paramètres du réseau de neurones (simulation du flux B2 par codage des paramètres Wk) 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 les images d’entrée et les images décodées (ou l’erreur mesurée sur un sous-ensemble d’échantillon des images). Selon un autre exemple, D est calculé à partir d’une fonction perceptive telle que le SSIM (pourStructural SIMilarity), ou MSSSIM (pourMulti-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 E27 pour les paramètres du réseau.
Lors d’une étape EF, 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 (Wk) 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 les paramètres mis à jour du réseau de neurones (Wk) et des valeurs des cartes de caractéristiques (FMi) est effectué à cette étape pour produire les paramètres encodés Wcket 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 réseau de neurones est stocké ou transmis avant le flux B1, afin de pouvoir être décodé 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 cette illustration, une séquence de deux images I(P1n) et I(P2n) est à coder. De manière générale, une séquence de V images I(Pvn) est appliquée en entrée du procédé et dispositif de codage. Dans cette illustration, les échantillons, ou pixels, sont traités par séquence de deux, deux pixels étant prélevés dans les images respectives à une position notée (xn, yn), avec n variant de 1 à N. (P1nest prélevé dans l’image 1 à la position (xn, yn) et P2nest prélevé dans l’image 2 à la position (xn, yn)).
Dans ce mode de réalisation, les cartes FMigénérées sont au nombre de 4. Dans un mode préféré, elles sont au nombre de 7.
La première carte FM1a la même résolution que l’image I, et comporte donc N=WxH variables, où W représente la largeur de l’image en pixels, et H sa hauteur. La seconde carte FM2est 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.
La carte FM2est suréchantillonnée par le module SE d’un facteur 2 dans chaque dimension, selon un procédé illustré à l’appui de la . La carte FM3est suréchantillonnée d’un facteur 4 dans chaque dimension, et la carte FM4d’un facteur 8 dans chaque dimension.
Les cartes FMSirésultantes sont de même résolution que les images I(Pvn), et comportent donc chacune WxH valeurs, où W représente la largeur de l’image en pixels et H sa hauteur (N=WxH).
Selon ce mode de réalisation, les couches FMisont quantifiées par le module SE.
D’autres types de structure sont possibles, par exemple on peut utiliser un taux de réduction différent de un demi entre les cartes (un quart, ou un tiers, etc.).
Selon une variante présentée en pointillés, les cartes de caractéristiques sont au nombre de 5 : une carte supplémentaire FME0a été introduite, qui ne sera ni codée ni transmise. Cette carte supplémentaire comporte typiquement des données qui peuvent assister le réseau MLP dans la tâche de reconstruction des images. Ainsi, les cartes ajoutées peuvent être une ou plusieurs parmi la liste suivante, non limitative :
– Une carte comportant en chaque point l’abscisse de ce point.
– Une carte comportant en chaque point l’ordonnée de ce point.
– Une carte comportant en chaque point un codage positionnel (comme décrit par exemple à l’adresse Internet https://skosmos.loterre.fr/P66/fr/page/-K0D65X2X-X).
– Une carte représentant une image distincte des images en cours de traitement, susceptible d’apporter des informations sur les images à coder, par exemple une image ou séquence d’images précédemment traitée.
– Une carte contenant une donnée représentative de la différence temporelle entre les images de la vidéo en train d’être codée. Par exemple, si la première et la dernière image de la vidéo sont distantes de 8 images, tous les échantillons de la carte contiennent la valeur 8.
– Une carte représentant une carte de caractéristiques d’une image distincte des images en cours de traitement, susceptible d’apporter des informations sur les images à coder, par exemple une carte précédemment traitée.
– Une carte comportant la valeur d’un échantillon déjà décodé de la même carte, par exemple l’échantillon précédent dans l’ordre de décodage.
Dans ce mode de réalisation, le vecteur Znest un 4-uplet (z1...z4) constitué des valeurs extraites des cartes FMSisituées aux coordonnées (xn, yn) de la séquence de pixels courants Pvn. Le vecteur Znconstitué des valeurs extraites (quantifiées) des cartes FMSiest traité par le réseau de neurones MLP pour générer en sortie une séquence de vecteurs, selon l’exemple deux triplets représentatifs des échantillons P1net P2nà coder. Les vecteurs de sortie sont dans ce mode de réalisation les triplets (R,G,B) des pixels P’1net P’2ncodés puis décodés. Les triplets sont insérés dans les images décodées I(P’1n) et I(P’2n) aux positions (xn, yn) des composantes couleur (R’, G’, B’) des deux images.
Dans un autre mode de réalisation, non représenté, le vecteur Znest extrait directement des couches FMi, aux positions recalculées en fonction de la taille des cartes, puis les valeurs extraites sont éventuellement traitées et quantifiées après extraction.
Selon la variante présentée en pointillés, le vecteur Znest un 5-uplet (z0...z4), la valeur z0étant extraite de la carte supplémentaire FME0.
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 .
Lors d’une étape E30, les flux B1 et B2 sont extraits du flux encodé BS. Ils contiennent respectivement les représentations codées des cartes du premier groupe FMciet des paramètres Wck.
Lors d’une étape E31, les M cartes FMdisont générées par décodage des valeurs FMci. Pour ce décodage, on peut utiliser toute technique connue similaire à celle utilisée au codeur, de préférence un décodage entropique. Dans un mode de réalisation, les cartes FMdisont décodées dans l’ordre (FMd1, FMd2,… FMd4), et les variables de chaque carte dans un ordre prédéfini, par exemple lexicographique.
Selon des modes de réalisation tels que décrits pour le codeur :
- Les cartes FMdisont de même résolution que les images de la séquence I (Pdvn) à reconstituer, c’est-à-dire qu’elles comportent N=WxH valeurs.
- Les cartes FMdisont de résolution inférieure ou égale à celle des images de la séquence I (Pdvn) à reconstituer.
- Plusieurs cartes FMdisont de même résolution, inférieure à celle des images de la séquence.
Lors d’une étape E32, selon un mode de réalisation, une ou plusieurs cartes FME’l,formant un groupe supplémentaire de L cartes de caractéristiques supplémentaires, sont générées et complètent le premier groupe. Elles ne sont pas décodées mais générées par le décodeur de manière identique à la génération du codeur. Elles comportent typiquement des données qui peuvent assister le réseau MLP’ dans la tâche de reconstruction des images de la séquence. La liste non limitative de cartes de caractéristiques supplémentaires possibles décrite à l’appui de la pour le codeur s’applique ici.
Lors d’une étape E33, selon un mode de réalisation, les M cartes du premier groupe FMdisont transformées par le module SE pour générer des cartes du second groupe FMS’ià la résolution des images de la séquence d’entrée.
Selon un mode de réalisation, M cartes FMS’isont générées.
Selon un mode de réalisation, chaque carte FMdiest transformée en une carte FMSi.
Selon un mode de réalisation, au moins une carte FMdiest de résolution inférieure à celle des images de la séquence à coder et l’opération de transformation comporte un suréchantillonnage pour que la carte FMS’i transformée comporte le même nombre d’échantillons que des images de la séquence d’entrée. Comme au codeur, le suréchantillonnage consiste à rajouter des valeurs dans les cartes FMS’ipour atteindre la résolution des images de la séquence d’entrée. Il peut être simple (par réplication du plus proche voisin) ou comporter une interpolation (linéaire, polynomiale, par filtrage, etc.)
La transformation peut optionnellement comporter une quantification inverse des valeurs extraites, si nécessaire. Cependant la quantification inverse n’est pas obligatoire.
Lors d’une étape E34, des valeurs sont extraites par le module XTR’ des cartes FMdiou éventuellement FMS’itransformées, et optionnellement FME’lsupplémentaires.Cette extraction est réalisée en fonction des coordonnées (xn, yn) de la séquence d’échantillons courants Pvnà décoder des images de la séquence. Elle peut aussi être réalisée en fonction de la résolution de la carte considérée. Les séquences d’échantillons à décoder sont par exemple traitées par ordre séquentiel, de n=1 à n=N.
Selon un mode de réalisation, le vecteur Zdncaractéristique résulte directement de cette extraction.
Notamment, dans un mode de réalisation, Zdnest un J-uplet (z1, z2,…, zJ), constitué des valeurs des cartes FMdi ou FMS’i(et optionnellement FME’l) situées aux coordonnées (xn, yn) d’un pixel courant Pdvn, comme il sera illustré à l’appui de la .
Selon un mode de réalisation, lors d’une étapeE35, un vecteur Zdnest construit par le module TT’ à partir des valeurs extraites des cartes FMdidu premier groupe ou des cartes FMS’idu second groupe et éventuellement FME’ldu groupe supplémentaire, pour chaque séquence d’échantillons Pdvnde coordonnées (xn, yn) des images d’entrée à décoder, en fonction des coordonnées (xn, yn). Cette étape est identique à l’étape E26 qui a été décrite pour le codeur à l’appui de la et les modes de réalisation décrits s’appliquent. L’extraction peut comporter une quantification inverse des valeurs extraites ou du vecteur Zdnconstitué, si nécessaire.
Lors d’une étape E36,les paramètres Wdkdu réseau de neurones MLP’ sont générés par décodage des valeurs Wckdu 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. Le réseau de neurones MLP’ est semblable au réseau MLP, 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 avant de commencer à décoder les séquences d’échantillons.
Lors d’une étape E37, le vecteur Zdnest traité par le réseau de neurones MLP' pour générer en sortie la séquence d’échantillons Pdvncourante à décoder, selon un mode de réalisation les triplets (R, G, B) des échantillons Pdvn. Les échantillons sont insérés dans les images décodées I(Pdvn) aux positions (xn, yn) des composantes couleur (Rd, Gd, Bd) des images respectives de la séquence. Cette étape est identique à l’étape E27 qui a été décrite pour le codeur à l’appui de la .
Lorsque toutes les séquences d’échantillons ont été traitées, la séquence d’images décodées correspondante 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 cette illustration, une séquence de deux images I(Pd1n) et I(Pd2n) est à décoder. De manière générale, une séquence de V images I(Pdvn) est décodée par le procédé et dispositif de décodage. Dans cette illustration, les échantillons, ou pixels, sont traités par séquence de deux, deux pixels étant décodés et reconstruits dans les images respectives à une position notée (xn, yn), avec n variant de 1 à N. (Pd1nest inséré dans l’image 1 à la position (xn, yn) et Pd2nest inséré dans l’image 2 à la position (xn, yn)).
Dans ce mode de réalisation, les cartes FMdisont au nombre de 4. Dans un mode préféré, elles sont au nombre de 7.
Dans ce mode de réalisation, la première carte FMd1a la même résolution que l’image I, et comporte donc WxH variables, où W représente la largeur de l’image en pixels, et H sa hauteur. La seconde carte FMd2est 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.
La carte FMd2est suréchantillonnée par le module SE’ d’un facteur 2 dans chaque dimension, selon tout procédé de suréchantillonnage à la portée de l'homme du métier. La carte FMd3est suréchantillonnée d’un facteur 4 dans chaque dimension, et la carte FMd4d’un facteur 8 dans chaque dimension.
Les cartes FMS’isont de même résolution que l’image à décoder, et comportent donc WxH valeurs, où W représente la largeur de l’image en pixels, et H sa hauteur.
Dans ce mode de réalisation, le vecteur Zdnest un 4-uplet (z1...z4) constitué des valeurs des cartes FMS’isituées aux coordonnées (xn, yn) de la séquence de pixels courants Pdvn. Le vecteur Zdnest optionnellement déquantifié puis traité par le réseau de neurones MLP’ pour générer en sortie les triplets (R, G, B) ou (Y,U,V) respectifs des deux échantillons Pdvn(Pd1net Pd2n) à décoder. Les triplets (R, G, B ou Y,U,V) sont insérés dans les images respectives décodées I(Pd1n) et I(Pd2n) aux coordonnées (xn, yn) dans les composantes couleur (Rd, Gd, Bd) ou (Yd, Ud, Vd) des images.
Selon une variante présentée en pointillés, les cartes sont au nombre de 5 : une carte supplémentaire FME’0a été introduite. Dans ce mode de réalisation, le vecteur Zdnest un 5-uplet.

Claims (17)

  1. Procédé de codage d’une séquence d’au moins deux images (I(Pvn), I(P1n), I(P2n)) comprenant des échantillons (Pvn, P1n,, P2n) à coder comportant les étapes suivantes :
    - une étape de construction, comportant les sous-étapes de :
    - construction (E21, E22) d’un premier groupe de cartes de caractéristiques (FMi);
    - pour une séquence d’échantillons, dits échantillons courants (Pvn, P1n,P2n), desdites images respectives de la séquence, associés à une position (xn, yn) dans lesdites images respectives :
    - construction (E25) d’un vecteur caractéristique (Zn) à partir desdites cartes de caractéristiques (FMi) dudit premier groupe, en fonction de ladite position (xn, yn) desdits échantillons courants (P1n,P2n), et ;
    - traitement (E27) dudit vecteur (Zn) par un réseau de neurones artificiels (MLP) défini par un ensemble de paramètres (Wk), pour fournir une séquence de vecteurs représentatifs respectivement de valeurs décodées (P’1n, P’2n) desdits échantillons courants ;
    - mise à jour (E22, E27) d'au moins une valeur d’une desdites cartes de caractéristiques dudit premier groupe et/ou d’au moins un paramètre dudit réseau, en fonction d’une mesure de performance de codage,
    - une étape de codage (E23, E28, EF) dudit premier groupe de cartes de caractéristiques (FMi) et dudit ensemble de paramètres (Wk).
  2. Procédé de codage d’une séquence d’images selon la revendication 1, caractérisé en ce qu’il comporte une étape de transformation (E24) dudit premier groupe de carte de caractéristiques (FMi) pour obtenir un second groupe de cartes de caractéristiques (FMSi) à la résolution des images de la séquence d’entrée, et en ce que ledit vecteur caractéristique (Zn) est construit à partir desdites cartes de caractéristiques transformées (FMSi) du second groupe obtenues à partir desdites cartes de caractéristiques (FMi) dudit premier groupe.
  3. Procédé de codage selon la revendication 2, caractérisé en ce qu’une au moins desdites cartes de caractéristiques du premier groupe (FMi) est de résolution inférieure à celle desdites images à coder et en ce que l’opération de transformation comporte un suréchantillonnage.
  4. Procédé de codage selon l’une des revendications précédentes, caractérisé en ce que la construction dudit vecteur (Zn) caractéristique comporte une sous-étape d’extraction d’une valeur de ladite au moins une carte de caractéristiques (FMi, FMSi,) à une position identique (xn, yn) à celle des échantillons courants (Pvn) dans lesdites images à coder.
  5. Procédé de codage selon la revendication 1, caractérisé en ce que la construction dudit vecteur caractéristique (Zn) comporte les sous-étapes suivantes :
    - extraction d’une pluralité de valeurs desdites cartes de caractéristiques dudit premier groupe (FMi) en fonction de ladite position (xn, yn) desdits échantillons courants (Pvn) ;
    - traitement (E26) desdites valeurs extraites pour obtenir le vecteur caractéristique.
  6. Procédé de codage selon l’une des revendications précédentes, caractérisé en ce qu’il comporte une étape de construction (E21, E22) d’un groupe supplémentaire de cartes de caractéristiques (FMEl), et en ce que le vecteur caractéristique est en outre construit à partir desdites cartes de caractéristiques du groupe supplémentaire.
  7. Procédé de codage selon l’une des revendications précédentes, caractérisé en ce que le codage dudit premier groupe de cartes de caractéristiques comporte une sous-étape de codage entropique.
  8. Procédé de décodage d’une séquence d’au moins deux images (I(Pdvn), I(Pd1n), I(Pd2n)) comprenant des échantillons (Pvn, P1n,P2n) à décoder comportant les étapes suivantes :
    - décodage (E31) d’un premier groupe de cartes de caractéristiques (FMdi) ;
    - décodage (E36) d’un ensemble de paramètres (Wdk) représentatifs d’un réseau de neurones (MLP’) ;
    - pour une séquence d’échantillons, dits échantillons courants (Pdvn), desdites images respectives de la séquence à décoder, associés à une position (xn, yn) dans lesdites images respectives :
    - construction (E34) d’un vecteur caractéristique (Zdn) à partir des cartes de caractéristiques dudit premier groupe (FMdi), en fonction de ladite position (xn, yn) desdits échantillons courants, et :
    - traitement (E37) dudit vecteur (Zdn) par un réseau de neurones artificiels (MLP’) défini par les paramètres décodés (Wdk) pour fournir une séquence de vecteurs représentatifs respectivement desdits échantillons courants (Pdvn).
  9. Procédé de décodage selon la revendication 8, caractérisé en ce qu’il comporte une étape de transformation (E33) dudit premier groupe de cartes de caractéristiques décodées (FMdi) pour obtenir un second groupe de cartes de caractéristiques (FMS’i) à la résolution des images de la séquence d’entrée et en ce que ledit vecteur caractéristique (Zdn) est construit à partir desdites cartes de caractéristiques transformées (FMS’i) du second groupe obtenues à partir desdites cartes de caractéristiques décodées (FMdi) dudit premier groupe.
  10. Procédé de décodage selon la revendication 9, caractérisé en ce qu’une au moins desdites cartes de caractéristiques du premier groupe (FMdi) est de résolution inférieure à celle desdites images à décoder et en ce que l’opération de transformation comporte un suréchantillonnage.
  11. Procédé de décodage selon l’une des revendications 8 à 10, caractérisé en ce que la construction dudit vecteur (Zdn) caractéristique comporte une sous-étape d’extraction (E34) d’une valeur de ladite au moins une carte de caractéristiques (FMdi, FMS’i) à une position identique (xn, yn) à celle des échantillons courants (Pdvn) dans lesdites images à décoder.
  12. Procédé de décodage selon la revendication 8, caractérisé en ce que la construction dudit vecteur caractéristique (Zdn) comporte les sous-étapes suivantes :
    - extraction d’une pluralité de valeurs desdites cartes de caractéristiques dudit premier groupe (FMdi) en fonction de ladite position (xn, yn) desdits échantillons courants (Pdvn) ;
    - traitement (E35) desdites valeurs extraites pour obtenir le vecteur caractéristique.
  13. Procédé de décodage selon l’une des revendications 8 à 12, caractérisé en ce qu’il comporte une étape de construction (E32) d’un groupe supplémentaire de cartes de caractéristiques (FME’l) et en ce que le vecteur caractéristique est en outre construit à partir desdites cartes de caractéristiques du groupe supplémentaire.
  14. Procédé de décodage selon l’une des revendications 8 à 13, caractérisé en ce que le décodage (E31) dudit premier groupe de cartes de caractéristiques comporte une sous-étape de décodage entropique.
  15. Dispositif de codage d’une séquence d’au moins deux images (I(Pvn), I(P1n), I(P2n)) comprenant des échantillons (Pvn, P1n, P2n) à coder, caractérisé en ce que ledit dispositif est configuré pour mettre en œuvre :
    - construction (GEN, MAJ) d’un premier groupe de cartes de caractéristiques (FMi) ;
    - pour une séquence d’échantillons, dits échantillons courants (Pvn, P1n,P2n), desdites images respectives de la séquence, associés à une position (xn, yn) dans lesdites images respectives:
    - construction (XTR) d’un vecteur caractéristique (Zn) à partir desdites cartes de caractéristiques (FMi) dudit premier groupe, en fonction de ladite position (xn, yn) desdits échantillons courants (P1n,P2n) ;
    - traitement (MLP) dudit vecteur (Zn) par un réseau de neurones artificiels (MLP) défini par un ensemble de paramètres (Wk), pour fournir une séquence de vecteurs représentatifs respectivement de valeurs décodées (P’1n, P’2n) desdits échantillons courants;
    - mise à jour (MAJ, NND) d'au moins une valeur d’une desdites cartes de caractéristiques et/ou d’au moins un paramètre dudit réseau, en fonction d’une mesure de performance de codage ;
    - une étape de codage (FMC, NNC) dudit premier groupe de cartes de caractéristiques (FMi) et dudit ensemble de paramètres (Wk).
  16. Dispositif de décodage d’une séquence d’au moins deux images (I(Pdvn), I(Pd1n), I(Pd2n)) comprenant des échantillons (Pdvn, Pd1n,Pd2n) à décoder, caractérisé en ce que ledit dispositif est configuré pour mettre en œuvre :
    - décodage (FMD) d’un premier groupe de cartes de caractéristiques (FMdi) ;
    - décodage (NND) d’un ensemble de paramètres (Wdk) représentatifs d’un réseau de neurones (MLP’) ;
    - pour une séquence d’échantillons, dits échantillons courants (Pdvn), desdites images respectives de la séquence à décoder, associés à une position (xn, yn) dans lesdites images respectives :
    - construction (E34, XTR’) d’un vecteur caractéristique (Zdn) à partir des cartes de caractéristiques dudit premier groupe (FMdi), en fonction de ladite position (xn, yn) desdits échantillons courants, et :
    - traitement (E36, MLP’) dudit vecteur (Zdn) par un réseau de neurones artificiels (MLP’) défini par les paramètres décodés (Wdk) pour fournir une séquence de vecteurs représentatifs respectivement desdits échantillons courants (Pdvn).
  17. 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 8 lorsque ledit programme est exécuté par un ordinateur.
FR2213098A 2022-12-09 2022-12-09 Procédé et dispositif de codage et décodage de séquences d’images. Pending FR3143247A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR2213098A FR3143247A1 (fr) 2022-12-09 2022-12-09 Procédé et dispositif de codage et décodage de séquences d’images.
PCT/EP2023/084249 WO2024121110A1 (fr) 2022-12-09 2023-12-05 Procédé et dispositif de codage et décodage de séquences d'images

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2213098 2022-12-09
FR2213098A FR3143247A1 (fr) 2022-12-09 2022-12-09 Procédé et dispositif de codage et décodage de séquences d’images.

Publications (1)

Publication Number Publication Date
FR3143247A1 true FR3143247A1 (fr) 2024-06-14

Family

ID=86331763

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2213098A Pending FR3143247A1 (fr) 2022-12-09 2022-12-09 Procédé et dispositif de codage et décodage de séquences d’images.

Country Status (2)

Country Link
FR (1) FR3143247A1 (fr)
WO (1) WO2024121110A1 (fr)

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
SUBIN KIM ET AL: "Scalable Neural Video Representations with Learnable Positional Features", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 13 October 2022 (2022-10-13), XP091342999 *
TH\'EO LADUNE ET AL: "COOL-CHIC: Coordinate-based Low Complexity Hierarchical Image Codec", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 11 December 2022 (2022-12-11), XP091392072 *
WENTAO SHANGGUAN ET AL: "Learning Cross-Video Neural Representations for High-Quality Frame Interpolation", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 28 February 2022 (2022-02-28), XP091166479 *
YUAN ZHONGZHENG ET AL: "Block-based Learned Image Coding with Convolutional Autoencoder and Intra-Prediction Aided Entropy Coding", 2021 PICTURE CODING SYMPOSIUM (PCS), 1 June 2021 (2021-06-01), pages 1 - 5, XP055837685, ISBN: 978-1-6654-2545-2, DOI: 10.1109/PCS50896.2021.9477503 *
YUAN ZHONGZHENG: "Block-based Image Coding with Autoencoder and Border Information", 20 May 2020 (2020-05-20), pages 1 - 34, XP055938495, Retrieved from the Internet <URL:https://s18798.pcdn.co/videolab/wp-content/uploads/sites/10258/2020/10/Zhongzheng_Yuan_Thesis_Final_Submitted.pdf> [retrieved on 20220705] *

Also Published As

Publication number Publication date
WO2024121110A1 (fr) 2024-06-13

Similar Documents

Publication Publication Date Title
EP3318061B1 (fr) Procede d&#39;encodage d&#39;image et equipement pour la mise en oeuvre du procede
EP2932714B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR2755818A1 (fr) Codage de signal numerique par decomposition en sous-bandes de frequence et quantification vectorielle a etats finis
EP3075155B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3198876B1 (fr) Génération et codage d&#39;images intégrales résiduelles
FR2958489A1 (fr) Procede de codage et procede de reconstruction d&#39;un bloc d&#39;une sequence d&#39;images
EP3180914A1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
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.
FR3143248A1 (fr) Procédé et dispositif de codage et décodage d’images.
WO2024121109A1 (fr) Procédé et dispositif de codage et décodage d&#39;images
FR2935864A1 (fr) Procede de codage par blocs d&#39;une image matricielle de pixels, programme d&#39;ordinateur et dispositif de capture d&#39;images correspondants
WO2017129880A1 (fr) Procédé de codage et décodage de données, dispositif de codage et décodage de données et programmes d&#39;ordinateur correspondants
FR3057130B1 (fr) Procede de codage d&#39;une image, procede de decodage, dispositifs, equipement terminal et programmes d&#39;ordinateurs associes
EP3918798A1 (fr) Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo
FR2907989A1 (fr) Procede et dispositif d&#39;optimisation de la compression d&#39;un flux video
EP3259909B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR3093884A1 (fr) Procédés et dispositifs de codage et de décodage d&#39;une séquence vidéo multi-vues
WO2022175626A1 (fr) Determination d&#39;un mode de codage d&#39;image
FR3044507A1 (fr) Procede de codage et de decodage d&#39;images, dispositif de codage et de decodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3991436A1 (fr) Procédé d&#39;encodage et de décodage vidéo par signalisation d&#39;un sous-ensemble de candidat
Mukati et al. Low-complexity ℓ∞-compression of light field images with a deep-decompression stage
FR3033114A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
WO2022069437A1 (fr) Procédé et dispositif électronique de décodage d&#39;un flux de données, programme d&#39;ordinateur et flux de données associés

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20240614