FR3129802A1 - Procédé d’encodage de partitions d’images, et dispositif associé - Google Patents
Procédé d’encodage de partitions d’images, et dispositif associé Download PDFInfo
- Publication number
- FR3129802A1 FR3129802A1 FR2112763A FR2112763A FR3129802A1 FR 3129802 A1 FR3129802 A1 FR 3129802A1 FR 2112763 A FR2112763 A FR 2112763A FR 2112763 A FR2112763 A FR 2112763A FR 3129802 A1 FR3129802 A1 FR 3129802A1
- Authority
- FR
- France
- Prior art keywords
- partition
- source
- coding
- pixels
- binary
- 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.)
- Granted
Links
- 238000005192 partition Methods 0.000 title claims abstract description 169
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013528 artificial neural network Methods 0.000 claims description 29
- 238000012549 training Methods 0.000 claims description 24
- 238000002360 preparation method Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 102000053602 DNA Human genes 0.000 description 2
- 108020004414 DNA Proteins 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
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/48—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/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/174—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 slice, e.g. a line of blocks or a group of blocks
-
- 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/176—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 block, e.g. a macroblock
-
- 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/177—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 a group of pictures [GOP]
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Procédé d’encodage d’images, et dispositif associé L‘invention concerne un procédé et un dispositif de codage d’un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible (PC). Le procédé comprend, pour ladite au moins une partition cible : - obtenir (S3, S13) un train binaire (TBi) représentatif d’un second ensemble de pixels, dit partition source identifiée (PSi), distinct du premier ensemble; - utiliser (S6, S16) ledit train binaire pour l’encodage de ladite partition cible. Figure pour l’abrégé : Fig. 3.
Description
La présente invention se rapporte au domaine général du codage des images et vidéos numériques. L’invention concerne plus précisément un procédé de codage d’une image, portion d’image ou séquence d’images numériques.
Les images 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, pour les images fixes, les standards de la famille JPEG, et pour les images animées, ou vidéo, les standards des organismes ITU/MPEG (H.264/AVC - « Advanced Video Coding », H.265/HEVC – « High Efficiency Video Coding », H.266/VVC « Versatile Video Coding », etc.) ainsi que leurs extensions (MVC, SVC, 3D-HEVC, etc.)
L’encodage d’une image est généralement effectué en divisant une matrice de pixels correspondant à l’image en plusieurs ensembles, par exemple des blocs rectangulaires dont la taille peut être fixe ou variable, 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 de pixels comprend typiquement une prédiction des pixels du bloc effectuée à l’aide de pixels causaux (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 de pixels représentant la différence (ou la distance) 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 infinies et les algorithmes de codage et décodage classiques très complexes.
En plus de ces approches classiques imposées par les normes de compression (JPEG, MPEG, ITU), les approches d’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, comme décrit par exemple dans l’article“ Fully connected networkbased intra prediction for image coding ,” IEEE Trans. Image Process , vol. 27, no. 7, pp. 3236–3246, Jul . 2018 , J. Li et al.Des schémas complets ont été proposés en ce sens.
D’autres approches utilisent le concept « d’auto-encodeur ». Les auto-encodeurs sont des algorithmes d’apprentissage non supervisé à base de réseaux de neurones artificiels, qui permettent de construire une nouvelle représentation d’un jeu de données. Généralement, celle-ci est plus compacte, et présente moins de descripteurs, ce qui permet de réduire la dimensionnalité du 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”. À leur tour, les couches de neurones du décodeur, reçoivent ces représentations et les traitent afin d’essayer de reconstruire les données de départ. Les différences entre les données reconstruites et les données initiales permettent de mesurer l’erreur commise par l’auto-encodeur. L’entraînement consiste à modifier les paramètres de l’auto-encodeur afin de réduire l’erreur de reconstruction mesurée sur les différents échantillons du jeu de données. Une telle technique est décrite par exemple dans le brevet européen EP0456804B1. Cependant un flux généré par un tel encodeur n’est pas compatible avec un décodeur « standard » par exemple un décodeur HEVC. Or ce type de décodeur est extrêmement répandu sur les terminaux multimédia.
Il existe donc un besoin pour une solution permettant de coder/compresser une image ou une séquence d’images de manière simple, en respectant le format des codeurs et décodeurs standards, et sans l’algorithmique complexe des schémas et normes existants.
La présente invention concerne un procédé de codage d’un premier ensemble d’une image ou séquence d’images, dite partition cible, le procédé comprenant, pour ladite au moins une partition cible :
- obtenir un train binaire représentatif d’un second ensemble de pixels, dit partition source identifiée, distinct du premier ensemble ;
- utiliser ledit train binaire pour l’encodage de ladite partition cible.
- obtenir un train binaire représentatif d’un second ensemble de pixels, dit partition source identifiée, distinct du premier ensemble ;
- utiliser ledit train binaire pour l’encodage de ladite partition cible.
Avantageusement, un tel procédé permet de s’affranchir d’un algorithme complexe de codage, par détermination d’une partition d’image « proche » de la partition d’image en cours de codage, et association à la partition d’image en cours de codage, ou partition cible, du train binaire associé à la partition d’image source ainsi déterminée, ou identifiée. Ainsi il n’est plus nécessaire de réaliser l’opération de codage à proprement parler, qui peut être complexe et coûteuse : il suffit d’affecter le train binaire qui a été généré auparavant pour la partition source identifiée à la partition cible en cours de codage.
On entend par partition cible un ensemble de pixels correspondant à un ensemble d’images, ou une image, ou une zone ou région d’image ou bloc de l’image résultant d’un partitionnement de cette image (conformément par exemple à ce qui est pratiqué dans les codeurs normalisés de type AVC, HEVC ou VVC), etc. En référence au standard AVC, par exemple, il peut s’agir d’un GOP (Group of Pictures), d’une Slice (image ou portion d’image), d’un macroblock (unité de codage de base), etc.
De même on entend par partition source un ensemble de pixels correspondant à un ensemble d’images, ou une image, ou une zone ou région d’image ou bloc de l’image résultant d’un partitionnement de cette image. La partition source peut comprendre par exemple le même nombre de pixels que la partition cible. Elle peut aussi comprendre un nombre différent de pixels.
On entend par train binaire un ensemble de données numériques binaires correspondant au codage de cette partition selon une norme de codage donnée, tel que mentionné au préalable. Un tel train binaire est issu d’un codeur standard de ce type, appliqué à une partition source. Par exemple, le train binaire est celui qui est associé à une courte séquence d’images (Group of Pictures, ou unité temporelle, par exemple 2 secondes de séquence d’image) ou à une image, ou à une portion d’images (slice, bloc, tile, groupes de blocs, etc.). Le train binaire peut être décodé de manière indépendante par un décodeur standard, conforme au codeur utilisé.
On entend par encodage, ou codage, l’opération qui consiste à représenter un ensemble de pixels par un train binaire numérique. Traditionnellement, un encodeur « classique » tel que mentionné préalablement (p. ex. AVC) est utilisé pour encoder, ou encore compresser un tel ensemble de pixels par la mise en œuvre d’algorithmes complexes. Selon l’invention, l’encodage devient extrêmement simple puisqu’il consiste à affecter à la partition en cours de codage le train binaire obtenu par le codage d’une autre partition.
Selon un mode de réalisation de l’invention, le procédé de codage est en outre caractérisé en ce ledit train binaire obtenu peut être décodé par un décodeur standard.
Avantageusement selon ce mode, un train binaire associé à une partition source peut être créé à l’avance par un codeur donné (par exemple un codeur HEVC) ; alternativement une pluralité de trains binaires associés à une partition source peut être créée à l’avance par plusieurs codeurs (par exemple un codeur HEVC et un codeur AVC). Le codeur peut ainsi générer des séquences d’images compressées, par exemple de courtes séquences correspondant à des unités indépendantes, ou encore des images compressées (images intra au format HEVC) ou encore des parties d’images (par exemple des slices de taille prédéfinie ou des blocs correspondant à des unités de codage, appelés aussi macroblocs dans AVC etCoding Unitdans HEVC). Les trains binaires et éventuellement les partitions sources sont enregistrés par exemple dans une base de données de trains binaires, chaque train étant accessible par l’index de la partition source qui a permis de l’encoder. Si plusieurs trains binaires sont disponibles, correspondant à plusieurs codeurs, il suffit de connaître le codeur/décodeur concerné par le codage de la partition cible pour accéder au train binaire souhaité. Avantageusement, les trains binaires peuvent être récupérés de n’importe où (réseau, disque dur, base de données, etc.) sans nécessité de posséder un codeur si le codage a déjà été effectué en amont.
Selon un mode de réalisation de l’invention, le procédé de codage est en outre caractérisé en ce que l’étape d’obtenir un train binaire comprend les sous-étapes suivantes , une partition source étant associée à un index:
- identifier une partition source proche de la partition cible au sens d’un critère de proximité ;
- identifier une partition source proche de la partition cible au sens d’un critère de proximité ;
- obtenir un index de ladite partition source identifiée;
- obtenir le train binaire associé à ladite partition source en utilisant ledit index.
- obtenir le train binaire associé à ladite partition source en utilisant ledit index.
Avantageusement selon ce mode, l’obtention du train binaire associé à la partition source est précédée d’une recherche de partition source (et de son index) parmi une pluralité de partitions sources, afin d’en obtenir la plus proche, selon un critère de proximité prédéterminé. Ce critère peut être par exemple la distorsion entre la partition source et la partition cible, ou encore une probabilité associée à une partition source (ou son index) parmi la pluralité. Si la distorsion, ou la probabilité, sont au-dessus d’un certain seuil, on pourra décider que la partition source est suffisamment « proche » de la partition cible, et que le train binaire associé à la partition source identifiée est donc acceptable pour représenter la partition cible.
Selon une variante de ce mode de réalisation de l’invention, le train binaire associé à ladite partition source est obtenu en utilisant ledit index et une référence d’encodeur standard.
Avantageusement selon cette variante, si plusieurs trains binaires sont enregistrés en relation avec la partition source identifiée, une référence du codeur standard ciblé permet d’accéder à un train binaire parmi plusieurs (par exemple la référence est « VVC » et trois trains binaires sont enregistrés en association avec une partition source, les trains « VVC », « HEVC » et « AVC ».
Selon un mode de réalisation de l’invention, le procédé de codage est en outre caractérisé en ce que l’étape d’obtenir un train binaire est réalisée par un réseau de neurones convolutifs entraîné par une pluralité de partitions sources pour que ledit réseau de neurones artificiels identifie une partition source parmi un ensemble de partitions sources.
L’utilisation d’un réseau de neurones artificiel permet avantageusement d’optimiser la recherche d’une partition source proche de la partition cible, conformément à un mode de réalisation de l’invention, ou la recherche d’un index permettant d’accéder au train binaire d’une partition source proche de la partition cible, conformément à un autre mode de réalisation. Dans les deux cas, un tel réseau de neurones est entraîné dans un premier temps sur un grand nombre de partitions sources, présentant de préférence des différences marquées (en termes de texture, mouvement, couleur, type de séquence, etc.). Il a ainsi « appris » à identifier, pour une partition cible présentée en entrée, le « meilleur » train binaire à lui associer, parmi une pluralité de trains binaires associés à une pluralité de partitions sources.
Selon une variante de ce mode de réalisation de l’invention, l’étape d’obtenir un train binaire par un réseau de neurones artificiel comprend les étapes suivantes :
- obtenir un ensemble de données de soumission à partir de ladite partition cible,
- appliquer les données de soumission à une couche d’entrée dudit réseau de neurones,
- générer, à chaque nœud d’une couche de sortie dudit réseau de neurones, un score de prédiction pour chaque partition source associée audit nœud de sortie,
- générer un index de la partition source identifiée à partir desdits scores de prédiction
Avantageusement selon ce mode, le réseau de neurones convolutif se comporte comme un classifieur qui fournit en sortie un score de prédiction indiquant la qualité de la prédiction effectuée entre la partition cible et une partition source de la pluralité. Ainsi, il est possible non seulement de choisir la « meilleure » partition source pour une partition cible (c’est-à-dire celle qui a obtenu le meilleur score), mais encore de connaitre la fiabilité de la prédiction : si le score est mauvais, la partition source est vraisemblablement peu ressemblante à la partition cible, et le codage ne sera pas bon puisque le train binaire peu adéquat. En revanche si le score est très élevé, le codage pourra être considéré comme bon. Un tel score de prédiction peut être transformé en probabilité pour que la partition cible « ressemble » à la partition source considérée. Un réseau de neurones dit « de classification » réalise ce type de sortie.
Selon un mode de réalisation de l’invention, le procédé de codage est en outre caractérisé en ce que l’étape d’obtenir un train binaire est suivie d’un calcul de proximité entre la partition source identifiée et la partition cible, ledit calcul comportant au moins une étape de calcul de distorsion et/ou de débit et/ou de probabilité.
Avantageusement selon ce mode, un critère classique tel qu’une erreur quadratique, un lagrangien, etc. ou encore une probabilité d’appartenance à une classe issue d’un réseau de neurones artificiels, peut être utilisé pour sélectionner la meilleure partition source et décider, une fois cette partition sélectionnée, du codage effectif du bloc cible ou non en utilisant le train binaire associé. Par exemple une probabilité de 0,98 sur une échelle de 1 peut permettre de choisir la partition cible à laquelle cette probabilité est associée avec une bonne confiance alors qu’une probabilité de 0,5 sera jugée non satisfaisante.
Selon un mode de réalisation de l’invention, le procédé de codage est en outre caractérisé en ce que, si le résultat du calcul de proximité est au-dessous d’un certain seuil, un codage alternatif (codage standard) de la partition cible est effectué.
Avantageusement selon ce mode, si le critère de distorsion et/ou de débit n’est pas rempli, ou si la probabilité associée au choix de la partition source identifiée n’est pas assez élevée, il est possible d’encoder la partition cible en utilisant un encodeur standard pour générer le train binaire à lui associer.
Selon un mode de réalisation de l’invention, le procédé de codage est en outre caractérisé en ce que l’étape d’obtenir un train binaire est réalisée par un réseau de neurones convolutifs siamois entraîné par une pluralité de partitions cibles et source.
L’utilisation d’un réseau de neurones siamois permet avantageusement d’optimiser la recherche d’une partition source similaire à la partition cible. Un réseau de neurones siamois et en effet particulièrement bien adapté pour reconnaître la similitude entre deux partitions.
Selon un autre aspect fonctionnel, l’invention concerne aussi un procédé de préparation au codage d’au moins un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible, le procédé comprenant les étapes suivantes :
- obtenir une pluralité de seconds ensembles de pixels, dits partitions sources ;
- obtenir une pluralité de trains binaires, chaque train binaire étant associé par un index à une partition source de la pluralité de partitions sources
- obtenir une pluralité de seconds ensembles de pixels, dits partitions sources ;
- obtenir une pluralité de trains binaires, chaque train binaire étant associé par un index à une partition source de la pluralité de partitions sources
Selon un mode de réalisation, chaque train binaire est de surcroît associé à un type de codeur standard.
Avantageusement, l’ensemble des trains binaires est préparé à l’avance, pour être utilisé ensuite par le procédé de codage. Il suffit alors, une fois que les trains binaires ont été enregistrés en association avec un index (et éventuellement un type de codeur), par exemple dans une base de données, d’obtenir cet index pour accéder au train binaire de la partition source identifiée. Une telle base de données peut stocker, en plus des trains binaires, les partitions associées, qu’il s’agisse de partitions originales ou de partitions codées puis décodées.
Selon un mode de réalisation, le procédé de préparation est caractérisé en ce qu’un train binaire correspond au résultat du codage de la partition source dont il est représentatif par au moins un codeur standard.
Selon un autre mode de réalisation, le procédé de préparation est caractérisé en ce qu’une partition source correspond au décodage du train binaire représentatif de ladite partition source.
Avantageusement selon ce mode, une pluralité de trains binaires peut être créée à l’avance par un codeur donné (par exemple un codeur HEVC), puis décodé de manière à créer des partitions sources résultant du décodage de leurs trains binaires respectifs. Le décodeur peut ainsi générer des séquences d’images décompressées, par exemple de courtes séquences correspondant à des unités indépendantes, ou encore des images décompressées (images intra au format HEVC) ou encore des parties d’images décompressées (par exemple des slices de taille prédéfinie ou des blocs correspondant à des unités de décodage). Les partitions sources ainsi générées peuvent être enregistrées par exemple dans une base de données en association avec leurs trains binaires respectifs. Les partitions sources sont dans ce mode de réalisation le reflet exact du train binaire qui leur est associé, c’est-à-dire qu’un décodage du train binaire aboutit exactement à la partition source. Avantageusement aussi selon ce mode, la différence entre la partition source et la partition cible ne dépend que de la différence entre les deux partitions, et non de la distorsion introduite par le procédé de codage. Ainsi, non seulement les trains binaires peuvent être récupérés de n’importe où (réseau, etc.) sans nécessité de posséder un codeur, mais encore il n’est pas utile de posséder le décodeur correspondant, puisque la distorsion entre le train binaire décodé et la partition cible correspond de fait à la différence entre la partition source et la partition cible, par exemple calculée pixel à pixel.
Selon un mode de réalisation, le procédé de préparation est en outre caractérisé en ce qu’il comporte en outre une étape d’entraînement d’un réseau de neurones artificiels pour que ledit réseau de neurones artificiels identifie une partition source de la pluralité de partitions sources.
Selon un mode de réalisation, le procédé de préparation est en outre caractérisé en ce qu’un tel entraînement comporte:
- obtenir une partition source, dite partition source d’entraînement, parmi la pluralité de partitions source,
- obtenir un ensemble de données d’entraînement à partir de ladite partition source d’entraînement,
- appliquer ledit ensemble de données d’entraînement à une couche d’entrée du réseau de neurones,
- générer, à chaque nœud d’une couche de sortie dudit réseau de neurones, un score de prédiction pour chaque partition source associée audit nœud,
- modifier au moins un poids du réseau de neurones pour améliorer le score de prédiction correspondant à la partition source d’entraînement.
- obtenir une partition source, dite partition source d’entraînement, parmi la pluralité de partitions source,
- obtenir un ensemble de données d’entraînement à partir de ladite partition source d’entraînement,
- appliquer ledit ensemble de données d’entraînement à une couche d’entrée du réseau de neurones,
- générer, à chaque nœud d’une couche de sortie dudit réseau de neurones, un score de prédiction pour chaque partition source associée audit nœud,
- modifier au moins un poids du réseau de neurones pour améliorer le score de prédiction correspondant à la partition source d’entraînement.
Selon une variante de ce mode de réalisation, les étapes d’obtention d’une partition source, d’obtention d’un ensemble de données d’entraînement, d’application des données d’entraînement et de modification d’au moins un poids sont réitérées pour un au moins un deuxième ensemble de données d’entraînement associées à une deuxième partition cible de la pluralité.
Avantageusement selon ce mode, le réseau de neurones est entraîné par un ensemble de partitions sources pour apprendre à classifier correctement une partition source, et par la suite identifier par ce même réseau de neurones entraîné une partition cible quelconque. Le procédé peut être réitéré autant de fois que souhaité, par exemple jusqu’à convergence du réseau de neurones lorsque les probabilités de sortie ne varient quasiment plus.
Selon des modes de réalisation, le procédé de codage ou de préparation est en outre caractérisé en ce que l’ensemble de données de soumission ou d’entraînement est défini à partir des valeurs de pixels d’un sous-ensemble de pixels au moins de ladite partition cible ou source.
Classiquement selon ce mode, les données d’entraînement issues d’une partition source ou les données de soumission issues d’une partition cible correspondent aux valeurs des pixels (par exemple, luminance et/ou chrominance) ou d’un sous-ensemble de pixels de ces partitions. Ainsi le réseau de neurones apprend à reconnaitre ou classifier une partition sur la base de ses données de pixels.
Selon des modes de réalisation, le procédé de codage ou de préparation est en outre caractérisé en ce que l’ensemble de données de soumission ou d’entraînement est défini à partir d’un ensemble de caractéristiques définissant ladite partition cible ou source, l’ensemble de caractéristiques comprenant au moins une caractéristique parmi les suivantes :
- une donnée de texture,
- une donnée de mouvement,
- une donnée de couleur,
- une donnée de type de partition.
- une donnée de texture,
- une donnée de mouvement,
- une donnée de couleur,
- une donnée de type de partition.
Classiquement selon ce mode, les données d’entraînement issues d’une partition source ou les données de soumission issues d’une partition cible correspondent à des valeurs permettant de caractériser la partition, ou de la décrire, comme par exemple des données de texture (type de texture, description paramétrique de structure, etc.) de mouvement (type de mouvement, intensité, etc.) , de couleur, de type (par exemple, la partition est issue d’une séquence de sport, de paysage, de visiophonie, etc.)
Selon un autre aspect, l’invention concerna aussi un dispositif d’encodage d’un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible, le dispositif étant caractérisé en ce qu’il est configuré pour:
- obtenir un train binaire représentatif d’un second ensemble de pixels, dit partition source identifiée, distinct du premier ensemble ;
- utiliser ledit train binaire pour l’encodage de ladite partition cible/
- obtenir un train binaire représentatif d’un second ensemble de pixels, dit partition source identifiée, distinct du premier ensemble ;
- utiliser ledit train binaire pour l’encodage de ladite partition cible/
Selon un autre aspect, l’invention concerna aussi un dispositif de préparation au codage d’au moins un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible, le dispositif étant caractérisé en ce qu’il est configuré pour
- obtenir une pluralité de seconds ensembles de pixels, dits partitions sources ;
- obtenir une pluralité de trains binaires, chaque train binaire étant associé par un index à une partition source.
L'invention concerne encore un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de codage ou du procédé de préparation selon l’invention, selon l’un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur.
De telles instructions peuvent être stockées durablement dans un support mémoire non transitoire du dispositif de codage mettant en œuvre le procédé de codage précité, ou du dispositif de préparation au codage mettant en œuvre le procédé de préparation au codage précité.
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 également un support d’enregistrement ou support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD-ROM, un DVD-ROM, un ADN (acide désoxyribonucléique) synthétique, etc. ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur.
D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio 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, le support 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 du procédé de codage ou de préparation au codage précité.
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 un exemple de réalisation dépourvu de tout caractère limitatif. Sur les figures :
Claims (15)
- Procédé de codage d’au moins un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible (PC), le procédé comprenant, pour ladite au moins une partition cible :
- obtenir (S3, S13) un train binaire (TBi) représentatif d’un second ensemble de pixels, dit partition source (PSi) identifiée, distinct du premier ensemble ;
- utiliser (S6, S16) ledit train binaire pour l’encodage de ladite partition cible. - Procédé de codage selon la revendication 1, dans lequel ledit train binaire obtenu peut être décodé par un décodeur conforme à une norme de décodage d’images fixes de type JPEG ou d’images animées de type H.264/AVC ou H.265/HEVC ou H.266/VVC .
- Procédé de codage selon l’une des revendications précédentes, dans lequel l’étape d’obtenir un train binaire est réalisée par un réseau de neurones artificiel (RN1, RN2, RN3, RN4) entraîné par une pluralité de partitions sources pour que ledit réseau de neurones artificiel identifie une partition source parmi un ensemble de partitions sources.
- Procédé de codage selon la revendication précédente, l’étape d’obtenir un train binaire par un réseau de neurones artificiels comprenant les étapes suivantes :
- obtenir (S22) un ensemble de données de soumission (DSi) à partir de ladite partition cible,
- appliquer les données de soumission (DSi) à une couche d’entrée du réseau de neurones,
- générer, à chaque nœud d’une couche de sortie dudit réseau de neurones, un score de prédiction (SCi) pour chaque partition source associée audit nœud de sortie,
- générer un index (IDXi) de la partition source identifiée (PSi) à partir desdits scores de prédiction. - Procédé de codage selon l’une des revendications précédentes, dans lequel l’étape d’obtenir un train binaire est suivie d’un calcul de proximité entre la partition source identifiée et la partition cible, ledit calcul comportant au moins une étape de calcul de distorsion et/ou de débit et/ou de probabilité.
- Procédé de préparation au codage d’au moins un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible (PC), le procédé comprenant les étapes suivantes :
- obtenir (S3, S13) une pluralité de seconds ensembles de pixels, dits partitions sources ;
- obtenir une pluralité de trains binaires, chaque train binaire étant associé par un index à une partition source de la pluralité de partitions sources. - Procédé de préparation selon la revendication 6 dans lequel un train binaire correspond au résultat du codage de la partition source dont il est représentatif par au moins un codeur conforme à une norme de codage d’images fixes de type JPEG ou d’images animées de type H.264/AVC ou H.265/HEVC ou H.266/VVC .
- Procédé de préparation selon la revendication 6, dans lequel une partition source obtenue correspond au décodage du train binaire (TBi) représentatif de ladite partition source.
- Procédé de préparation selon l’une des revendications 6 à 8, caractérisé en ce qu’il comporte en outre une étape d’entraînement (S110) d’un réseau de neurones artificiel (RN1, RN2, RN3, RN4) pour que ledit réseau de neurones identifie une partition source de la pluralité de partitions sources.
- Procédé de préparation selon la revendication 9, l’entraînement comprenant les étapes suivantes :
- obtenir (S21) une partition source (PSi), dite partition source d’entraînement, parmi la pluralité de partitions source,
- obtenir (S22) un ensemble de données d’entraînement (DEi) à partir de ladite partition source d’entraînement,
- appliquer ledit ensemble de données d’entraînement (DEi) à une couche d’entrée du réseau de neurones,
- générer, à chaque nœud d’une couche de sortie dudit réseau de neurones, un score de prédiction pour chaque partition source associée audit nœud,
- modifier au moins un poids du réseau de neurones pour améliorer le score de prédiction correspondant à la partition source d’entraînement. - Procédé selon la revendication 4 ou 10, caractérisé en ce que l’ ensemble de données de soumission (DSi) ou d’entraînement (DEi) est défini à partir des valeurs de pixels d’un sous-ensemble de pixels au moins de ladite partition cible ou source.
- Procédé selon la revendication 4 ou 10, caractérisé en ce que l’ ensemble de données de soumission (DSi) ou d’entraînement (DEi) est défini à partir d’un ensemble de caractéristiques définissant ladite partition cible ou source, l’ensemble de caractéristiques comprenant au moins une caractéristique parmi les suivantes :
- une donnée de texture,
- une donnée de mouvement,
- une donnée de couleur,
- une donnée de type de partition. - Dispositif d’encodage d’un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible (PC), le dispositif étant caractérisé en ce qu’il est configuré pour:
- obtenir (S3) un train binaire (TBi) représentatif d’un second ensemble de pixels, dit partition source (PS) identifiée, distinct du premier ensemble ;
- utiliser (S6) ledit train binaire pour l’encodage de ladite partition cible. - Dispositif de préparation au codage d’au moins un premier ensemble de pixels d’une image ou séquence d’images, dite partition cible (PC), le dispositif étant caractérisé en ce qu’il est configuré pour :
- obtenir (S3, S13) une pluralité de seconds ensembles de pixels, dits partitions sources ;
- obtenir une pluralité de trains binaires, chaque train binaire étant associé par un index à une partition source. - Programme d’ordinateur comportant des instructions de code pour la mise en œuvre du procédé de codage, conforme à la revendication 1 ou du procédé de préparation du codage conforme à la revendication 6, lorsque ces instructions sont exécutées par un processeur
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2112763A FR3129802B1 (fr) | 2021-11-30 | 2021-11-30 | Procédé d’encodage de partitions d’images, et dispositif associé |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2112763A FR3129802B1 (fr) | 2021-11-30 | 2021-11-30 | Procédé d’encodage de partitions d’images, et dispositif associé |
FR2112763 | 2021-11-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3129802A1 true FR3129802A1 (fr) | 2023-06-02 |
FR3129802B1 FR3129802B1 (fr) | 2023-12-15 |
Family
ID=80786935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR2112763A Active FR3129802B1 (fr) | 2021-11-30 | 2021-11-30 | Procédé d’encodage de partitions d’images, et dispositif associé |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3129802B1 (fr) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0456804B1 (fr) | 1989-12-06 | 1998-03-11 | THOMSON multimedia | Procede de compression d'images par auto-organisation d'un reseau neuronal |
US20100091861A1 (en) * | 2008-10-14 | 2010-04-15 | Chih-Ta Star Sung | Method and apparatus for efficient image compression |
US20170048534A1 (en) * | 2014-04-15 | 2017-02-16 | Arm Limited | Method of and apparatus for generating an encoded frame |
KR20210118781A (ko) * | 2015-04-07 | 2021-10-01 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 서비스 시스템, 프로세스 단축을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
-
2021
- 2021-11-30 FR FR2112763A patent/FR3129802B1/fr active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0456804B1 (fr) | 1989-12-06 | 1998-03-11 | THOMSON multimedia | Procede de compression d'images par auto-organisation d'un reseau neuronal |
US20100091861A1 (en) * | 2008-10-14 | 2010-04-15 | Chih-Ta Star Sung | Method and apparatus for efficient image compression |
US20170048534A1 (en) * | 2014-04-15 | 2017-02-16 | Arm Limited | Method of and apparatus for generating an encoded frame |
KR20210118781A (ko) * | 2015-04-07 | 2021-10-01 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 서비스 시스템, 프로세스 단축을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Non-Patent Citations (4)
Title |
---|
DONG YI ET AL.: "Deep metric learning for practical person Re-identification", JOURNAL OF LATEX CLASS FILES, vol. 11, no. 4, December 2012 (2012-12-01) |
J. LI: "Fully connected networkbased intra prediction for image coding", IEEE TRANS. IMAGE PROCESS, vol. 27, no. 7, July 2018 (2018-07-01), pages 3236 - 3246, XP055759324, DOI: 10.1109/TIP.2018.2817044 |
JOSE ABIN ET AL: "Optimized Binary Hashing Codes Generated by Siamese Neural Networks for Image Retrieval", 2018 26TH EUROPEAN SIGNAL PROCESSING CONFERENCE (EUSIPCO), EURASIP, 3 September 2018 (2018-09-03), pages 1487 - 1491, XP033461766, DOI: 10.23919/EUSIPCO.2018.8553380 * |
SONG GE ET AL: "Hierarchical deep hashing for image retrieval", FRONTIERS OF COMPUTER SCIENCE, HIGHER EDUCATION PRESS, BEIJING, vol. 11, no. 2, 9 March 2017 (2017-03-09), pages 253 - 265, XP036202742, ISSN: 2095-2228, [retrieved on 20170309], DOI: 10.1007/S11704-017-6537-3 * |
Also Published As
Publication number | Publication date |
---|---|
FR3129802B1 (fr) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2255537B1 (fr) | Codage et decodage d'une image ou d'une sequence d'images decoupees en blocs de pixels | |
EP3182707B1 (fr) | Procédé et support d'enregistrement mémorisant un flux de données d'images codées | |
WO2015197945A1 (fr) | Procédé de codage d'une image numérique, procédé de décodage, dispositifs, et programmes d'ordinateurs associés | |
EP3716623A1 (fr) | Procédé de décodage d'images | |
EP3694209A1 (fr) | Procédé de décodage d'images, dispositif de décodage d'images, et programme d'ordinateur correspondant | |
EP2446629B1 (fr) | Procédés de codage et de décodage d'images, dispositifs de codage et de décodage, et programme d'ordinateur correspondants | |
FR2931610A1 (fr) | Procede et un dispositif de transmission de donnees d'images | |
FR2768003A1 (fr) | Procede de codage d'un signal de forme binaire | |
EP2716045B1 (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 | |
EP2633686B1 (fr) | Codage video echelonnable a partir d'un epitome hierarchique | |
FR3129802A1 (fr) | Procédé d’encodage de partitions d’images, et dispositif associé | |
EP3646597B1 (fr) | Procédé de décodage d'une image, procédé de codage, dispositifs, équipement terminal et programmes d'ordinateurs associés | |
EP3409016A1 (fr) | Procédé de codage et décodage de données, dispositif de codage et décodage de données et programmes d'ordinateur correspondants | |
EP3259909B1 (fr) | Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants | |
JP2020530229A (ja) | 動き補償参照フレーム圧縮 | |
WO2016132074A1 (fr) | Codage d'images par quantification vectorielle | |
FR3143245A1 (fr) | Procédé et dispositif de codage et décodage d’images. | |
EP3991436A1 (fr) | Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat | |
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. | |
FR3137809A1 (fr) | Codage et décodage de données audio et/ou vidéo | |
FR3143248A1 (fr) | Procédé et dispositif de codage et décodage d’images. | |
WO2013007920A1 (fr) | Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants | |
FR3098071A1 (fr) | Procédé d’encodage et de décodage vidéo faible latence | |
FR2991843A1 (fr) | Procede et dispositif de prediction inter-image et procede et appareil de codage correspondants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20230602 |
|
PLFP | Fee payment |
Year of fee payment: 3 |