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 PDF

Info

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
Application number
FR2112763A
Other languages
English (en)
Other versions
FR3129802B1 (fr
Inventor
Garry Bruneau
Christophe Dion
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 FR2112763A priority Critical patent/FR3129802B1/fr
Publication of FR3129802A1 publication Critical patent/FR3129802A1/fr
Application granted granted Critical
Publication of FR3129802B1 publication Critical patent/FR3129802B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods 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/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/172Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/174Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/177Methods 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods 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

Procédé d’encodage de partitions d’images, et dispositif associé
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.
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é ;
- obtenir un index de ladite partition source identifiée;
- 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
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.
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.
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/
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 :
La représente, sous forme d’organigramme, les principales étapes d’un procédé d’encodage selon un premier mode de réalisation de l’invention.
La représente, de manière schématique, un exemple d’architecture d’un encodeur selon des modes de réalisation de l’invention.
La représente, de manière schématique, un exemple de dispositif de prédiction de partition cible pour la mise en œuvre du procédé de la selon le premier mode de réalisation.
La représente, de manière schématique, un autre exemple de dispositif de prédiction de partition cible pour la mise en œuvre du procédé de la selon le premier mode de réalisation.
La représente, de manière schématique, un autre exemple de dispositif de prédiction de partition cible pour la mise en œuvre du procédé de la selon le premier mode de réalisation.
La représente, sous forme d’organigramme, les principales étapes d’un procédé d’encodage selon un second mode de réalisation de l’invention.
La représente, de manière schématique, un dispositif de prédiction de partition source pour la mise en œuvre du procédé de la selon le second mode de réalisation.
La représente, sous forme d’organigramme, les principales étapes d’un procédé d’entraînement d’un réseau de neurones artificiels pour le second mode de réalisation de l’invention.

Claims (15)

  1. 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.
  2. 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 .
  3. 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.
  4. 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.
  5. 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é.
  6. 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.
  7. 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 .
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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
FR2112763A 2021-11-30 2021-11-30 Procédé d’encodage de partitions d’images, et dispositif associé Active FR3129802B1 (fr)

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)

* Cited by examiner, † Cited by third party
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 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 프로세스 단축을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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