FR3164086A1 - Method and device for encoding and decoding images - Google Patents
Method and device for encoding and decoding imagesInfo
- Publication number
- FR3164086A1 FR3164086A1 FR2406994A FR2406994A FR3164086A1 FR 3164086 A1 FR3164086 A1 FR 3164086A1 FR 2406994 A FR2406994 A FR 2406994A FR 2406994 A FR2406994 A FR 2406994A FR 3164086 A1 FR3164086 A1 FR 3164086A1
- Authority
- FR
- France
- Prior art keywords
- maps
- decoding
- point
- latent
- decoded
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L’invention concerne un procédé de décodage d’une zone, dite zone à décoder, d’un signal comprenant au moins deux zones, ladite zone à décoder comprenant une pluralité d’échantillons à décoder, ledit procédé de décodage comportant les étapes suivantes : le décodage (F22) d’un groupe de cartes de valeurs latentes représentatives de ladite zone à décoder dudit signal, l’obtention (F20) d’un masque de ladite zone à décoder dans ledit signal,le décodage (F26) d’un ensemble de paramètres représentatifs d’un réseau de neurones, dit réseau de neurones de synthèse comprenant au moins une couche neuronale de synthèse, le traitement (F27) dudit groupe de cartes latentes décodées par ledit réseau de neurone de synthèse pour produire en sortie dudit réseau de neurone de synthèse au moins ladite zone à décoder, ledit traitement comportant l’application de ladite au moins une couche neuronale de synthèse pour transformer au moins un groupe de cartes latentes d’entrée, dite cartes d’entrée, en au moins un groupe de cartes latentes de sortie, dite cartes de sortie, ladite application comprenant l’obtention d’une région caractéristique de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque, ladite région caractéristique comprenant les points associés à ladite zone à décoder et pour au moins un point de ladite zone à décoder, dit point à décoder, le traitement d’un point associé audit point à décoder dans au moins une des cartes latentes d’entrée par ladite couche neuronale en fonction de sa proximité d'une frontière de ladite région caractéristique. Figure pour l’abrégé : Fig. 7 The invention relates to a method for decoding a region, called the decoding region, of a signal comprising at least two regions, said decoding region comprising a plurality of samples to be decoded, said decoding method comprising the following steps: the decoding (F22) of a group of latent value maps representative of said decoding region of said signal, the obtaining (F20) of a mask of said decoding region in said signal, the decoding (F26) of a set of parameters representative of a neural network, called the synthetic neural network comprising at least one synthetic neural layer, the processing (F27) of said group of latent maps decoded by said synthetic neural network to produce at least said decoding region as output of said synthetic neural network, said processing comprising the application of said at least one synthetic neural layer to transform at least one group of input latent maps, called input maps, into at least one group of latent maps of output, referred to as output maps, said application comprising obtaining a characteristic region of said area to be decoded in said input maps from said mask, said characteristic region comprising the points associated with said area to be decoded and, for at least one point of said area to be decoded, referred to as a decode point, the processing of a point associated with said decode point in at least one of the latent input maps by said neural layer as a function of its proximity to a boundary of said characteristic region. Figure for the abbreviation: Fig. 7
Description
L’invention se rapporte au domaine général du codage de signaux mono ou multidimensionnels. Elle concerne plus particulièrement la compression des images ou des vidéos numériques.The invention relates to the general field of coding one-dimensional or multidimensional signals. It relates more particularly to the compression of digital images or videos.
Les vidéos numériques font en général l’objet d’un codage source visant à les compresser afin de limiter les ressources nécessaires à leur transmission et/ou à leur stockage. Il existe de nombreux standards de codage, tels que les standards des organismes ITU/MPEG (H.264/AVC, H.265/HEVC, H.266/VVC, etc.) ainsi que leurs extensions (MVC, SVC, 3D-HEVC, etc.). Dans ces approches, l’encodage d’une image est généralement effectué par une prédiction des pixels à l’aide de pixels précédemment codés puis décodés présents dans l’image en cours d’encodage, auquel cas on parle de « prédiction Intra », ou d’images précédemment codées, auquel cas on parle de « prédiction Inter ».Digital videos are generally encoded using source code to compress them and reduce the resources required for transmission and/or storage. Numerous encoding standards exist, such as those of the ITU/MPEG organizations (H.264/AVC, H.265/HEVC, H.266/VVC, etc.) and their extensions (MVC, SVC, 3D-HEVC, etc.). In these approaches, image encoding is typically performed by predicting pixels using previously encoded and decoded pixels present in the image being encoded—in which case it is called "intra-prediction"—or previously encoded images—in which case it is called "inter-prediction."
En plus de ces approches classiques, les approches basées sur l’intelligence artificielle, et notamment neuronales, tendent à se développer.In addition to these traditional approaches, approaches based on artificial intelligence, and in particular neural networks, are tending to develop.
Certaines approches neuronales réalisent, à partir du signal d’entrée, par exemple une image, l’entraînement d’un réseau de neurones dit de synthèse sur des vecteurs caractéristiques associés à une position d’un échantillon du signal d’entrée à coder. Ces vecteurs caractéristiques sont construits à partir de cartes de caractéristiques qui peuvent être à la résolution du signal d’entrée, ou à une résolution inférieure. Au cours de l’entraînement, ou construction, les paramètres du réseau de neurones et les valeurs des cartes de caractéristiques sont mis à jour en fonction d’une mesure de performance, par exemple de type débit-distorsion. Lorsque l’entraînement est terminé, c’est-à-dire que la mesure de performance obtenue est satisfaisante, le codage effectif des paramètres du réseau de neurones de synthèse et des valeurs des cartes de caractéristiques peut être effectué et mémorisé ou transmis à destination du décodeur. Le décodage du signal codé s’effectue alors en appliquent le réseau de neurones de synthèse sur les cartes de caractéristiques.Some neural network approaches use an input signal, such as an image, to train a synthetic neural network on characteristic vectors associated with a specific position in a sample of the input signal to be encoded. These characteristic vectors are constructed from feature maps, which can be at the same resolution as the input signal or at a lower resolution. During training, or construction, the neural network parameters and the feature map values are updated based on a performance metric, such as data rate-distortion. Once training is complete, meaning the performance measurement is satisfactory, the actual encoding of the synthetic neural network parameters and feature map values can be performed and stored or transmitted to the decoder. The encoded signal is then decoded by applying the synthetic neural network to the feature maps.
Un inconvénient des approches classiques et des approches neuronales précédemment décrites est qu'elles ne permettent pas de créer des zones indépendamment décodables dans le signal codé ce qui limite non seulement les capacités d’interaction avec le contenu sémantique du signal codé mais également la possibilité de limiter la mémoire nécessaire au niveau du décodeur ou de paralléliser le décodage de ce signal codé.One drawback of classical and previously described neural approaches is that they do not allow the creation of independently decodable areas in the coded signal, which limits not only the ability to interact with the semantic content of the coded signal but also the possibility of limiting the memory required at the decoder level or parallelizing the decoding of this coded signal.
Il existe donc un besoin pour une solution permettant d’améliorer les approches classiques et neuronales précédemment décrites.Therefore, there is a need for a solution that improves upon the classical and neural approaches described above.
L’invention vise un procédé de codage d’une zone d’un signal, dite zone à coder, ladite zone à coder comprenant une pluralité d’échantillons à coder, ledit procédé de codage comportant les étapes suivantes :
- l’obtention d’un premier groupe d’au moins une carte de valeurs latentes représentatif dudit signal,
- l’obtention d’un masque dans ledit signal de ladite zone à coder,
- pour au moins un échantillon de ladite zone à coder, dit échantillon courant, associé à une position dans ledit signal à coder :
- la construction d’un vecteur caractéristique à partir desdites cartes de valeurs latentes dudit premier groupe, en fonction de ladite position dudit échantillon courant,
- le traitement dudit vecteur caractéristique par un réseau de neurones artificiels, dit réseau de neurones de synthèse, ledit réseau de neurones de synthèse étant défini par un ensemble de paramètres et comprenant au moins une couche neuronale de synthèse pour obtenir, en sortie dudit réseau de neurone de synthèse, un vecteur représentatif d’une valeur décodée de l’échantillon courant,
- la mise à jour d'au moins une valeur d’une desdites cartes de valeurs latentes dudit premier groupe et/ou d’au moins un paramètre dudit réseau de neurones de synthèse, en fonction d’une mesure de performance de codage,
- l’obtention d’un deuxième groupe de cartes de valeurs latentes représentatives d’au moins ladite zone à coder à partir dudit masque,
- le codage du deuxième groupe de cartes de valeurs latentes,
- le codage dudit masque, et
- le codage dudit ensemble de paramètres dudit réseau de neurones de synthèse.
- l’obtention d’une région caractéristique de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque, ladite région caractéristique comprenant les points associés audit masque,
- pour au moins un point de ladite zone à décoder, dit point à décoder :
- l’obtention d’un point associé audit point à décoder dans au moins une des cartes latentes d’entrée,
- l’évaluation d'un critère de proximité dudit point associé par rapport à une frontière de ladite région caractéristique,
- la construction d’un vecteur d’entrée de ladite couche neuronale de synthèse à partir d’un voisinage dudit point associé et de ladite évaluation dudit critère de proximité, et
- le traitement dudit vecteur d’entrée par ladite couche neuronale de synthèse pour obtenir un point d’au moins une des cartes de sortie,
- obtaining a first group of at least one latent value map representative of said signal,
- obtaining a mask in said signal from said zone to be coded,
- for at least one sample of said area to be coded, called the current sample, associated with a position in said signal to be coded:
- the construction of a characteristic vector from said latent value maps of said first group, as a function of said position of said current sample,
- the processing of said characteristic vector by an artificial neural network, called a synthetic neural network, said synthetic neural network being defined by a set of parameters and comprising at least one synthetic neural layer to obtain, at the output of said synthetic neural network, a vector representing a decoded value of the current sample,
- the updating of at least one value of one of said latent value maps of said first group and/or of at least one parameter of said synthetic neural network, as a function of a coding performance measure,
- obtaining a second set of latent value maps representative of at least the said area to be encoded from said mask,
- the encoding of the second group of latent value maps,
- the encoding of said mask, and
- the coding of said set of parameters of said synthetic neural network.
- obtaining a characteristic region of said area to be decoded in said entry maps from said mask, said characteristic region comprising the points associated with said mask,
- for at least one point in said area to be decoded, called point to be decoded:
- obtaining a point associated with said point to be decoded in at least one of the latent input maps,
- the evaluation of a proximity criterion of said associated point in relation to a boundary of said characteristic region,
- the construction of an input vector for said neural synthesis layer from a neighborhood of said associated point and said evaluation of said proximity criterion, and
- the processing of said input vector by said neural synthesis layer to obtain a point on at least one of the output maps,
L’invention vise aussi un procédé de décodage d’une zone, dite zone à décoder, d’un signal comprenant au moins deux zones, ladite zone à décoder comprenant une pluralité d’échantillons à décoder, ledit procédé de décodage comportant les étapes suivantes :
- le décodage d’un groupe de cartes de valeurs latentes représentatives de ladite zone à décoder dudit signal,
- l’obtention d’un masque de ladite zone à décoder dans ledit signal,
- le décodage d’un ensemble de paramètres représentatifs d’un réseau de neurones, dit réseau de neurones de synthèse comprenant au moins une couche neuronale de synthèse,
- le traitement dudit groupe de cartes latentes décodées par ledit réseau de neurone de synthèse pour produire en sortie dudit réseau de neurone de synthèse au moins ladite zone à décoder, ledit traitement comportant l’application de ladite au moins une couche neuronale de synthèse pour transformer au moins un groupe de cartes latentes d’entrée, dite cartes d’entrée, en au moins un groupe de cartes latentes de sortie, dite cartes de sortie, ladite application comprenant l’obtention d’une région caractéristique de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque, ladite région caractéristique comprenant les points associés à ladite zone à décoder et pour au moins un point de ladite zone à décoder, dit point à décoder, le traitement d’un point associé audit point à décoder dans au moins une des cartes latentes d’entrée par ladite couche neuronale en fonction de sa proximité d'une frontière de ladite région caractéristique.
- the decoding of a group of latent value maps representative of said area to be decoded of said signal,
- obtaining a mask of said area to be decoded in said signal,
- the decoding of a set of parameters representative of a neural network, called a synthetic neural network comprising at least one synthetic neural layer,
- the processing of said group of latent maps decoded by said synthetic neural network to produce at the output of said synthetic neural network at least said area to be decoded, said processing comprising the application of said at least one synthetic neural layer to transform at least one group of input latent maps, said input maps, into at least one group of output latent maps, said output maps, said application comprising obtaining a characteristic region of said area to be decoded in said input maps from said mask, said characteristic region comprising the points associated with said area to be decoded and for at least one point of said area to be decoded, said decode point, the processing of a point associated with said decode point in at least one of the input latent maps by said neural layer as a function of its proximity to a boundary of said characteristic region.
Au sens de l’invention, on entend par encodage, ou « codage», l’opération qui consiste à représenter un ensemble d’échantillons sous une forme compacte portée par exemple par un train binaire numérique. On entend par décodage l’opération qui consiste à traiter un train binaire numérique pour restituer des échantillons décodés.For the purposes of this invention, encoding, or "coding " , refers to the operation of representing a set of samples in a compact form, for example, using a digital binary stream. Decoding refers to the operation of processing a digital binary stream to produce decoded samples.
Par « échantillon » du signal, on entend une valeur prélevée dans le signal. L’échantillonnage du signal produit une suite de valeurs discrètes nommées échantillons. Dans le cas d’un signal d’image, l’échantillon prend le nom de pixel qui peut être par exemple un pixel couleur représenté traditionnellement par un triplet de valeurs, par exemple (R, G, B) ou (Y, U, V). La position de l’échantillon est repérée par ses coordonnées en abscisse (x) et ordonnée (y) dans l’image.By "sample" "Sampling" refers to a value taken from the signal. Sampling the signal produces a sequence of discrete values called samples. In the case of an image signal, the sample is called a pixel, which can be, for example, a color pixel traditionally represented by a triplet of values, such as (R, G, B) or (Y, U, V). The position of the sample is located by its x-coordinate (abscissa) and y-coordinate (ordinate) in the image.
Par « signal comprenant une pluralité d’échantillons » on entend un signal à une (audio, son), deux (image) ou plus de deux (image stéréoscopique, multiscopique, image associée à une carte de profondeur, vidéo, etc.) dimensions. En fonction de cette dimensionnalité, l’échantillon possède une, deux ou plusieurs coordonnées dans le signal. Dans le cas d’un signal d’image, la position de l’échantillon est repérée par ses coordonnées en abscisse (x) et ordonnée (y).A "signal comprising a plurality of samples" refers to a signal with one (audio, sound), two (image), or more than two (stereoscopic, multiscopic, depth-mapped, video, etc.) dimensions. Depending on its dimensionality, the sample has one, two, or more coordinates within the signal. In the case of an image signal, the sample's position is identified by its x-coordinate (abscissa) and y-coordinate (ordinate).
Par « cartes de caractéristiques » ou de façon équivalente par « cartes de valeurs latentes », on entend une représentation abstraite du signal comportant une pluralité de données variables, discrètes ou non, que l’on appelle aussi valeurs, par exemple des nombres réels ou entiers.By "feature maps" or equivalently by "latent value maps", we mean an abstract representation of the signal comprising a plurality of variable data, discrete or not, which are also called values, for example real or integer numbers.
Par « vecteur caractéristique de données construit à partir des cartes de caractéristiques en fonction d’une position » on entend un vecteur constitué d’un ou plusieurs éléments, ou données, de préférence discrètes, les données étant construites à partir des cartes de caractéristiques à une position déterminée par celle de l’échantillon en cours de traitement dans le signal. Ce vecteur caractéristique est celui qui est appliqué à l’entrée du réseau de neurones de synthèse. Par exemple, dans le cas d’un signal audio monodimensionnel, un tel vecteur peut être constitué à partir d’une pluralité de valeurs prélevées dans chacune des cartes de caractéristiques à la même coordonnée que l’échantillon à coder ou dans un voisinage de celui-ci. Dans le cas d’une image, un tel vecteur peut être constitué à partir d’une pluralité de valeurs prélevées dans chacune des cartes de caractéristiques aux mêmes coordonnées en abscisse et en ordonnée que l’échantillon à coder (resp. à décoder) ou dans un voisinage de celui-ci. Une fois que ces valeurs sont prélevées dans les cartes de caractéristiques, elles peuvent être traitées pour constituer le vecteur caractéristique, avant l’entrée dans le réseau de neurones de synthèse, par exemple par une quantification, un filtrage, une interpolation, etc.By "characteristic data vector constructed from feature maps as a function of a The term "position" refers to a vector consisting of one or more elements, or data points, preferably discrete. These data points are constructed from feature maps at a position determined by that of the sample being processed within the signal. This feature vector is the one applied to the input of the synthesis neural network. For example, in the case of a one-dimensional audio signal, such a vector can be constructed from a plurality of values taken from each of the feature maps at the same coordinate as the sample to be encoded or in a neighborhood thereof. In the case of an image, such a vector can be constructed from a plurality of values taken from each of the feature maps at the same x and y coordinates as the sample to be encoded (or decoded) or in a neighborhood thereof. Once these values are taken from the feature maps, they can be processed to form the feature vector, before entering the synthesis neural network, for example by quantization, filtering, interpolation, etc.
Par « réseau de neurones de synthèse », on entend un réseau neuronal tel un réseau neuronal convolutif, un perceptron multicouche, un LSTM (pour « Long Short Term Memory » en anglais), etc. Le réseau de neurones est défini par exemple par une pluralité de couches de neurones artificiels et par un ensemble de fonctions d'activation, de pondération et d’addition (par exemple, une couche peut calculer y = f (Ax+b), où y et b sont des vecteurs de dimension N, x un vecteur de dimension M, A est une matrice de dimension MxN, et f est la fonction d’activation).By "synthetic neural network", we mean a neural network such as a convolutional neural network, a multilayer perceptron, an LSTM (for "Long Short Term Memory"), etc. The neural network is defined for example by a plurality of layers of artificial neurons and by a set of activation, weighting and addition functions (for example, a layer can calculate y = f (Ax+b), where y and b are vectors of dimension N, x a vector of dimension M, A is a matrix of dimension MxN, and f is the activation function).
Par « paramètre du réseau de neurones », on entend une des valeurs qui caractérise le réseau de neurones, par un exemple un poids associé à l’un des neurones (coefficient de filtre, pondération, biais, valeur affectant le fonctionnement de la non-linéarité, etc.)By "neural network parameter" we mean one of the values that characterizes the neural network, for example a weight associated with one of the neurons (filter coefficient, weighting, bias, value affecting the functioning of non-linearity, etc.)
Par « traitement par un réseau de neurones de synthèse », on entend l’application d’une fonction exprimée par un réseau de neurones de synthèse au vecteur caractéristique d’entrée pour produire un vecteur de sortie représentatif de l’échantillon à coder (resp. décoder). Ce vecteur de sortie peut comporter une ou plusieurs données représentatives de l’échantillon.By "treatment" By "synthetic neural network," we mean the application of a function expressed by a synthetic neural network to the input characteristic vector to produce an output vector representative of the sample to be encoded (or decoded). This output vector may contain one or more data points representative of the sample.
Par « mesure de performance », on entend une mesure entre au moins une valeur d’un échantillon à coder et une valeur décodée dudit échantillon. La mesure peut évaluer par exemple une distorsion, ou une erreur perceptive. Elle peut être effectuée sur un échantillon ou une pluralité d’échantillons (par exemple, un échantillon courant, ou l’image courante, etc.). La mesure peut comporter aussi une mesure du débit, notamment associé au codage du réseau de neurones de synthèse et/ou au codage des cartes de caractéristiques du premier groupe. La mesure peut être une mesure conjointe entre le débit et la distorsion au travers de leur pondération. Comme il est bien connu de l’état de l’art, il est généralement procédé à une minimisation de la valeur de cette mesure jusqu’à atteindre une valeur cible.A "performance measure" is defined as a measurement between at least one value of a sample to be encoded and a decoded value of that sample. The measure might assess, for example, distortion or perceptual error. It can be performed on one or more samples (e.g., a running sample, the current image, etc.). The measure may also include a measurement of throughput, particularly associated with the encoding of the synthetic neural network and/or the encoding of the feature maps in the first group. The measure may be a combined measurement of throughput and distortion through their weighting. As is well known in the state of the art, the value of this measure is generally minimized until a target value is reached.
De manière générale, on considère que les étapes d’un procédé de codage ou décodage ne doivent pas être interprétées comme étant liées à une notion de succession temporelle. Autrement dit, les étapes peuvent être effectuées dans un ordre différent de celui indiqué dans la revendication indépendante de codage ou de décodage, voire en parallèle.Generally, the steps of an encoding or decoding process should not be interpreted as being linked to a notion of temporal succession. In other words, the steps can be carried out in a different order than that indicated in the independent encoding or decoding claim, or even in parallel.
Le procédé de codage selon l’invention réalise le codage d’une zone d’un signal à partir d’une représentation de ce signal sous forme de cartes de caractéristiques. Ces cartes de caractéristiques sont segmentées en zones caractéristiques dont les valeurs sont ultérieurement codées de façon entropique les unes indépendamment des autres. En outre, un réseau de neurone de synthèse est entraîné sur l’ensemble de ces zones tout en tenant compte de la segmentation en zones caractéristiques. Ainsi, il est possible d’obtenir une représentation codée d’une zone du signal d’origine qui peut être ultérieurement décodée par le réseau de neurones de synthèse indépendamment de tout autre partie de ce signal.The coding method according to the invention encodes a region of a signal from a representation of that signal in the form of feature maps. These feature maps are segmented into characteristic regions whose values are subsequently encoded entropically, independently of one another. Furthermore, a synthetic neural network is trained on all of these regions, taking into account the segmentation into characteristic regions. Thus, it is possible to obtain a coded representation of a region of the original signal that can subsequently be decoded by the synthetic neural network independently of any other part of that signal.
Le procédé de décodage (et de façon symétrique le procédé de codage) peut en outre comporter une ou plusieurs des caractéristiques optionnelles suivantes, prises isolément ou bien selon n’importe quelle combinaison techniquement possible.The decoding process (and symmetrically the encoding process) may further include one or more of the following optional features, taken individually or in any technically possible combination.
Selon une première caractéristique l'étape de traitement dudit point associé (Pan) comporte :
- l’obtention d’un point associé audit point à décoder dans au moins une des cartes latentes d’entrée,
- l’évaluation d'un critère de proximité dudit point associé par rapport à une frontière de ladite région caractéristique,
- la construction d’un vecteur d’entrée de ladite couche neuronale de synthèse à partir d’un voisinage dudit point associé et de ladite évaluation dudit critère de proximité, et
- le traitement dudit vecteur d’entrée par ladite couche neuronale de synthèse pour obtenir un point d’au moins une des cartes de sortie.
- obtaining a point associated with said point to be decoded in at least one of the latent input maps,
- the evaluation of a proximity criterion of said associated point in relation to a boundary of said characteristic region,
- the construction of an input vector for said neural synthesis layer from a neighborhood of said associated point and said evaluation of said proximity criterion, and
- the processing of said input vector by said neural synthesis layer to obtain a point of at least one of the output maps.
Selon une autre caractéristique, le voisinage du point associé est indépendant de l’évaluation du critère de proximité.According to another characteristic, the neighborhood of the associated point is independent of the evaluation of the proximity criterion.
Selon une autre caractéristique, le voisinage du point associé est sélectionné en fonction de l’évaluation du critère de proximité.According to another characteristic, the neighborhood of the associated point is selected based on the evaluation of the proximity criterion.
Selon une autre caractéristique, le voisinage du point associé est sélectionné en fonction du point associé.According to another characteristic, the neighborhood of the associated point is selected based on the associated point.
Selon une autre caractéristique, lors de la construction du vecteur d’entrée, une composante du vecteur d’entrée est associée à un point du voisinage, la valeur de la composante étant égale à la valeur du point associé si le point associé est un point de la région caractéristique et à une valeur de remplacement, sinon.According to another feature, during the construction of the input vector, a component of the input vector is associated with a point in the neighborhood, the value of the component being equal to the value of the associated point if the associated point is a point in the characteristic region and to a replacement value otherwise.
Selon une autre caractéristique, la valeur de remplacement est dépendante des points de la région caractéristique ou des points associés au voisinage appartenant à la région caractéristique.According to another characteristic, the replacement value is dependent on points in the characteristic region or on points associated with the neighborhood belonging to the characteristic region.
Selon une autre caractéristique, la valeur de remplacement ne dépend pas des points de la région caractéristique.According to another characteristic, the replacement value does not depend on the points of the characteristic region.
Selon une autre caractéristique, le critère de proximité est une distance, par exemple une distance euclidienne.According to another characteristic, the proximity criterion is a distance, for example a Euclidean distance.
Selon une autre caractéristique, la couche neuronale de synthèse est une couche neuronale convolutive.According to another characteristic, the synthetic neuronal layer is a convolutional neuronal layer.
Corrélativement, l’invention vise aussi un dispositif de codage. d’un signal comprenant une pluralité d’échantillons à coder caractérisé en ce que ledit dispositif de codage est configuré pour mettre en œuvre :
- l’obtention d’un premier groupe d’au moins une carte de valeurs latentes représentatif dudit signal,
- l’obtention d’un masque dans ledit signal de ladite zone à coder,
- pour au moins un échantillon de ladite zone à coder, dit échantillon courant, associé à une position dans ledit signal à coder :
- la construction d’un vecteur caractéristique à partir desdites cartes de valeurs latentes dudit premier groupe, en fonction de ladite position dudit échantillon courant,
- le traitement dudit vecteur caractéristique par un réseau de neurones artificiels, dit réseau de neurones de synthèse, ledit réseau de neurones de synthèse étant défini par un ensemble de paramètres et comprenant au moins une couche neuronale de synthèse pour obtenir, en sortie dudit réseau de neurone de synthèse, un vecteur représentatif d’une valeur décodée de l’échantillon courant,
- la mise à jour d'au moins une valeur d’une desdites cartes de valeurs latentes dudit premier groupe et/ou d’au moins un paramètre dudit réseau de neurones de synthèse, en fonction d’une mesure de performance de codage,
- l’obtention d’un deuxième groupe de cartes de valeurs latentes représentatives d’au moins ladite zone à coder à partir dudit masque,
- le codage du deuxième groupe de cartes de valeurs latentes,
- le codage dudit masque, et
- le codage dudit ensemble de paramètres dudit réseau de neurones de synthèse.
- l’obtention d’une région caractéristique de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque, ladite région caractéristique comprenant les points associés audit masque,
- pour au moins un point de ladite zone à décoder, dit point à décoder :
- l’obtention d’un point associé audit point à décoder dans au moins une des cartes latentes d’entrée,
- l’évaluation d'un critère de proximité dudit point associé par rapport à une frontière de ladite région caractéristique,
- la construction d’un vecteur d’entrée de ladite couche neuronale de synthèse à partir d’un voisinage dudit point associé et de ladite évaluation dudit critère de proximité, et
- le traitement dudit vecteur d’entrée par ladite couche neuronale de synthèse pour obtenir un point d’au moins une des cartes de sortie,
- obtaining a first group of at least one latent value map representative of said signal,
- obtaining a mask in said signal from said zone to be coded,
- for at least one sample of said area to be coded, called the current sample, associated with a position in said signal to be coded:
- the construction of a characteristic vector from said latent value maps of said first group, as a function of said position of said current sample,
- the processing of said characteristic vector by an artificial neural network, called a synthetic neural network, said synthetic neural network being defined by a set of parameters and comprising at least one synthetic neural layer to obtain, at the output of said synthetic neural network, a vector representing a decoded value of the current sample,
- the updating of at least one value of one of said latent value maps of said first group and/or of at least one parameter of said synthetic neural network, as a function of a coding performance measure,
- obtaining a second set of latent value maps representative of at least the said area to be encoded from said mask,
- the encoding of the second group of latent value maps,
- the encoding of said mask, and
- the coding of said set of parameters of said synthetic neural network.
- obtaining a characteristic region of said area to be decoded in said entry maps from said mask, said characteristic region comprising the points associated with said mask,
- for at least one point in said area to be decoded, called point to be decoded:
- obtaining a point associated with said point to be decoded in at least one of the latent input maps,
- the evaluation of a proximity criterion of said associated point in relation to a boundary of said characteristic region,
- the construction of an input vector for said neural synthesis layer from a neighborhood of said associated point and said evaluation of said proximity criterion, and
- the processing of said input vector by said neural synthesis layer to obtain a point on at least one of the output maps,
L’invention vise aussi un dispositif de décodage d’une zone d’un signal comportant au moins deux zones, dite zone à décoder, ladite zone à décoder comprenant une pluralité d’échantillons à décoder caractérisé en ce que le dispositif de décodage est configuré pour mettre en œuvre :
- le décodage d’un groupe de cartes de valeurs latentes représentatives de ladite zone à décoder dudit signal,
- l’obtention d’un masque de ladite zone à décoder dans ledit signal,
- le décodage d’un ensemble de paramètres représentatifs d’un réseau de neurones, dit réseau de neurones de synthèse comprenant au moins une couche neuronale de synthèse,
- le traitement dudit groupe de cartes latentes décodées par ledit réseau de neurone de synthèse pour produire en sortie dudit réseau de neurone de synthèse au moins ladite zone à décoder, ledit traitement comportant l’application de ladite au moins une couche neuronale de synthèse pour transformer au moins un groupe de cartes latentes d’entrée, dite cartes d’entrée, en au moins un groupe de cartes latentes de sortie, dite cartes de sortie, ladite application comprenant l’obtention d’une région caractéristique de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque, ladite région caractéristique comprenant les points associés à ladite zone à décoder et pour au moins un point de ladite zone à décoder, dit point à décoder, le traitement d’un point associé audit point à décoder dans au moins une des cartes latentes d’entrée par ladite couche neuronale en fonction de sa proximité d'une frontière de ladite région caractéristique.
- the decoding of a group of latent value maps representative of said area to be decoded of said signal,
- obtaining a mask of said area to be decoded in said signal,
- the decoding of a set of parameters representative of a neural network, called a synthetic neural network comprising at least one synthetic neural layer,
- the processing of said group of latent maps decoded by said synthetic neural network to produce at the output of said synthetic neural network at least said area to be decoded, said processing comprising the application of said at least one synthetic neural layer to transform at least one group of input latent maps, said input maps, into at least one group of output latent maps, said output maps, said application comprising obtaining a characteristic region of said area to be decoded in said input maps from said mask, said characteristic region comprising the points associated with said area to be decoded and for at least one point of said area to be decoded, said decode point, the processing of a point associated with said decode point in at least one of the input latent maps by said neural layer as a function of its proximity to a boundary of said characteristic region.
Les caractéristiques et avantages du procédé de codage ou décodage s’appliquent de la même façon au dispositif de codage ou décodage selon l’invention et vice versa.The characteristics and advantages of the coding or decoding process apply in the same way to the coding or decoding device according to the invention and vice versa.
L’invention vise également un programme d’ordinateur sur un support d’enregistrement, ce programme étant susceptible d’être mis en œuvre dans un ordinateur ou un dispositif de codage ou de décodage conforme à l’invention. Ce programme comporte des instructions adaptées à la mise en œuvre du procédé correspondant. Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.The invention also relates to a computer program on a recording medium, this program being capable of being implemented in a computer or an encoding or decoding device according to the invention. This program includes instructions adapted to the implementation of the corresponding method. This program may use any programming language and be in the form of source code, object code, or code intermediate between source and object code, such as in a partially compiled form, or in any other desirable form.
L’invention vise aussi un support d’information ou un support d’enregistrement lisible par un ordinateur, et comportant des instructions de programme d’ordinateur mentionné ci-dessus. Les supports d’information ou d’enregistrement peuvent être n’importe quel entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comporter un moyen de stockage, tel qu’une ROM, par exemple un CD-ROM ou une ROM de circuit microélectronique, ou encore un moyen d’enregistrement magnétique, par exemple une disquette ou un disque dur, une séquence d’ADN, ou une mémoire flash. D’autre part, les supports d’information ou d’enregistrement peuvent être des supports transmissibles tels qu’un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par lien radio, par lien optique sans fil ou par d’autres moyens.The invention also relates to a computer-readable information or recording medium containing the aforementioned computer program instructions. The information or recording medium can be any entity or device capable of storing programs. For example, the medium may include a storage means, such as a ROM (e.g., a CD-ROM or a microelectronic circuit ROM), or a magnetic recording means, such as a floppy disk or hard drive, a DNA sequence, or flash memory. Furthermore, the information or recording medium may be a transmissible medium, such as an electrical or optical signal, which can be transmitted via an electrical or optical cable, by radio link, wireless optical link, or by other means.
Le programme selon l’invention peut être en particulier téléchargé sur un réseau de type Internet.The program according to the invention can in particular be downloaded onto an Internet-type network.
Alternativement, chaque support d’information ou d’enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l’exécution d’un procédé conforme à l’invention.Alternatively, each information or recording medium can be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of a process according to the invention.
L’invention sera mieux comprise à l’aide de la description qui va suivre, donnée uniquement à titre d’exemple et faite en se référant aux dessins annexés dans lesquels :
- la
FIG. 1 représente schématiquement un dispositif de codage selon un mode de réalisation de l’invention, - la
FIG. 2 représente schématiquement un dispositif de décodage selon un mode de réalisation de l’invention, - la
FIG. 3 illustre un exemple de réseau de neurones artificiels de synthèse utilisé dans le cadre de l’invention, - la
FIG. 4 illustre schématiquement un exemple de traitement opéré par une couche neuronale de synthèse du réseau de neurones de laFIG. 3 , - la
FIG. 5 illustre schématiquement un deuxième exemple de traitement opéré par une couche neuronale de synthèse du réseau de neurones de laFIG. 3 . - la
FIG. 6 illustre schématiquement un troisième exemple de traitement opéré par une couche neuronale de synthèse du réseau de neurones de laFIG. 3 . - la
FIG. 7 est un logigramme représentant un exemple de procédé de codage qui peut être mis en œuvre par le dispositif de codage de laFIG. 1 , - la
FIG. 8 représente de manière illustrée un procédé de codage utilisé dans un mode de réalisation de l’invention, - la
FIG. 9 est un logigramme représentant un exemple de procédé de décodage qui peut être mis en œuvre par le dispositif de décodage de laFIG. 2 , - la
FIG. 10 représente de manière illustrée un procédé de décodage utilisé dans un mode de réalisation de l’invention, - la
FIG. 11 est un logigramme représentant une méthode de codage de cartes de caractéristiques qui peut être mis en œuvre par le dispositif de codage de laFIG. 1 et par le procédé de codage de laFIG. 7 , - la
FIG. 12 est un logigramme représentant une méthode de décodage de cartes de caractéristiques qui peut être mis en œuvre par le dispositif de décodage de laFIG. 2 et par le procédé de décodage de laFIG. 9 .
- there
FIG. 1 schematically represents a coding device according to one embodiment of the invention, - there
FIG. 2 schematically represents a decoding device according to one embodiment of the invention, - there
FIG. 3 illustrates an example of a synthetic artificial neural network used in the context of the invention, - there
FIG. 4 schematically illustrates an example of processing performed by a neural synthesis layer of the neural network of theFIG. 3 , - there
FIG. 5 schematically illustrates a second example of processing performed by a neural synthesis layer of the neural network of theFIG. 3 . - there
FIG. 6 schematically illustrates a third example of processing performed by a neural synthesis layer of the neural network of theFIG. 3 . - there
FIG. 7 is a flowchart representing an example of a coding process that can be implemented by the coding device of theFIG. 1 , - there
FIG. 8 represents, in an illustrated manner, a coding method used in one embodiment of the invention, - there
FIG. 9 is a flowchart representing an example of a decoding process that can be implemented by the decoding device of theFIG. 2 , - there
FIG. 10 represents, in an illustrated manner, a decoding process used in one embodiment of the invention, - there
FIG. 11 is a flowchart representing a method for encoding feature cards that can be implemented by the encoding device of theFIG. 1 and by the coding process of theFIG. 7 , - there
FIG. 12 is a flowchart representing a method for decoding feature cards that can be implemented by the decoding device of theFIG. 2 and by the decoding process of theFIG. 9 .
La
Ce dispositif de codage ENC comprend un module de segmentation SEG, un module d’encodage SEGC de la segmentation fournie par le module de segmentation SEG, un module GEN de génération de cartes de caractéristiques, un module SE de transformation de cartes de caractéristiques, un module XTR d’extraction de données des cartes de caractéristiques, un module TT de traitement et quantification, un module NNSYN correspondant à un réseau de neurones artificiels de synthèse, un module NNC de codage de réseau de neurones apte à coder le réseau de neurones de synthèse, un module FMC de codage des cartes de caractéristiques, un module EVAL d’évaluation d’une performance de codage, un module MAJ de mise à jour.This ENC coding device includes a SEG segmentation module, an SEGC encoding module of the segmentation provided by the SEG segmentation module, a GEN module for generating feature maps, an SE module for transforming feature maps, an XTR module for extracting data from feature maps, a TT module for processing and quantification, an NNSYN module corresponding to a synthetic artificial neural network, an NNC module for coding a neural network capable of encoding the synthetic neural network, an FMC module for coding feature maps, an EVAL module for evaluating coding performance, and a MAJ module for updating.
Le dispositif de codage ENC peut être mis en œuvre au moyen d’un dispositif électronique comprenant un processeur et une mémoire, non représentés ; chacun des modules mentionnés ci-dessus peut alors être réalisé par la coopération du processeur et d’instructions de programme d’ordinateur mémorisées dans la mémoire susmentionnée et conçues pour effectuer les fonctionnalités du module concerné, notamment comme décrit ci-dessous, lorsque ces instructions sont exécutées par le processeur.The ENC coding device can be implemented by means of an electronic device comprising a processor and a memory, not shown; each of the modules mentioned above can then be realized by the cooperation of the processor and computer program instructions stored in the aforementioned memory and designed to perform the functionalities of the module concerned, in particular as described below, when these instructions are executed by the processor.
Le dispositif de codage ENC de la
Le module SEG réalise une segmentation Sg de la succession d’échantillons à coder Pnen J (supérieur ou égal à 2) zones Zoj. Cette opération de segmentation permet de rassembler les échantillons en J différents ensembles homogènes en fonction d’un ou plusieurs critères prédéfinis. Par exemple, dans le cas d’une succession temporelle d’échantillons sonores, l’opération de segmentation permet d’obtenir des successions d’unités correspondant à des silences, des bruits, des phonèmes, des mots, etc. De même, dans le cas d’un signal d’image I(Pn), l’opération de segmentation permet de rassembler les pixels Pndu signal d’image en J zones homogènes suivant des critères, notamment d'intensité ou spatiaux. Par exemple, l’opération de segmentation peux permettre d’identifier dans le signal d’image I(Pn) deux zones différentes (J=2) correspond l’une à l’arrière-plan de l’image et l’autre au premier plan de l’image. La segmentation Sg est par exemple représentée comme un ensemble de J masques MZojpermettant chacun d’identifier une zone Zoj, chacun des masques étant associé à une valeur différente de celle associée aux autres masques.The SEG module performs a segmentation Sg of the sequence of samples to be encoded P <sub>n </sub> into J (greater than or equal to 2) zones Z<sub>o</sub> j . This segmentation operation allows the samples to be grouped into J different homogeneous sets based on one or more predefined criteria. For example, in the case of a temporal sequence of sound samples, the segmentation operation allows the results to be obtained from sequences of units corresponding to silences, noises, phonemes, words, etc. Similarly, in the case of an image signal I(P <sub>n</sub> ), the segmentation operation allows the pixels P <sub>n</sub> of the image signal to be grouped into J homogeneous zones according to criteria, notably intensity or spatial ones. For example, the segmentation operation can allow the identification in the image signal I(P <sub>n</sub> ) of two different zones (J=2), one corresponding to the background of the image and the other to the foreground of the image. The segmentation Sg is for example represented as a set of J masks MZo j each allowing to identify a zone Zo j , each of the masks being associated with a value different from that associated with the other masks.
Le module SEGC réalise le codage sans perte de la segmentation Sg. Ce codage peut être réalisé en codant la carte de segmentation correspondant aux J masques MZoj(par exemple en utilisant l’algorithme JPEG-LS défini par la norme internationale ISO/CEI 14495-1) ou en variante en codant indépendamment chaque masque MZoj, ou dans encore une autre variante, en codant indépendamment les contours des J masques MZoj. La segmentation codée est notée Sgc.The SEGC module performs lossless encoding of the Sg segmentation. This encoding can be achieved by encoding the segmentation map corresponding to the J MZo j masks (for example, using the JPEG-LS algorithm defined by the international standard ISO/IEC 14495-1), or alternatively by independently encoding each MZo j mask, or in yet another variant, by independently encoding the contours of the J MZo j masks. The encoded segmentation is denoted Sgc.
le module NNC réalise une simulation de codage, suivi d’un décodage, à destination du module d’évaluationThe NNC module performs a coding simulation, followed by decoding, for the evaluation module.
Le module GEN de génération de cartes de caractéristiques est configuré pour générer une pluralité de M cartes de caractéristiques, notées FMi.The GEN feature map generation module is configured to generate a plurality of M feature maps, denoted FM i .
Dans un mode de réalisation, le module SE réalise une transformation du premier groupe de cartes de caractéristiques FMipour générer un second groupe de cartes de caractéristiques FMSià la même résolution que le signal d’entrée.In one embodiment, the SE module performs a transformation of the first group of FM i characteristic maps to generate a second group of FMS i characteristic maps at the same resolution as the input signal.
Le module SE, optionnel, peut réaliser une quantification des données extraites de cet ensemble de M cartes FMi. On rappelle que la quantification d'une valeur fait référence à la mise en correspondance de cette valeur avec un membre d'un ensemble discret de symboles de code possibles. Par exemple, l'ensemble de symboles de code possibles peut être constitué de valeurs entières, et le système de quantification réalise un simple arrondi d’une valeur réelle à une valeur entière. Selon un autre exemple, la quantification consiste en une multiplication par une valeur donnée puis un arrondi. Puis le module SE effectue une transformation des valeurs d’au moins une des cartes de caractéristiques, par exemple un suréchantillonnage, une interpolation, un filtrage, etc. À l’issue de la transformation, une carte de caractéristiques transformée du second groupe est de même résolution que les images de la séquence d’entrée. Avantageusement selon ce mode, les cartes de caractéristiques qui sont codées peuvent être de résolution inférieure à celle des images à coder, alors que les cartes du second groupe, qui servent à la construction des vecteurs caractéristiques, sont à la même résolution que la séquence d’images, ce qui facilite l’extraction des valeurs.The optional SE module can perform quantization of the data extracted from this set of M FM i maps. Recall that quantizing a value refers to mapping that value to a member of a discrete set of possible code symbols. For example, the set of possible code symbols might consist of integers, and the quantization system would simply round a real value to an integer. Alternatively, quantization could involve multiplying by a given value and then rounding. The SE module then performs a transformation of the values in at least one of the feature maps, such as oversampling, interpolation, filtering, etc. After the transformation, a transformed feature map from the second group has the same resolution as the images in the input sequence. Advantageously, according to this method, the feature maps that are coded can be of lower resolution than the images to be coded, while the maps of the second group, which are used to construct the feature vectors, are at the same resolution as the image sequence, which facilitates the extraction of values.
Dans un mode de réalisation, le module SE est absent, dans ce cas les valeurs qui serviront à construire le vecteur caractéristique sont extraites du premier groupe de cartes de caractéristiques.In one embodiment, the SE module is absent; in this case, the values that will be used to construct the characteristic vector are extracted from the first group of characteristic maps.
Le module XTR réalise une extraction de valeurs dans les cartes de caractéristiques FMSi(ou FMiselon l’un des modes de réalisation décrits précédemment), pour un échantillon courant Pnà coder, en fonction de ses coordonnées dans le signal d’entrée et éventuellemenet de la segmentation Sg réalisée par le module SEG. Par exemple, si l’on cherche à coder l’échantillon Pnaux coordonnées (xn, yn) dans une zone Zojd’une image d’entrée, le module XTR réalise une extraction de valeurs dans les cartes à des positions imposées par les coordonnées (xn, yn) et par le masque MZojde la zone Zoj.The XTR module performs value extraction from the feature maps FMS i (or FM i depending on one of the embodiments described previously), for a current sample P n to be encoded, based on its coordinates in the input signal and possibly the segmentation Sg performed by the SEG module. For example, if we want to encode the sample P n at coordinates (x n , y n ) in a region Zo j of an input image, the XTR module performs value extraction from the maps at positions imposed by the coordinates (x n , y n ) and by the mask MZo j of the region Zo j .
Dans un mode de réalisation, les valeurs extraites constituent le vecteur Zn. Znest un L-uplet, c’est-à-dire qu’il comporte L éléments, ou données zi. Par exemple, dans un mode de réalisation, L=M, c’est-à-dire par exemple qu’une seule valeur est extraite pour chaque carte de caractéristiques FMi. Dans un autre mode de réalisation, L>M, c’est-à-dire par exemple que plusieurs valeurs sont extraites pour au moins une carte de caractéristiques FMi. La dimension L du vecteur dépend de la topologie du réseau de neurones de synthèse NNSYN et plus particulièrement de la topologie de la couche d’entrée de ce réseau de neurones de synthèse NNSYN.In one embodiment, the extracted values constitute the vector Z <sub>n</sub> . Z <sub>n</sub> is an L-tuple, meaning it contains L elements, or data z<sub>i</sub> . For example, in one embodiment, L=M, meaning that only one value is extracted for each feature map FM <sub>i</sub> . In another embodiment, L>M, meaning that several values are extracted for at least one feature map FM <sub>i </sub>. The dimension L of the vector depends on the topology of the NNSYN synthesis neural network and, more specifically, on the topology of the input layer of this NNSYN synthesis neural network.
Le vecteur Znd’indice n réfère au vecteur caractéristique du pixel P’n.The vector Z n of index n refers to the characteristic vector of the pixel P' n .
Dans un mode de réalisation, le module TT, optionnel, réalise un traitement des valeurs extraites, pour générer le vecteur Zn. Le module TT peut réaliser une quantification des données extraites de l’ensemble de cartes de caractéristiques. Le traitement peut comporter d’autres opérations, comme un filtrage, une mise à l’échelle, etc. En particulier, si le module SE n’est pas utilisé et si les cartes de caractéristiques du premier groupe sont à des résolutions inférieures à celle des images de la séquence, le module TT peut prendre en compte les coordonnées des valeurs dans les cartes de résolutions inférieures.In one embodiment, the optional TT module processes the extracted values to generate the vector Z <sub>n</sub> . The TT module can quantify the data extracted from the set of feature maps. This processing may include other operations, such as filtering, scaling, etc. In particular, if the SE module is not used and the feature maps in the first group have lower resolutions than the images in the sequence, the TT module can take into account the coordinates of the values in the lower-resolution maps.
On notera que l’un au moins des modules SE ou TT doit effectuer une quantification des cartes de caractéristiques.Note that at least one of the SE or TT modules must perform a quantification of the feature maps.
Le module NNSYN est un réseau de neurones de synthèse défini par K paramètres Wk, apte à traiter le vecteur Zn, ou L-Uplet, en entrée, pour générer en sortie un second vecteur représentatif de l’échantillon Pnà coder.The NNSYN module is a synthetic neural network defined by K parameters W k , capable of processing the input vector Z n , or L-Tuple, to generate as output a second vector representative of the sample P n to be coded.
Un exemple de réseau de neurones de synthèse est présenté ultérieurement en référence à la
Il est à noter que le comportement du réseau de neurone de synthèse peut dépendre de la segmentation Sg comme cela sera présenté plus en détail ultérieurement en référence aux figures 4 à 6.It should be noted that the behavior of the synthesis neural network may depend on the Sg segmentation as will be presented in more detail later with reference to figures 4 to 6.
Le module NNC réalise le codage du réseau de neurones de synthèse, notamment de ses paramètres Wk. Durant le processus d’entraînement, ou de construction, du codage, c’est-à-dire tant que l’étape d’évaluation d’une performance n’est pas satisfaisante, le module NNC réalise une simulation de codage, suivi d’un décodage, à destination du module d’évaluation. Par la suite, il effectue le codage effectif des paramètres du réseau de neurones de synthèse Wk,. Les paramètres codés sont notés Wck. De manière connue, la simulation de codage peut être identique au codage effectif, ou en réaliser une approximation.The NNC module performs the encoding of the synthetic neural network, specifically its parameters W<sub>k</sub> . During the training, or construction, process of the encoding—that is, until the performance evaluation stage is satisfactory—the NNC module performs a coding simulation, followed by decoding, for the evaluation module. Subsequently, it performs the actual encoding of the synthetic neural network parameters W <sub>k</sub> . The encoded parameters are denoted W<sub>c </sub>k . As is known, the coding simulation can be identical to the actual encoding, or it can approximate it.
Le module FMC réalise le codage des cartes FMi, c’est-à-dire des valeurs des cartes de caractéristiques du premier groupe (à l’exclusion des cartes du second groupe, résultant optionnellement d’un suréchantillonnage par le module SE). Durant le processus d’entraînement, ou de construction, du codage, c’est-à-dire tant que l’étape d’évaluation d’une performance n’est pas satisfaisante, le module FMC réalise une simulation de codage, suivi d’un décodage, à destination du module d’évaluation. Par la suite, il effectue le codage effectif des valeurs des cartes FMi.The FMC module performs the encoding of the FM i maps, that is, the values of the characteristic maps in the first group (excluding the maps in the second group, which may optionally result from oversampling by the SE module). During the encoding training, or construction, process—that is, until the performance evaluation step is satisfactory—the FMC module performs a coding simulation, followed by decoding, for the evaluation module. Subsequently, it performs the actual encoding of the FM i map values.
Le module FMC détermine, en prenant en compte la segmentation Sg réalisée par le module SEG, une segmentation SgL de chacune des cartes de caractéristiques FMien J zones
Dans un premier exemple de réalisation, le module FMC code seulement les valeurs des points de la zone caractéristique ZoLjà l’exception de tout autre point des cartes de caractéristiques FMi. Ainsi, le codage d’une zone caractéristique
En variante, le module FMC crée une carte secondaire de caractéristiques
De manière connue, la simulation de codage peut être identique au codage effectif, ou en réaliser une approximation. Le module de codage quantifie si nécessaire la représentation latente des valeurs des cartes du premier groupe en utilisant un quantificateur pour générer une collection ordonnée de valeurs quantifiées. Puis le module de codage compresse les données quantifiées, en utilisant un codage prenant en compte le voisinage d’une valeur à coder de la carte de caractéristiques.As is known, the coding simulation can be identical to the actual coding, or it can approximate it. The coding module quantifies, if necessary, the latent representation of the values in the first group of maps using a quantifier to generate an ordered collection of quantized values. The coding module then compresses the quantized data, using a coding method that takes into account the neighborhood of a value to be coded in the feature map.
Le module EVAL réalise une évaluation et minimisation d’une performance de codage. La fonction d’évaluation est par exemple de type débit-distorsion. La minimisation peut être effectuée par une descente de gradient, ou tout autre procédé à la portée de l’homme du métier.The EVAL module performs an evaluation and minimization of coding performance. The evaluation function is, for example, of the rate-distortion type. Minimization can be performed by gradient descent, or any other method within the grasp of a person skilled in the art.
Le module MAJ réalise une mise à jour des valeurs des cartes FMiet/ou des paramètres du réseau de neurones à encoder, en fonction des résultats de la fonction de performance.The MAJ module performs an update of the values of the FM i cards and/or the parameters of the neural network to be encoded, according to the results of the performance function.
La
Ce dispositif de décodage DEC comprend un module NND de décodage de réseau(x) de neurones apte à décoder le réseau de neurones de synthèse NNSYN’, un module SEGD de décodage d’une segmentation, un module FMD de décodage de cartes de caractéristiques, un module XTR’ d’extraction de données, un module SE’ de transformation inverse, un module TT’ de traitement et quantification inverse.This DEC decoding device includes an NND module for decoding neural network(s) capable of decoding the NNSYN’ synthesis neural network, a SEGD module for decoding a segmentation, an FMD module for decoding feature maps, an XTR’ module for data extraction, an SE’ module for inverse transformation, and a TT’ module for inverse processing and quantization.
Le dispositif de décodage DEC produit en sortie une image décodée comprenant au moins la zone décodée, notée Zodj(Pdn), comportant une pluralité d’échantillons décodés Pdn.The DEC decoding device produces at output a decoded image including at least the decoded area, denoted Zod j (Pd n ), comprising a plurality of decoded samples Pd n .
Le dispositif de décodage DEC de la figure 2 reçoit en entrée la segmentation encodée Sgc et un groupe de données encodées
Le dispositif de décodage DEC de la
Les paramètres du réseau de neurones de synthèse NNSYN’ décodés par le module NND sont notés Wdk.The parameters of the NNSYN' synthesis neural network decoded by the NND module are noted Wd k .
Le module SEGD décode le masque MZojà partir des données encodées Sgc.The SEGD module decodes the MZo j mask from the Sgc encoded data.
Selon des modes de réalisation tels que décrits pour le codeur :
- La carte de segmentation correspondant aux J masques MZojest décodée à partir des données Sgc et le masque MZojest extrait de la carte de segmentation.
- Le masque MZojest décodé directement lorsqu’il a été précédemment encodé dans les données encodées Sgc indépendamment des autres masques.
- The segmentation map corresponding to the J MZo masks j is decoded from the Sgc data and the MZo mask j is extracted from the segmentation map.
- The MZo mask j is decoded directly when it has been previously encoded in the Sgc-encoded data independently of other masks.
Le module FMD construit M cartes décodées
Dans un mode de réalisation, le module SE’ réalise une transformation du premier groupe de cartes de caractéristiques
Dans un mode de réalisation, le module SE’ est absent, dans ce cas les valeurs qui serviront à construire le vecteur caractéristique sont extraites du premier groupe de cartes de caractéristiques.In one embodiment, the SE’ module is absent; in this case, the values that will be used to construct the characteristic vector are extracted from the first group of characteristic maps.
Le module XTR’ est identique au module XTR de la figure 1. Il réalise une extraction de valeurs des M cartes de caractéristiques
Dans un mode de réalisation, les valeurs extraites constituent le vecteur Zdn. Zdnest un L-uplet, c’est-à-dire qu’il comporte L éléments, ou données zdi. In one embodiment, the extracted values constitute the vector Zd n . Zd n is an L-tuple, that is, it contains L elements, or data zd i.
Dans un mode de réalisation, le module TT’, optionnel, réalise un traitement des valeurs extraites, pour générer le vecteur Zdn. Le module TT’ peut réaliser une quantification inverse des données extraites de l’ensemble de cartes de caractéristiques. Le traitement peut comporter d’autres opérations, comme un filtrage, une mise à l’échelle, etc., similaires à ceux effectués par le codeur.In one embodiment, the optional TT' module processes the extracted values to generate the vector Zd n . The TT' module can perform inverse quantization of the data extracted from the feature set. The processing may include other operations, such as filtering, scaling, etc., similar to those performed by the encoder.
Le module NNSYN’ est un réseau de neurones dit de synthèse, défini par K paramètres Wdk, apte à traiter le vecteur Zdn, ou L-Uplet, en entrée, pour générer en sortie un second vecteur représentatif de l’échantillon Pdnà décoder, de manière générale un vecteur comportant A éléments. Selon un mode de réalisation, K=3 et le vecteur de sortie est le triplet (R, G, B) du pixel Pdndécodé. Le module NNSYN’ est de structure identique au module NNSYN, et ses paramètres sont soit identiques si le codage de ses paramètres Wk, soit différents si le codage est réalisé avec pertes.The NNSYN' module is a synthetic neural network, defined by K parameters Wd k , capable of processing the input vector Zd n , or L-tuple, to generate as output a second vector representing the sample Pd n to be decoded, generally a vector containing A elements. In one embodiment, K=3 and the output vector is the triplet (R, G, B) of the decoded pixel Pd n . The NNSYN' module has the same structure as the NNSYN module, and its parameters are either identical if the encoding of its parameters W k , or different if the encoding is lossy.
Lorsque tous les échantillons Pdndu signal ont été décodés, on dispose d’un signal reconstruit Zodj(Pdn) de la zone Zoj.When all the samples Pdnsignal have been decoded, we have a reconstructed Zod signalj(Pdn) of the Zo zonej.
Par ailleurs, le dispositif de décodage DEC peut successivement être mis en œuvre pour décoder toute les zones Zodjafin de reconstituer tous les échantillons à décoder du signal, i.e. de l’image I(Pdn).Furthermore, the DEC decoding device can successively be implemented to decode all the Zod j areas in order to reconstruct all the samples to be decoded of the signal, i.e. of the image I(Pd n ).
Le dispositif de décodage DEC peut être mis en œuvre au moyen d’un dispositif électronique comprenant un processeur et une mémoire, non représentés ; chacun des modules mentionnés ci-dessus peut alors être réalisé par la coopération du processeur et d’instructions de programme d’ordinateur mémorisées dans la mémoire susmentionnée et conçues pour effectuer les fonctionnalités du module concerné, notamment comme décrit ci-dessous, lorsque ces instructions sont exécutées par le processeur. Le dispositif DEC peut aussi comporter une pluralité de processeurs, les processeurs étant dédiés au décodage parallèle des zones de l'image.The DEC decoding device can be implemented using an electronic device comprising a processor and memory, not shown. Each of the modules mentioned above can then be implemented through the cooperation of the processor and computer program instructions stored in the aforementioned memory and designed to perform the functionalities of the module in question, particularly as described below, when these instructions are executed by the processor. The DEC device can also include multiple processors, with each processor dedicated to the parallel decoding of image areas.
La
Le réseau de neurones artificiels de synthèse utilisé au codage, NNSYN, et le réseau de neurones artificiels de synthèse utilisé au décodage, NNSYN’, sont définis par une structure identique, comprenant par exemple une pluralité de couches de neurones artificiels, et par un ensemble de poids et fonctions d’activation associés respectivement aux neurones artificiels du réseau concerné.The synthetic artificial neural network used for encoding, NNSYN, and the synthetic artificial neural network used for decoding, NNSYN’, are defined by an identical structure, including for example a plurality of layers of artificial neurons, and by a set of weights and activation functions associated respectively with the artificial neurons of the network concerned.
Le réseau de neurones de synthèse est selon un mode de réalisation un MLP, ou Multi Layer Perceptron, suivi d’une ou plusieurs couches(x) de neurones convolutive(s) C1, … Cn, chacune des couches de neurones convolutives étant associé à un masque de filtrage de taille prédéfinie, par exemple de taille 3x3.The synthetic neural network is, according to one embodiment, an MLP, or Multi Layer Perceptron, followed by one or more layers of convolutional neurons C1 , … Cn , each of the layers of convolutional neurons being associated with a filtering mask of predefined size, for example of size 3x3.
Le MLP est constitué d’une couche d’entrée adaptée au format d’entrée (le L-uplet), optionnellement une ou plusieurs couche(s) cachée(s), et une couche de sortie fournissant un vecteur de sortie intermédiaire Vsn, de manière générale un vecteur comportant A’ éléments.MLP consists of an input layer adapted to the input format (the L-tuple), optionally one or more hidden layer(s), and an output layer providing an intermediate output vector Vs n , generally a vector containing A' elements.
Ainsi, une représentation vectorielle d’un échantillon courant (un vecteur Znou Zdnissu des cartes de caractéristiques FMi/FMSiau codeur ou
La concaténation de tous ces vecteurs de sortie intermédiaire constitue des cartes intermédiaires de valeurs latentes qui sont ensuite traité successivement par le ou les couche(s) de neurones convolutive(s) pour fournir en sortie un ensemble de vecteurs de sortie comportant également A éléments.The concatenation of all these intermediate output vectors constitutes intermediate latent value maps which are then successively processed by the convolutional neuron layer(s) to provide as output a set of output vectors also containing A elements.
Selon un mode de réalisation, A est égale à 3, le vecteur de sortie intermédiaire est un triplet et le vecteur de sortie est le triplet (R, G, B) du pixel P’ncodé puis décodé.According to one embodiment, A is equal to 3, the intermediate output vector is a triplet and the output vector is the triplet (R, G, B) of the pixel P' n encoded then decoded.
La concaténation de tous ces triplets dans une image constitue le signal reconstruit I(Pdn),selon un exemple une image I, ou Zodj(Pdn), selon un exemple la zone décodée Zodj.The concatenation of all these triplets in an image constitutes the reconstructed signal I(Pd n ), according to an example an image I, or Zod j (Pd n ), according to an example the decoded area Zod j .
Au codeur, le réseau de neurones artificiels de synthèse NNSYN est entraîné sur l’image, de sorte à minimiser les différences entre la représentation en entrée de l’image courante I(Pn) et sa représentation I(P’n) en sortie, tout en minimisant également la quantité de données à encoder. Le module EVAL effectue une mesure de performance en ce sens.At the encoder, the NNSYN synthetic artificial neural network is trained on the image, minimizing the differences between the input representation of the current image I(P n ) and its output representation I(P' n ), while also minimizing the amount of data to be encoded. The EVAL module performs a performance measurement in this regard.
Une fois que l’entraînement du codeur est terminé, les paramètres du réseau sont encodés, soit sans pertes, auquel cas le réseau de neurones NNSYN’ est identique à NNSYN, soit avec pertes, auquel cas le réseau NNSYN’ peut être légèrement différent de NNSYN.Once the encoder training is complete, the network parameters are encoded, either losslessly, in which case the NNSYN’ neural network is identical to NNSYN, or lossily, in which case the NNSYN’ network may be slightly different from NNSYN.
En référence à la
Dans l’exemple décrit ici, la couche neuronale convolutive Ckest associée à un noyau de convolution de taille prédéfinie, par exemple de taille 3x3. Cette couche neuronale convolutive Cktransforme trois cartes de valeurs latentes d’entrée CCE1, CCE2, CCE3en trois cartes de valeurs latentes de sortie CCS1, CCS2, CCS3.In the example described here, the convolutional neural layer C k is associated with a convolutional kernel of predefined size, for example of size 3x3. This convolutional neural layer C k transforms three input latent value maps CCE 1 , CCE 2 , CCE 3 into three output latent value maps CCS 1 , CCS 2 , CCS 3 .
L’application de cette couche neuronale convolutive Ckaux trois cartes de valeurs latentes d’entrée CCE1, CCE2, CCE3comprend, lors d’une étape (1), l’obtention d’une région caractéristique Rjcomprenant tous les points des cartes CCE1, CCE2, CCE3colocalisés avec des échantillons appartenant au masque MZojde la zone Zodj. Les points de cette région caractéristique Rjsont appelés points déterminés.The application of this convolutional neural layer C k to the three input latent value maps CCE 1 , CCE 2 , CCE 3 includes, in a step (1), obtaining a characteristic region R j comprising all the points of the maps CCE 1 , CCE 2 , CCE 3 colocalized with samples belonging to the mask MZo j of the Zod j area. The points of this characteristic region R j are called determined points.
Puis, lors d’une étape (2), pour un point
Ce vecteur d’entrée Vcondépend du point Pandes cartes CCE1, CCE2, CCE3colocalisé avec le point
Cette information contextuelle est également conditionnée par la région caractéristique Rjdans les cartes d’entrée CCE1, CCE2, CCE3. Plus précisément, l’information contextuelle dépend de la localisation du point Panpar rapport à la frontière de la zone Rj. Cette localisation est obtenue par évaluation d'un critère de proximité Cp(Pan) du point Panpar rapport à la frontière de la région caractéristique Rj. Dans l’exemple décrit ici, le critère de proximité Cp(Pan) est la distance euclidienne entre le point Panet la frontière de la région caractéristique Rj. En variante, le critère de proximité Cp(Pan) peut être une distance de Manhattan, de Minkowski ou de Tchebychev. Dans une autre variante, la distance peut être simplement mesurée en nombre de pixels, par exemple en comptant le nombre de pixels suivant les deux directions d’un repère associés à la carte courante. Dans encore une autre variante, le critère de proximité Cp(Pan) peut-être également une quasi-distance ou un écart ou toute autre mesure pertinente indiquant la proximité du point Panà la frontière de la région caractéristique Rj.This contextual information is also conditioned by the feature region R<sub>j</sub> in the input maps CCE<sub>1</sub> , CCE<sub>2</sub> , and CCE<sub> 3 </sub>. More precisely, the contextual information depends on the location of point P<sub>n</sub> relative to the boundary of area R<sub>j</sub> . This location is obtained by evaluating a proximity criterion C<sub>p</sub>(P<sub>n</sub> ) of point P<sub>n</sub> relative to the boundary of feature region R<sub>j</sub> . In the example described here, the proximity criterion C<sub>p</sub>(P<sub>n </sub> ) is the Euclidean distance between point P <sub>n</sub> and the boundary of feature region R<sub> j </sub>. Alternatively, the proximity criterion C<sub>p</sub>(P<sub>n</sub> ) could be a Manhattan, Minkowski, or Chebyshev distance. In another variant, the distance can simply be measured in pixels, for example, by counting the number of pixels along the two directions of a coordinate system associated with the current map. In yet another variant, the proximity criterion Cp(Pa n ) may also be a quasi-distance or a gap or any other relevant measure indicating the proximity of the point Pa n to the boundary of the characteristic region R j .
Deux cas sont alors à distinguer :
- Dans le premier cas, illustré à la
FIG. 4 , le critère de proximité Cp(Pan) est supérieur (éventuellement égal) à une distance d (par exemple prédéfinie) et les valeurs de voisinage des cartes d’entrées CCE1, CCE2, CCE3 sont utilisées pour former le vecteur d’entrée Vcon. - Dans le deuxième cas, illustré à la
FIG. 5 , le critère de proximité Cp(Pan) est inférieur à cette distance d (dans l’exemple décrit ici, le point Panest localisé à une distance nulle de la frontière de la région caractéristique Rj). Dans ce cas, le vecteur d’entrée Vconest défini composante par composante. La valeur d’une composante du vecteur d’entrée Vconest égale à la valeur du point associé de la carte d’entrée si ce point appartient à la région caractéristique Rjet à une valeur de remplacement sinon.
- In the first case, illustrated in the
FIG. 4 , the proximity criterion Cp(Pan) is greater than (or possibly equal to) a distance d (for example, predefined) and the neighborhood values of the CCE input maps1, CCE2, CCE3 are used to form the input vector Vcon. - In the second case, illustrated in the
FIG. 5 The proximity criterion Cp(Pa n ) is less than this distance d (in the example described here, point Pa n is located at zero distance from the boundary of characteristic region R j ). In this case, the input vector Vco n is defined component by component. The value of a component of the input vector Vco n is equal to the value of the associated point on the input map if that point belongs to characteristic region R j , and to a replacement value otherwise.
Lors d’une étape (3), le vecteur d’entrée est traité par la couche neuronale convolutive Ckpour générer en sortie le point
Dans la
Dans un mode de réalisation, la valeur de remplacement est une valeur constante prédéterminée, par exemple égale à 0.In one embodiment, the replacement value is a predetermined constant value, for example equal to 0.
Dans un autre mode de réalisation, la valeur de remplacement est fonction de la valeur des points du voisinage appartenant à la région caractéristique Rj, par exemple la valeur de remplacement est égale à la valeur du point Pan.Dans un autre mode de réalisation, un ensemble de valeurs de remplacement est calculé en fonction de la valeur des points du voisinage appartenant la région caractéristique Rj. Un réseau de neurone peut être mis en œuvre pour calculer un nombre donné de valeurs de remplacement en fonction des points du voisinage de la région caractéristique Rj.In another embodiment, the replacement value is a function of the values of the neighborhood points belonging to the characteristic region R<sub> j </sub>; for example, the replacement value is equal to the value of point P<sub> n </sub>. In yet another embodiment, a set of replacement values is calculated based on the values of the neighborhood points belonging to the characteristic region R<sub> j </sub>. A neural network can be implemented to calculate a given number of replacement values based on the neighborhood points of the characteristic region R<sub> j </sub>.
Dans les modes de réalisation précédent, la définition du voisinage du point Panest indépendante du critère de proximité Cp(Pan). Dans un autre mode de réalisation et comme cela est représenté à la
Deux cas sont de nouveau à distinguer :
- Dans le premier cas, le critère de proximité Cp(Pan) est supérieur (éventuellement égal) à la distance d et les valeurs associé à un premier voisinage du point Pan(par exemple identique à celui défini précédemment en lien avec la
FIG. 4 ) des cartes d’entrées CCE1, CCE2, CCE3 sont utilisées pour former le vecteur d’entrée Vcon. - Dans le deuxième cas, le critère de proximité Cp(Pan) est inférieur à cette distance d. Dans ce cas un deuxième voisinage du point Panest utilisé. De façon préférentielle, pour respecter la topologie de la couche neuronale convolutive Ck, le nombre de points du premier voisinage est égal au nombre de points du deuxième voisinage. Dans l’exemple présenté à la
FIG. 6 , le deuxième voisinage est par exemple obtenu à partir du premier voisinage en adaptant la forme de ce dernier à la frontière de la région caractéristique Rjde sorte que les points du deuxième voisinage appartiennent tous à la région caractéristique Rj.
- In the first case, the proximity criterion Cp(Pan) is greater than (possibly equal to) the distance d and the values associated with a first neighborhood of point Pan(for example, identical to that defined previously in connection with the
FIG. 4 ) CCE entry cards1, CCE2, CCE3 are used to form the input vector Vcon. - In the second case, the proximity criterion Cp(Pa n ) is less than this distance d. In this case, a second neighborhood of the point Pa n is used. Preferably, to respect the topology of the convolutional neural layer C k , the number of points in the first neighborhood is equal to the number of points in the second neighborhood. In the example presented at the
FIG. 6 , the second neighborhood is obtained for example from the first neighborhood by adapting the shape of the latter to the boundary of the characteristic region R j so that the points of the second neighborhood all belong to the characteristic region R j .
Une fois déterminé, le vecteur d’entrée est traité, lors d’une étape (3), par la couche neuronale convolutive Ckpour générer en sortie le point
La
Selon ce mode de réalisation, le signal est une image bidimensionnelle, chaque échantillon à coder est donc un pixel Pnde coordonnées (xn, yn).According to this embodiment, the signal is a two-dimensional image, each sample to be coded is therefore a pixel P n with coordinates (x n , y n ).
L’encodage se déroule en trois phases principales :The encoding process takes place in three main phases:
Dans une première phase, dite phase de segmentation, la segmentation Sg du signal d’entrée I(Pn) en J (supérieur ou égal à 2) zones Zojest réalisée.In a first phase, called the segmentation phase, the segmentation Sg of the input signal I(P n ) into J (greater than or equal to 2) zones Zo j is carried out.
Selon un premier exemple de segmentation, l’image est divisée en J zones régulières, par exemple de taille et de forme identiques (sauf éventuellement sur les bords de l’image). Par exemple, l’image peut être divisée en zones rectangulaires dont les frontières sont horizontales et verticales. Une telle division correspond au concept de « tiles » mis en œuvre par les standards de codage tels que H.264/AVC, H.265/HEVC et H.266/VVC.In a first example of segmentation, the image is divided into J regular zones, for example, of identical size and shape (except possibly at the edges of the image). For example, the image can be divided into rectangular zones with horizontal and vertical boundaries. Such a division corresponds to the concept of "tiles" implemented by encoding standards such as H.264/AVC, H.265/HEVC, and H.266/VVC.
Selon un deuxième exemple de segmentation, l’image est divisée en J zones correspondant à des échantillons (ou des blocs) parcourus dans un ordre lexicographique. Une telle division correspond au concept de « slices » mis en œuvre par les standards de codage tels que H.264/AVC, H.265/HEVC et H.266/VVC.According to a second example of segmentation, the image is divided into J zones corresponding to samples (or blocks) scanned in a lexicographical order. Such a division corresponds to the concept of "slices" implemented by coding standards such as H.264/AVC, H.265/HEVC and H.266/VVC.
Selon un troisième exemple de segmentation, l’image est divisée en zones sémantiques, par exemple un arrière-plan et un premier plan. Pour ce faire, une définition manuelle peut être réalisée par un opérateur. La segmentation peut également être automatique ou semi-automatique selon l’algorithme de segmentation utilisée. Il est à noter qu’il n’existe aucune restriction liée au type d’algorithme de segmentation utilisé.In a third segmentation example, the image is divided into semantic zones, such as a background and a foreground. This can be done manually by an operator. Segmentation can also be automatic or semi-automatic, depending on the segmentation algorithm used. It's worth noting that there are no restrictions related to the type of segmentation algorithm used.
Avantageusement, une telle division en zones permet lors du décodage ultérieur du signal I(Pdn) de paralléliser le décodage des zones à décoder Zodjen répartissant équitablement la charge de décodage sur chacun des décodeurs et/ou processeurs.Advantageously, such a division into zones allows, during the subsequent decoding of the signal I(Pd n ) to parallelize the decoding of the zones to be decoded Zod j by distributing the decoding load equally on each of the decoders and/or processors.
Dans une deuxième phase, dite phase de construction, un apprentissage est réalisé, afin de déterminer, pour un signal d’entrée I(Pn), les valeurs des cartes FMiet des paramètres Wkpour optimiser une fonction de coût globale. L’apprentissage est par exemple réalisé par une descente de gradient, suivie d’une mise à jour des paramètres du réseau de neurones de synthèse NNSYN, des valeurs des cartes de caractéristiques FMi. Comme il est connu dans l’état de l’art, la fonction de coût peut être de type débit-distorsion, ou débit, ou distorsion, ou perceptuelle. Pour mesurer le débit R, il est nécessaire de simuler le codage des J zones ZoLjdes cartes
Puis lors d’une troisième phase, dite phase de codage, la segmentation Sg, les données de chaque zone
On va maintenant décrire les étapes d’un procédé de codage selon un mode de réalisation de l’invention.We will now describe the steps of a coding process according to one embodiment of the invention.
Lors d’une étape E20, un signal I(Pn) à coder, comportant une pluralité de N échantillons Pn, est fourni en entrée du procédé.During an E20 step, a signal I(P n ) to be coded, comprising a plurality of N samples P n , is provided as input to the process.
Lors d’une étape E21, la segmentation Sg du signal d’entrée I (Pn) en J (supérieur ou égal à 2) zones Zojest réalisée.During an E21 step, the segmentation Sg of the input signal I (P n ) into J (greater than or equal to 2) zones Zo j is carried out.
Lors d’une étape E22, les M cartes FMidu premier groupe sont initialisées. Par la suite, les paramètres Wkdu réseau de neurones de synthèse NNSYN et les valeurs des cartes FMidoivent être optimisés durant la phase de construction.During step E22, the M FM i maps of the first group are initialized. Subsequently, the parameters W k of the NNSYN synthesis neural network and the values of the FM i maps must be optimized during the construction phase.
Selon un mode de réalisation, les cartes FMisont de même résolution que le signal d’entrée I (Pn) et comportent donc chacune le même nombre de valeurs N qu’il y a d’échantillons Pnà coder.According to one embodiment, the FM i cards have the same resolution as the input signal I (P n ) and therefore each have the same number of values N as there are samples P n to be coded.
Selon un mode de réalisation, les cartes FMisont de résolution inférieure ou égale à celle du signal d’entrée I(Pn) et comportent donc, pour au moins l’une d’entre elles, un nombre N’ de valeurs à coder inférieur à N. Selon une variante, la première carte FMiest à la résolution des images et chaque carte suivante est à une résolution moitié de la précédente.According to one embodiment, the FM i cards have a resolution less than or equal to that of the input signal I(P n ) and therefore include, for at least one of them, a number N' of values to be coded less than N. According to a variant, the first FM i card has the resolution of the images and each subsequent card has half the resolution of the previous one.
Selon un mode de réalisation, plusieurs cartes FMisont de même résolution, inférieure à celle du signal d’entrée I(Pn).According to one embodiment, several FM i cards have the same resolution, lower than that of the input signal I(P n ).
Selon un mode de réalisation, les cartes FMisont transformées pour fournir un second groupe de cartes de caractéristiques transformées FMSi. Dans ce mode, les vecteurs caractéristiques sont extraits de préférence des cartes transformées du second groupe, et non directement des cartes du premier groupe. Dans ce mode, les vecteurs caractéristiques sont donc extraits indirectement des cartes du premier groupe. Les cartes du second groupe ne sont pas codées, elles servent uniquement à la construction des vecteurs caractéristiques.In one embodiment, the FM i maps are transformed to provide a second group of transformed feature maps, FMS i . In this embodiment, the feature vectors are preferably extracted from the transformed maps of the second group, and not directly from the maps of the first group. Thus, in this embodiment, the feature vectors are indirectly extracted from the maps of the first group. The maps of the second group are not coded; they are used solely for constructing the feature vectors.
Selon un mode de réalisation, les cartes FMisont initialisées par des valeurs constantes prédéfinies.According to one embodiment, the FM i cards are initialized with predefined constant values.
Selon un autre mode de réalisation, les cartes de caractéristiques sont initialisées par un ensemble de valeurs réelles aléatoires.According to another embodiment, the feature maps are initialized by a set of random real values.
Les cartes de caractéristiques FMidu premier groupe sont par la suite mises à jour, ou raffinées, lors d’une étape E23,par le module de mise à jour MAJ du codeur au cours de son apprentissage.The FM i feature maps of the first group are subsequently updated, or refined, during an E23 step , by the encoder update module during its learning.
Lors d’une étape E24, les J zones
Dans un mode de réalisation, les J zone ZoLjdes carte FMisont codées dans l’ordre d’indexation des J zones et dans un ordre prédéfini des cartes de caractéristiques associées (i.e. ,
Le codage entropique de l’ensemble des zones
Lors d’une étape E25, selon un mode de réalisation, les M cartes du premier groupe FMisont transformées par le module SE pour générer des cartes du second groupe FMSià la résolution des images de la séquence d’entrée.In an E25 step, according to one embodiment, the M cards of the first group FM i are transformed by the SE module to generate cards of the second group FMS i at the resolution of the images of the input sequence.
Selon un mode de réalisation, M cartes FMSisont générées.According to one embodiment, M FMS i cards are generated.
Selon un mode de réalisation, chaque carte FMiest transformée en une carte FMSi.According to one embodiment, each FM i card is transformed into an FMS i card.
Selon un mode de réalisation, au moins une carte FMiest de résolution inférieure à celle des images de la séquence à coder et l’opération de transformation comporte un suréchantillonnage pour que la carte FMSi transformée comporte le même nombre d’échantillons que les images de la séquence. Le suréchantillonnage consiste à rajouter des valeurs dans les cartes FMSipour atteindre la résolution des images de la séquence d’entrée. Il peut être simple (par réplication du plus proche voisin) ou comporter une interpolation (linéaire, polynomiale, par filtrage, etc.).In one embodiment, at least one FM1 map has a lower resolution than the images in the sequence to be encoded, and the transformation operation includes oversampling so that the transformed FM1 map has the same number of samples as the images in the sequence. Oversampling consists of adding values to the FM1 maps to achieve the resolution of the input sequence images. It can be simple (by nearest neighbor replication) or involve interpolation (linear, polynomial, filtered, etc.).
Lors d’une étape E26 et en tenant compte de la segmentation Sg du signal d’entrée I(Pn) en J zones Zoj, des valeurs sont extraites par le module XTR des cartes FMiou éventuellement FMSitransformées.Cette extraction est réalisée en fonction des coordonnées (xn, yn) de l’échantillon Pndu signal d’entrée et éventuellement du masque MZoj. Elle peut aussi être réalisée en fonction de la résolution de la carte considérée.During step E26 and taking into account the segmentation Sg of the input signal I(Pn) in J zones ZojValues are extracted by the XTR module from the FM cardsior possibly FMSitransformed.This extraction is performed based on the coordinates (xn, yn) of sample Pnof the input signal and possibly the MZo maskjIt can also be done according to the resolution of the map in question.
Selon un mode de réalisation, le vecteur Zncaractéristique résulte directement de cette extraction.According to one embodiment, the characteristic vector Z n results directly from this extraction.
Les échantillons à coder sont par exemple traités par ordre séquentiel, de n=1 à n=N.The samples to be coded are, for example, processed in sequential order, from n=1 to n=N.
Selon un mode de réalisation, lors d’une étape E27, le vecteur Zncaractéristique est construit par le module TT à partir des valeurs extraites des cartes FMiou FMSipour chaque échantillon Pnde coordonnées (xn, yn) du signal d’entrée. Le traitement peut comporter une quantification des valeurs extraites des cartes FMiou du vecteur Znconstitué, si nécessaire. Le traitement peut comporter d’autres opérations, comme un filtrage, une mise à l’échelle, l’application d’une fonction quelconque, de préférence monotone, etc.According to one embodiment, during step E27, the vector ZnThe characteristic is constructed by the TT module from the values extracted from the FM cards.ior FMSifor each sample Pncoordinates (xn, yn) of the input signal. The processing may include quantifying the values extracted from the FM cardsior the vector Znconstituted, if necessary. The processing may include other operations, such as filtering, scaling, the application of any function, preferably monotonic, etc.
Dans un mode de réalisation, Znest un M-uplet (z1, z2,…, zJ), constitué des valeurs des cartes FMiou FMSisituées aux coordonnées (xn, yn) du pixel courant Pn, comme il sera illustré à l’appui de la
Dans un mode de réalisation, Znest un M-uplet construit à partir de valeurs prélevées dans les cartes FMià des coordonnées qui peuvent être différentes selon les cartes. Par exemple, si les cartes FMisont à des résolutions différentes parce qu’elles ont été sous-échantillonnées, les cordonnées sont adaptées (par une mise à l’échelle) pour correspondre à la résolution de chaque carte.In one embodiment, Z <sub>n</sub> is an M-tuple constructed from values taken from the FM<sub>i</sub> maps at coordinates that may differ between maps. For example, if the FM<sub> i </sub> maps have different resolutions because they have been downsampled, the coordinates are adjusted (by scaling) to match the resolution of each map.
Lors d’une étape E28, le vecteur Znest traité par le réseau de neurones de synthèse NNSYN pour générer en sortie un vecteur représentatif de l’échantillon Pnà coder, selon un mode de réalisation le triplet (R, G, B) de l’échantillon P’n(l’échantillon Pncodé puis décodé).During an E28 step, the vector Z n is processed by the NNSYN synthesis neural network to generate as output a vector representative of the sample P n to be coded, according to an embodiment the triplet (R, G, B) of the sample P' n (the sample P n coded then decoded).
La structure et les paramètres Wkdu réseau de neurones de synthèse sont initialisés par exemple lors de la première itération de cette étape. Ces paramètres sont par la suite mis à jour, ou raffinés, au cours de la phase de construction, lors des itérations ultérieures du procédé.The structure and parameters Wk of the synthesis neural network are initialized, for example, during the first iteration of this step. These parameters are subsequently updated, or refined, during the construction phase, in later iterations of the process.
Selon un mode de réalisation, les paramètres du réseau de neurones de synthèse et/ou du réseau de neurones de prédiction sont initialisés par des valeurs prédéfinies connues pour donner un résultat satisfaisant (par exemple, à la suite d’un entraînement sur un corpus d’images).According to one embodiment, the parameters of the synthesis neural network and/or the prediction neural network are initialized by predefined values known to give a satisfactory result (for example, following training on a corpus of images).
Selon un autre mode de réalisation, les paramètres du réseau de neurones de synthèse et/ou du réseau de neurones de prédiction sont initialisés par un ensemble de valeurs aléatoires.According to another embodiment, the parameters of the synthesis neural network and/or the prediction neural network are initialized by a set of random values.
Lors d’une étape E29,les paramètres Wkdu réseau de neurones de synthèse NNSYN sont quantifiés et codés. Durant la phase de construction, cette opération est une simulation de codage. Durant la phase de codage, cette opération est un codage effectif et les valeurs codées constituent le flux B1. La simulation peut être identique au codage effectif mais elle peut aussi être différente (par exemple, simplifiée). On peut utiliser à cette fin toute technique connue, par exemple la norme de codage de réseaux de neurones proposée par le standard MPEG-7 partie 17, aussi appelée NNR (Neural Network Representation). On notera que dans ce cas, il faut choisir la quantité de dégradation que le codage apporte aux poids Wk.During step E29 , the W<sub>k</sub> parameters of the NNSYN synthesis neural network are quantized and encoded. During the construction phase, this operation is a coding simulation. During the encoding phase, this operation is the actual encoding, and the encoded values constitute the B1 stream. The simulation can be identical to the actual encoding, but it can also be different (for example, simplified). Any known technique can be used for this purpose, for example, the neural network coding standard proposed by MPEG-7 Part 17, also called NNR (Neural Network Representation). Note that in this case, the amount of degradation that the encoding introduces to the W <sub>k</sub> weights must be chosen.
Lors d’une étape E30, une mesure de performance est évaluée. During an E30 step, a performance measure is evaluated .
À cet effet, les débits de simulation de codage associés aux cartes de caractéristiques du premier groupe (simulation du flux B2 par codage des J zones
Selon un mode de réalisation, la fonction de coût est de type débit-distorsion, notée (D+L*R), où D par exemple l’erreur quadratique mesurée entre le signal d’entrée et le signal décodé (ou l’erreur mesurée sur un sous-ensemble d’échantillon du signal). Selon un autre exemple, D est calculé à partir d’une fonction perceptive telle que le SSIM (pourStructural SIMilarity), ou MSSSIM (pourMulti-scale Structural SIMilarity). Selon un mode de réalisation, R est le débit simulé du flux B1 ; selon un autre mode de réalisation, R est le débit total utilisé pour coder cette image, c’est-à-dire la somme des débits simulés de B1 et B2. L un paramètre qui règle le compromis débit-distorsion. D’autres fonctions de coût sont possibles.According to one embodiment, the cost function is of type distortion-rate, denoted (D+L*R), where D, for example, is the squared error measured between the input signal and the decoded signal (or the error measured on a subset of the signal samples). In another example, D is calculated from a perceptual function such as SSIM (forStructural SIMILarity), or MSSSIM (forMulti-scale Structural SIMilarityIn one embodiment, R is the simulated bit rate of stream B1; in another embodiment, R is the total bit rate used to encode this image, i.e., the sum of the simulated bit rates of B1 and B2. L is a parameter that controls the bit rate-distortion trade-off. Other cost functions are possible.
Tant que la fonction de coût n’a pas atteint son minimum, ou qu’un nombre maximum d’itérations de l’algorithme de minimisation de la fonction de coût a été atteint, la mesure de performance n’est pas satisfaisante, et le procédé est réitéré à partir de l’étape E23. Cette minimisation peut être effectuée par un mécanisme connu comme une descente de gradient avec mise à jour des paramètres au cours de l’étape E23 pour les valeurs des cartes de caractéristiques et E29 pour les paramètres du ou des réseau(x).As long as the cost function has not reached its minimum, or a maximum number of iterations of the cost function minimization algorithm has been reached, the performance measurement is not satisfactory, and the process is repeated from step E23. This minimization can be performed by a mechanism known as gradient descent with parameter updates during step E23 for the feature map values and E29 for the network(s) parameters.
Lors d’une étape EF, si la fonction de coût a atteint son minimum, ou qu’un nombre maximum d’itérations de l’algorithme de minimisation de la fonction de coût a été atteint l’entraînement s’arrête. Si une version codée correspondant à la dernière simulation des paramètres du réseau de neurones de synthèse (Wk) et des cartes de caractéristiques (
Le flux B2 comprend des sous-flux correspondant à chaque zone des cartes de caractéristiques. Lors du codage de chaque zone de latente, il est possible, dans un mode préféré de réalisation, de mettre à un endroit identifiable du flux une information de localisation des sous-flux dans le flux global. Cette information de localisation peut être :
- un pointeur de flux (qui indique l’adresse du début de chaque sous-flux dans le flux global), ou
- un marqueur (une série de bits interdite par ailleurs, qui permet de parcourir le flux pour trouver le début de chaque sous-flux), ou
- tout autre moyen permettant d’identifier une sous-partie d’un flux codé.
- a flow pointer (which indicates the starting address of each subflow in the overall flow), or
- a marker (a series of bits otherwise forbidden, which allows traversing the stream to find the beginning of each sub-stream), or
- any other means of identifying a sub-part of an encoded stream.
Les flux B1 et B2 peuvent être multiplexés et/ou concaténés pour produire un flux final. Selon un mode de réalisation, le flux B3 de la segmentation codée et le flux B1 des paramètres codés du (des) réseau(x) de neurones sont stockés ou transmis avant le flux B2, afin de pouvoir être décodé(s) avant le flux B2.The B1 and B2 streams can be multiplexed and/or concatenated to produce a final stream. In one embodiment, the B3 stream of the coded segmentation and the B1 stream of the coded parameters of the neural network(s) are stored or transmitted before the B2 stream, so that they can be decoded before the B2 stream.
Il est à noter qu’un seul réseau de neurone NNSYN est utilisé pour le codage de chaque zone Zoj.It should be noted that only one NNSYN neural network is used for encoding each Zo j area.
La
Dans ce mode de réalisation, les cartes FMigénérées sont au nombre de 4. Dans un mode préféré, elles sont au nombre de 7.In this embodiment, there are 4 FM i cards generated. In a preferred mode, there are 7.
La première carte FM1a la même résolution que l’image I(Pn), et comporte donc WxH variables, où W représente la largeur de l’image en pixels, et H sa hauteur. La seconde carte FM2est de résolution moitié (dans chaque dimension) de la carte FM1. Chaque carte supplémentaire est de résolution moitié de la carte précédente. Cette structure permet de réduire le nombre de variables des cartes de caractéristiques ce qui facilite le codage et l’apprentissage tout en minimisant le coût de codage.The first FM map 1 has the same resolution as the image I(P n ), and therefore contains WxH variables, where W represents the image width in pixels, and H its height. The second FM map 2 has half the resolution (in each dimension) of the FM map 1. Each additional map has half the resolution of the previous map. This structure reduces the number of variables in the feature maps, which facilitates coding and learning while minimizing coding costs.
La carte FM2est suréchantillonnée par le module SE d’un facteur 2 dans chaque dimension, selon un procédé illustré à l’appui de la
Les cartes FMSirésultantes sont de même résolution que l’image I(Pn), et comportent donc chacune WxH valeurs, où W représente la largeur de l’image en pixels et H sa hauteur (N=WxH).The resulting FMS i maps are of the same resolution as the image I(P n ), and therefore each have WxH values, where W represents the width of the image in pixels and H its height (N=WxH).
D’autres types de structure sont possibles, par exemple on peut utiliser un taux de réduction différent d’un demi entre les cartes (un quart, ou un tiers, etc.).Other types of structure are possible, for example one can use a different reduction rate than half between the cards (a quarter, or a third, etc.).
Dans ce mode de réalisation, le vecteur Znest un 4-uplet (z1...z4) constitué des valeurs extraites des cartes FMSisituées aux coordonnées (xn, yn) du pixel courant Pn. Le vecteur Znconstitué des valeurs extraites (quantifiées) des cartes FMSiest traité par le réseau de neurones de synthèse NNSYN pour générer en sortie un second vecteur, selon l’exemple le vecteur de sortie est le triplet (R, G, B) du pixel P’ncodé puis décodé. Le triplet est inséré dans l’image décodée I(P’n) aux positions (xn, yn) des composantes couleur (R’, G’, B’).In this embodiment, the vector Z <sub>n</sub> is a 4-tuple (z <sub>1</sub> ...z <sub>4</sub> ) consisting of the values extracted from the FMS maps i located at the coordinates (x <sub>n</sub> , y <sub>n </sub>) of the current pixel P <sub>n</sub> . The vector Z <sub>n </sub>, consisting of the extracted (quantized) values from the FMS maps i, is processed by the NNSYN synthesis neural network to generate a second output vector. In this example, the output vector is the triplet (R, G, B) of the encoded and then decoded pixel P'<sub> n </sub>. The triplet is inserted into the decoded image I(P'<sub> n </sub>) at the positions (x <sub>n</sub> , y <sub>n</sub> ) of the color components (R', G', B').
Dans un autre mode de réalisation, non représenté, le vecteur Znest extrait directement des couches FMi, aux positions recalculées en fonction de la taille des cartes, puis les valeurs extraites sont éventuellement traitées et quantifiées après extraction.In another embodiment, not shown, the vector Z n is extracted directly from the FM i layers, at positions recalculated according to the size of the maps, then the extracted values are possibly processed and quantified after extraction.
La
Lors d’une étape F20, le flux B1, une partie du flux B2 (celle correspondante aux cartes de caractéristiques de la zone Zodj) et le flux B3 sont extraits du flux encodé. Ils contiennent respectivement des paramètres Wck, une segmentation Sgc et des représentations codées
Lors d’une étape F21, un masque de segmentation MZojest généré par décodage des valeurs de la segmentation encodée.During an F21 step, an MZo j segmentation mask is generated by decoding the values of the encoded segmentation.
Lors d’une étape F22, les M cartes
Selon des modes de réalisation tels que décrits pour le codeur :
- Les cartes
sont de même résolution que le signal I(Pdn) à reconstituer, c’est-à-dire qu’elles comportent N=WxH valeurs. - Les cartes
sont à une résolution inférieure ou égale à celle du signal I(Pdn) à reconstituer. - Plusieurs cartes
sont de même résolution, inférieure à la résolution du signal.
- The maps
are of the same resolution as the signal I(Pd n ) to be reconstructed, that is to say they have N=WxH values. - The maps
are at a resolution less than or equal to that of the signal I(Pd n ) to be reconstructed. - Several cards
are of the same resolution, lower than the resolution of the signal.
Lors d’une étape F23, selon un mode de réalisation, les M cartes du premier groupe
Selon un mode de réalisation, M cartes
Selon un mode de réalisation, chaque carte
Selon un mode de réalisation, au moins une carte
La transformation peut optionnellement comporter une quantification inverse des valeurs extraites, si nécessaire. Cependant la quantification inverse n’est pas obligatoire.The transformation may optionally include inverse quantization of the extracted values, if necessary. However, inverse quantization is not mandatory.
Lors d’une étape F24, des valeurs sont extraites par le module XTR’ des cartes
Dans un mode de réalisation, Zdnest un M-uplet (z1, z2,…, zJ), constitué des valeurs des cartes
Les échantillons à décoder sont par exemple traités par ordre séquentiel relativement au masque MZoj.The samples to be decoded are, for example, processed in sequential order relative to the MZo j mask.
Selon un mode de réalisation, lors d’une étape F35, un vecteur Zdnest construit par le module TT’ à partir des valeurs extraites des cartes
Lors d’une étape F26,les paramètres Wdkdu réseau de neurones de synthèse NNSYN’ sont générés par décodage des valeurs Wckdu flux B1. On peut utiliser à cette fin toute technique connue de décodage correspondant à celle de codage qui a été utilisée par le codeur. Le réseau de neurones de synthèse NNSYN’ est semblable au réseau de synthèse NNSYN, c’est-à-dire qu’il est de même structure et comporte les mêmes paramètres, au codage près, qui peut être réalisé avec ou sans pertes.During step F26 , the Wd k parameters of the NNSYN' synthesis neural network are generated by decoding the Wc k values of the B1 stream. Any known decoding technique corresponding to the encoding technique used by the encoder can be used for this purpose. The NNSYN' synthesis neural network is similar to the NNSYN synthesis network; that is, it has the same structure and parameters, except for the encoding, which can be performed with or without loss.
Selon un mode de réalisation, le flux B1 est décodé avant les flux B2 et B3, afin de pouvoir disposer du réseau de neurones de synthèse NNSYN’ avant de commencer à décoder les échantillons. De même, le flux B3 est décodé avant le flux B2 afin de disposer du masque de la zone à décoder avant de commencer à décoder les échantillons.In one embodiment, stream B1 is decoded before streams B2 and B3, so that the NNSYN’ synthesis neural network is available before decoding the samples. Similarly, stream B3 is decoded before stream B2 so that the mask of the region to be decoded is available before decoding the samples.
Lors d’une étape F27, le vecteur Zdnest traité par le réseau de neurones de synthèse NNSYN' pour générer en sortie un second vecteur représentatif de l’échantillon Pdnà décoder, selon un mode de réalisation un triplet qui est injecté dans l’image de la zone décodée Zodj(Pdn) aux positions (xn, yn) des composantes couleur (Rd, Gd, Bd). Cette étape est similaire à l’étape E28 qui a été décrite pour le codeur à l’appui de la
Lorsque tous les échantillons du signal ont été traités, le signal décodé correspondant par exemple à la zone Zodj(Pdn), est disponible.When all the signal samples have been processed, the decoded signal corresponding for example to the Zod j (Pd n ) zone is available.
Il est à noter qu’un seul réseau de neurone NNSYN’ est utilisé lors du décodage quelle que soit la zone Zodjdécodée.It should be noted that only one neural network NNSYN' is used during decoding regardless of the Zod j area being decoded.
La
Dans ce mode de réalisation, les cartes décodées
Dans ce mode de réalisation, les cartes décodées
Dans ce mode de réalisation, la première carte
La carte
Les cartes
Dans ce mode de réalisation, le vecteur Zdnest un 4-uplet (z1...z4) constitué des valeurs des cartes
La
Ces étapes constituent des sous-étapes de l’étape E30 décrite précédemment à l’appui de la figure 7. Elles ont pour but de coder une valeur courante Vnd’un point d’une zone caractéristique
Lors d’une sous-étape E301, un vecteur de voisinage Cnest établi, comprenant des valeurs voisines de la valeur Vn. Ces valeurs voisines peuvent être situées dans la même carte ou/et dans une carte différente de la pluralité M de cartes
Selon un premier mode de réalisation, ces valeurs sont utilisées pour déterminer le contexte d’un codeur entropique pour coder la valeur courante lors d’une étape E303. Ce codeur peut être un codeur de type CABAC (Context-adaptive binary arithmetic coding). Ce type de codeur est bien connu de l’homme du métier. Il est notamment utilisé dans la norme de compression vidéo H.265/HEVC. Il s'agit d'un codeur arithmétique dont la compression est sans perte. Il décompose tous les symboles non-binaires en symboles binaires. Puis, pour chaque bit, le codeur sélectionne le modèle de probabilité le plus adapté et utilise un contexte pour optimiser l'estimation de la probabilité. Ce contexte peut être défini par des informations des éléments voisins. Un codage arithmétique est ensuite appliqué pour compresser les données résultantes. Comme il est connu de l’homme du métier, il y a plusieurs façons d’utiliser le vecteur de voisinage pour produire une information de contexte. Par exemple, on peut compter le nombre de valeurs voisines différentes de zéro, et associer un contexte à chaque nombre. Alternativement, on peut effectuer des comparaisons entre plusieurs valeurs voisines, et associer un contexte donné à une configuration d’ordre entre les valeurs voisines, par exemple en classant les valeurs voisines par ordre croissant, et en associant un contexte à chaque ordre possible.According to a first embodiment, these values are used to determine the context of an entropy encoder to encode the current value during an E303 step. This encoder can be a CABAC (Context-Adaptive Binary Arithmetic Coding) encoder. This type of encoder is well known to those skilled in the art. It is notably used in the H.265/HEVC video compression standard. It is an arithmetic encoder with lossless compression. It decomposes all non-binary symbols into binary symbols. Then, for each bit, the encoder selects the most suitable probability model and uses a context to optimize the probability estimation. This context can be defined by information from neighboring elements. Arithmetic coding is then applied to compress the resulting data. As is known to those skilled in the art, there are several ways to use the neighborhood vector to produce context information. For example, one can count the number of neighboring values that are not zero and associate a context with each number. Alternatively, one can perform comparisons between several neighboring values and associate a given context with a configuration of order between the neighboring values, for example by ranking the neighboring values in ascending order and associating a context with each possible order.
Dans un deuxième mode de réalisation, le voisinage est utilisé pour prédire, au cours d’une étape E302,la valeur courante à partir d’un modèle autorégressif. On rappelle qu’un modèle autorégressif prédit un échantillon d’une série par ses valeurs passées. Dans ce mode, les valeurs passées sont constituées par le contexte, et la différence entre la variable prédite et la valeur réelle est quantifiée puis codée de manière entropique au cours de l’étape E303.In a second embodiment, the neighborhood is used to predict, during step E302 , the current value from an autoregressive model. Recall that an autoregressive model predicts a sample from a series based on its past values. In this embodiment, the past values are constituted by the context, and the difference between the predicted variable and the actual value is quantified and then entropically coded during step E303.
À l’issue du procédé, la valeur codée courante Vcnde la carte
La
Ces étapes constituent des sous-étapes de l’étape F22 décrite précédemment à l’appui de la figure 7. Elles ont pour but de décoder une valeur courante d’un point d’une zone caractéristique
Lors d’une sous-étape F221, un vecteur de voisinage Cdnest établi, comprenant des valeurs voisines de la valeur Vdn. Cette étape est similaire à l’étape E301 précédemment décrite et les mêmes modes de réalisation s’appliquent. Ce vecteur de voisinage est constitué d’un nombre C de valeurs, ou données, correspondant à des valeurs de voisinage (par exemple, C=10) situées dans la même carte ou/et dans une carte différente de la pluralité M de cartes d’un point d’une zone caractéristique
Selon un premier mode de réalisation, ces valeurs sont utilisées pour déterminer le contexte d’un décodeur entropique pour décoder la valeur courante lors d’une étape F223. Ce décodage est similaire à celui qui a été utilisé au codeur, par exemple CABAC. L’utilisation du voisinage pour produire une information de contexte est similaire à celle qui a été choisie au codeur. Par exemple, on peut compter le nombre de valeurs voisines différentes de zéro, et associer un contexte à chaque nombre. Alternativement, on peut effectuer des comparaisons entre plusieurs valeurs voisines, et associer un contexte donné à une configuration d’ordre entre les valeurs voisines, par exemple en classant les valeurs voisines par ordre croissant, et en associant à contexte à chaque ordre possible.According to a first embodiment, these values are used to determine the context of an entropy decoder for decoding the current value during an F223 step. This decoding is similar to that used in the encoder, for example, CABAC. The use of the neighborhood to produce context information is similar to that chosen for the encoder. For example, one can count the number of non-zero neighboring values and associate a context with each number. Alternatively, one can perform comparisons between several neighboring values and associate a given context with an ordering configuration among the neighboring values, for example, by sorting the neighboring values in ascending order and associating a context with each possible order.
Dans un deuxième mode de réalisation, le voisinage est utilisé pour prédire au cours d’une étape F222 la valeur courante à partir d’un modèle autorégressif. Dans ce mode, les valeurs passées sont constituées par le contexte, et la différence entre la variable prédite et la valeur réelle est quantifiée puis codée de manière entropique au cours de l’étape F223.In a second embodiment, the neighborhood is used to predict the current value from an autoregressive model during step F222. In this mode, the past values are constituted by the context, and the difference between the predicted variable and the actual value is quantified and then entropically coded during step F223.
À l’issue du procédé, la valeur décodée courante Vdnde la carte FMdien cours de traitement est décodée.At the end of the process, the current decoded value Vd n of the FMd i card being processed is decoded.
On notera par ailleurs que l’invention n’est pas limitée aux modes de réalisation décrits précédemment. Il apparaîtra en effet à l'homme de l'art que diverses modifications peuvent être apportées aux modes de réalisation décrits ci-dessus, à la lumière de l'enseignement qui vient de lui être divulgué.It should also be noted that the invention is not limited to the embodiments described above. Indeed, it will be apparent to those skilled in the art that various modifications can be made to the embodiments described above, in light of the information just disclosed to them.
Par exemple, les réseaux de neurones de synthèse NNSYN/NNSYN’ peuvent être des réseaux de neurones récurrents.For example, NNSYN/NNSYN’ synthetic neural networks can be recurrent neural networks.
Dans un autre exemple, les réseaux de neurones de synthèses peuvent être constitués d’un ou plusieurs réseau(x) de neurones convolutif(s), suivi d’un MLP et suivi encore d’un ou plusieurs réseau(x) de neurones convolutif(s), chacun des réseaux de neurones convolutifs étant associé à un noyau de convolution de taille prédéfinie, par exemple de taille 3x3. Dans ces exemples, l’obtention des vecteurs Zn/Zdnest adaptée à la topologie des réseaux de neurones de synthèse NNSYN/NNSYN’ de façon similaire à l’adaptation du vecteur d’entrée Vconprésentée en référence aux figures 4 à 6.In another example, synthetic neural networks can consist of one or more convolutional neural networks, followed by a multi-level programming (MLP) network, and then followed by one or more convolutional neural networks, each convolutional neural network being associated with a convolutional kernel of predefined size, for example, 3x3. In these examples, obtaining the vectors Z <sub>n</sub> /Z<sub>d </sub> is adapted to the topology of the synthetic neural networks NNSYN/NNSYN' in a similar way to adapting the input vector V<sub>co</sub> n shown with reference to Figures 4 to 6.
Dans la présentation détaillée de l’invention qui est faite précédemment, les termes utilisés ne doivent pas être interprétés comme limitant l’invention aux modes de réalisation exposés dans la présente description, mais doivent être interprétés pour y inclure tous les équivalents dont la prévision est à la portée de l'homme de l'art en appliquant ses connaissances générales à la mise en œuvre de l'enseignement qui vient de lui être divulgué.In the detailed presentation of the invention given above, the terms used shall not be interpreted as limiting the invention to the embodiments set forth in this description, but shall be interpreted as including all equivalents which can be foreseen by a person skilled in the art by applying their general knowledge to the implementation of the teaching which has just been disclosed to them.
Claims (14)
- l’obtention d’un premier groupe d’au moins une carte de valeurs latentes (FMi) représentatif dudit signal (I(Pn)),
- l’obtention d’un masque (MZoj) dans ledit signal (I(Pn)) de ladite zone à coder (Zoj),
- pour au moins un échantillon de ladite zone à coder (Zoj), dit échantillon courant (Pn), associé à une position (xn, yn) dans ledit signal (I(Pn)) à coder :
- la construction d’un vecteur caractéristique (Zn) à partir desdites cartes de valeurs latentes (FMi) dudit premier groupe, en fonction de ladite position (xn, yn) dudit échantillon courant (Pn),
- le traitement dudit vecteur caractéristique (Zn) par un réseau de neurones artificiels, dit réseau de neurones de synthèse (NNSYN), ledit réseau de neurones de synthèse étant défini par un ensemble de paramètres (Wk) et comprenant au moins une couche neuronale de synthèse (ck) pour obtenir, en sortie dudit réseau de neurone de synthèse, un vecteur (P’n) représentatif d’une valeur décodée de l’échantillon courant (Pn),
- la mise à jour d'au moins une valeur d’une desdites cartes de valeurs latentes dudit premier groupe et/ou d’au moins un paramètre dudit réseau de neurones de synthèse, en fonction d’une mesure de performance de codage,
- l’obtention d’un deuxième groupe de cartes de valeurs latentes représentatives d’au moins ladite zone à coder (Zoj) à partir dudit masque (MZoj),
- le codage du deuxième groupe de cartes de valeurs latentes (
), - le codage dudit masque (MZoj), et
- le codage dudit ensemble de paramètres (Wk) dudit réseau de neurones de synthèse.
- l’obtention d’une région caractéristique (Rj) de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque (MZoj), ladite région caractéristique (Rj) comprenant les points associés audit masque,
- pour au moins un point (Ptn) de ladite zone à décoder, dit point à décoder :
- l’obtention d’un point associé (Pan) audit point à décoder (Ptn) dans au moins une des cartes latentes d’entrée (CCE),
- l’évaluation d'un critère de proximité dudit point associé (Pan) par rapport à une frontière de ladite région caractéristique,
- la construction d’un vecteur d’entrée (Vcon) de ladite couche neuronale de synthèse à partir d’un voisinage dudit point associé (Pan) et de ladite évaluation dudit critère de proximité, et
- le traitement dudit vecteur d’entrée par ladite couche neuronale de synthèse pour obtenir un point (Psn) d’au moins une des cartes de sortie,
- obtaining a first group of at least one latent value map (FM i ) representative of said signal (I(P n )),
- obtaining a mask (MZo j ) in said signal (I(P n )) of said zone to be coded (Zo j ),
- for at least one sample of said zone to be coded (Zo j ), called current sample (P n ), associated with a position (x n , y n ) in said signal (I(P n )) to be coded:
- the construction of a characteristic vector (Z n ) from said latent value maps (FM i ) of said first group, as a function of said position (x n , y n ) of said current sample (P n ),
- the processing of said characteristic vector (Z n ) by an artificial neural network, called a synthetic neural network (NNSYN), said synthetic neural network being defined by a set of parameters (Wk) and comprising at least one synthetic neural layer (c k ) to obtain, at the output of said synthetic neural network, a vector (P' n ) representative of a decoded value of the current sample (P n ),
- the updating of at least one value of one of said latent value maps of said first group and/or of at least one parameter of said synthetic neural network, as a function of a coding performance measure,
- obtaining a second group of latent value maps representing at least said zone to be coded (Zo j ) from said mask (MZo j ),
- the encoding of the second group of latent value maps (
), - the encoding of said mask (MZo j ), and
- the coding of said set of parameters (W k ) of said synthetic neural network.
- obtaining a characteristic region (R j ) of said zone to be decoded in said input maps from said mask (MZo j ), said characteristic region (R j ) comprising the points associated with said mask,
- for at least one point (Pt n ) of said area to be decoded, called point to be decoded:
- obtaining an associated point (Pa n ) to the said point to be decoded (Pt n ) in at least one of the latent input maps (CCE),
- the evaluation of a proximity criterion of said associated point (Pa n ) with respect to a boundary of said characteristic region,
- the construction of an input vector (Vco n ) of said neural synthesis layer from a neighborhood of said associated point (Pa n ) and said evaluation of said proximity criterion, and
- the processing of said input vector by said neural synthesis layer to obtain a point (Ps n ) of at least one of the output maps,
- le décodage (F22) d’un groupe de cartes de valeurs latentes (
) représentatives de ladite zone à décoder (Zodj) dudit signal, - l’obtention (F20) d’un masque (MZoj) de ladite zone à décoder dans ledit signal (I(Pn)),
- le décodage (F26) d’un ensemble de paramètres (Wdk) représentatifs d’un réseau de neurones (NNSYN’), dit réseau de neurones de synthèse comprenant au moins une couche neuronale de synthèse,
- le traitement (F27) dudit groupe de cartes latentes décodées (
) par ledit réseau de neurone de synthèse (NNSYN’) pour produire en sortie dudit réseau de neurone de synthèse au moins ladite zone à décoder (Zodj), ledit traitement comportant l’application de ladite au moins une couche neuronale de synthèse pour transformer au moins un groupe de cartes latentes d’entrée (CCE), dite cartes d’entrée, en au moins un groupe de cartes latentes de sortie (CCS), dite cartes de sortie, ladite application comprenant l’obtention d’une région caractéristique (Rj) de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque (MZoj), ladite région caractéristique (Rj) comprenant les points associés à ladite zone à décoder (Zodj) et pour au moins un point (Ptn) de ladite zone à décoder, dit point à décoder, le traitement d’un point associé (Pan) audit point à décoder dans au moins une des cartes latentes d’entrée (CCE) par ladite couche neuronale en fonction de sa proximité d'une frontière de ladite région caractéristique.
- the decoding (F22) of a group of latent value maps (
) representative of said zone to be decoded (Zod j ) of said signal, - obtaining (F20) a mask (MZo j ) of said zone to be decoded in said signal (I(P n )),
- the decoding (F26) of a set of parameters (Wd k ) representative of a neural network (NNSYN'), called a synthetic neural network comprising at least one synthetic neural layer,
- the processing (F27) of said group of decoded latent maps (
) by said synthetic neural network (NNSYN') to produce at the output of said synthetic neural network at least said decoding area (Zod j ), said processing comprising the application of said at least one synthetic neural layer to transform at least one group of input latent maps (CCE), called input maps, into at least one group of output latent maps (CCS), called output maps, said application comprising obtaining a characteristic region (R j ) of said decoding area in said input maps from said mask (MZo j ), said characteristic region (R j ) comprising the points associated with said decoding area (Zod j ) and for at least one point (Pt n ) of said decoding area, called decoding point, the processing of an associated point (Pa n ) of said decoding point in at least one of the input latent maps (CCE) by said neural layer as a function of its proximity to a boundary of said characteristic region.
- l’obtention d’un point associé (Pan) audit point à décoder dans au moins une des cartes latentes d’entrée (CCE),
- l’évaluation d'un critère de proximité dudit point associé (Pan) par rapport à une frontière de ladite région caractéristique,
- la construction d’un vecteur d’entrée (Vcon) de ladite couche neuronale de synthèse à partir d’un voisinage dudit point associé (Pan) et de ladite évaluation dudit critère de proximité, et
- le traitement dudit vecteur d’entrée par ladite couche neuronale de synthèse pour obtenir un point (Psn) d’au moins une des cartes de sortie.
- obtaining an associated point (Pan) to be decoded in at least one of the latent input maps (CCE),
- the evaluation of a proximity criterion of said associated point (Pan) with respect to a boundary of said characteristic region,
- the construction of an input vector (Vcon) of said neural synthesis layer from a neighborhood of said associated point (Pan) and said evaluation of said proximity criterion, and
- the processing of said input vector by said neural synthesis layer to obtain a point (Psn) of at least one of the output maps.
- l’obtention d’un premier groupe d’au moins une carte de valeurs latentes (FMi) représentatif dudit signal (I(Pn)),
- l’obtention d’un masque (MZoj) dans ledit signal (I(Pn)) de ladite zone à coder (Zoj),
- pour au moins un échantillon de ladite zone à coder (Zoj), dit échantillon courant (Pn), associé à une position (xn, yn) dans ledit signal (I(Pn)) à coder :
- la construction d’un vecteur caractéristique (Zn) à partir desdites cartes de valeurs latentes (FMi) dudit premier groupe, en fonction de ladite position (xn, yn) dudit échantillon courant (Pn),
- le traitement dudit vecteur caractéristique (Zn) par un réseau de neurones artificiels, dit réseau de neurones de synthèse (NNSYN), ledit réseau de neurones de synthèse étant défini par un ensemble de paramètres (Wk) et comprenant au moins une couche neuronale de synthèse (ck) pour obtenir, en sortie dudit réseau de neurone de synthèse, un vecteur (P’n) représentatif d’une valeur décodée de l’échantillon courant (Pn),
- la mise à jour d'au moins une valeur d’une desdites cartes de valeurs latentes dudit premier groupe et/ou d’au moins un paramètre dudit réseau de neurones de synthèse, en fonction d’une mesure de performance de codage,
- l’obtention d’un deuxième groupe de cartes de valeurs latentes représentatives d’au moins ladite zone à coder (Zoj) à partir dudit masque (MZoj),
- le codage du deuxième groupe de cartes de valeurs latentes (
), - le codage dudit masque (MZoj), et
- le codage dudit ensemble de paramètres (Wk) dudit réseau de neurones de synthèse.
- l’obtention d’une région caractéristique (Rj) de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque (MZoj), ladite région caractéristique (Rj) comprenant les points associés audit masque,
- pour au moins un point (Ptn) de ladite zone à décoder, dit point à décoder :
- l’obtention d’un point associé (Pan) audit point à décoder (Ptn) dans au moins une des cartes latentes d’entrée (CCE),
- l’évaluation d'un critère de proximité dudit point associé (Pan) par rapport à une frontière de ladite région caractéristique,
- la construction d’un vecteur d’entrée (Vcon) de ladite couche neuronale de synthèse à partir d’un voisinage dudit point associé (Pan) et de ladite évaluation dudit critère de proximité, et
- le traitement dudit vecteur d’entrée par ladite couche neuronale de synthèse pour obtenir un point (Psn) d’au moins une des cartes de sortie,
- obtaining a first group of at least one latent value map (FM i ) representative of said signal (I(P n )),
- obtaining a mask (MZo j ) in said signal (I(P n )) of said zone to be coded (Zo j ),
- for at least one sample of said zone to be coded (Zo j ), called current sample (P n ), associated with a position (x n , y n ) in said signal (I(P n )) to be coded:
- the construction of a characteristic vector (Z n ) from said latent value maps (FM i ) of said first group, as a function of said position (x n , y n ) of said current sample (P n ),
- the processing of said characteristic vector (Z n ) by an artificial neural network, called a synthetic neural network (NNSYN), said synthetic neural network being defined by a set of parameters (Wk) and comprising at least one synthetic neural layer (c k ) to obtain, at the output of said synthetic neural network, a vector (P' n ) representative of a decoded value of the current sample (P n ),
- the updating of at least one value of one of said latent value maps of said first group and/or of at least one parameter of said synthetic neural network, as a function of a coding performance measure,
- obtaining a second group of latent value maps representing at least said zone to be coded (Zo j ) from said mask (MZo j ),
- the encoding of the second group of latent value maps (
), - the encoding of said mask (MZo j ), and
- the coding of said set of parameters (W k ) of said synthetic neural network.
- obtaining a characteristic region (R j ) of said zone to be decoded in said input maps from said mask (MZo j ), said characteristic region (R j ) comprising the points associated with said mask,
- for at least one point (Pt n ) of said area to be decoded, called point to be decoded:
- obtaining an associated point (Pa n ) to the said point to be decoded (Pt n ) in at least one of the latent input maps (CCE),
- the evaluation of a proximity criterion of said associated point (Pa n ) with respect to a boundary of said characteristic region,
- the construction of an input vector (Vco n ) of said neural synthesis layer from a neighborhood of said associated point (Pa n ) and said evaluation of said proximity criterion, and
- the processing of said input vector by said neural synthesis layer to obtain a point (Ps n ) of at least one of the output maps,
- le décodage d’un groupe de cartes de valeurs latentes (
) représentatives de ladite zone à décoder (Zodj) dudit signal, - l’obtention d’un masque (MZoj) de ladite zone à décoder dans ledit signal (I(Pn)),
- le décodage d’un ensemble de paramètres (Wdk) représentatifs d’un réseau de neurones (NNSYN’), dit réseau de neurones de synthèse comprenant au moins une couche neuronale de synthèse,
- le traitement dudit groupe de cartes latentes décodées (
) par ledit réseau de neurone de synthèse (NNSYN’) pour produire en sortie dudit réseau de neurone de synthèse au moins ladite zone à décoder (Zodj), ledit traitement comportant l’application de ladite au moins une couche neuronale de synthèse pour transformer au moins un groupe de cartes latentes d’entrée (CCE), dite cartes d’entrée, en au moins un groupe de cartes latentes de sortie (CCS), dite cartes de sortie, ladite application comprenant l’obtention d’une région caractéristique (Rj) de ladite zone à décoder dans lesdites cartes d’entrée à partir dudit masque (MZoj), ladite région caractéristique (Rj) comprenant les points associés à ladite zone à décoder (Zodj) et pour au moins un point (Ptn) de ladite zone à décoder, dit point à décoder, le traitement d’un point associé (Pan) audit point à décoder dans au moins une des cartes latentes d’entrée (CCE) par ladite couche neuronale en fonction de sa proximité d'une frontière de ladite région caractéristique.
- the decoding of a group of latent value maps (
) representative of said zone to be decoded (Zod j ) of said signal, - obtaining a mask (MZo j ) of said zone to be decoded in said signal (I(P n )),
- the decoding of a set of parameters (Wd k ) representative of a neural network (NNSYN'), called a synthetic neural network comprising at least one synthetic neural layer,
- the processing of said group of decoded latent maps (
) by said synthetic neural network (NNSYN') to produce at the output of said synthetic neural network at least said decoding area (Zod j ), said processing comprising the application of said at least one synthetic neural layer to transform at least one group of input latent maps (CCE), called input maps, into at least one group of output latent maps (CCS), called output maps, said application comprising obtaining a characteristic region (R j ) of said decoding area in said input maps from said mask (MZo j ), said characteristic region (R j ) comprising the points associated with said decoding area (Zod j ) and for at least one point (Pt n ) of said decoding area, called decoding point, the processing of an associated point (Pa n ) of said decoding point in at least one of the input latent maps (CCE) by said neural layer as a function of its proximity to a boundary of said characteristic region.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2406994A FR3164086A1 (en) | 2024-06-27 | 2024-06-27 | Method and device for encoding and decoding images |
| PCT/EP2025/068305 WO2026003294A1 (en) | 2024-06-27 | 2025-06-27 | Method and device for encoding and decoding a signal |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR2406994A FR3164086A1 (en) | 2024-06-27 | 2024-06-27 | Method and device for encoding and decoding images |
| FR2406994 | 2024-06-27 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| FR3164086A1 true FR3164086A1 (en) | 2026-01-02 |
Family
ID=92792110
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR2406994A Pending FR3164086A1 (en) | 2024-06-27 | 2024-06-27 | Method and device for encoding and decoding images |
Country Status (2)
| Country | Link |
|---|---|
| FR (1) | FR3164086A1 (en) |
| WO (1) | WO2026003294A1 (en) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2016259446A1 (en) * | 2012-04-13 | 2016-12-08 | Dolby Video Compression, Llc | Low delay picture coding |
| EP2984839B1 (en) * | 2013-04-08 | 2020-05-27 | GE Video Compression, LLC | Coding concept allowing efficient multi-view/layer coding |
| US20230353764A1 (en) * | 2020-12-24 | 2023-11-02 | Huawei Technologies Co., Ltd. | Method and apparatus for decoding with signaling of feature map data |
| FR3143245A1 (en) * | 2022-12-09 | 2024-06-14 | Orange | Method and device for coding and decoding images. |
-
2024
- 2024-06-27 FR FR2406994A patent/FR3164086A1/en active Pending
-
2025
- 2025-06-27 WO PCT/EP2025/068305 patent/WO2026003294A1/en active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2016259446A1 (en) * | 2012-04-13 | 2016-12-08 | Dolby Video Compression, Llc | Low delay picture coding |
| EP2984839B1 (en) * | 2013-04-08 | 2020-05-27 | GE Video Compression, LLC | Coding concept allowing efficient multi-view/layer coding |
| US20230353764A1 (en) * | 2020-12-24 | 2023-11-02 | Huawei Technologies Co., Ltd. | Method and apparatus for decoding with signaling of feature map data |
| FR3143245A1 (en) * | 2022-12-09 | 2024-06-14 | Orange | Method and device for coding and decoding images. |
Non-Patent Citations (1)
| Title |
|---|
| WANG SUHONG ET AL: "A Pixel-Level Segmentation-Synthesis Framework for Dynamic Texture Video Compression", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE, USA, vol. 32, no. 10, 26 April 2022 (2022-04-26), pages 7077 - 7091, XP011921715, ISSN: 1051-8215, [retrieved on 20220426], DOI: 10.1109/TCSVT.2022.3170543 * |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2026003294A1 (en) | 2026-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| FR3143245A1 (en) | Method and device for coding and decoding images. | |
| FR2755818A1 (en) | DIGITAL SIGNAL CODING BY DECOMPOSITION IN FREQUENCY SUB-BANDS AND VECTOR QUANTIFICATION IN FINISED STATES | |
| WO2024240496A1 (en) | Method and device for encoding and decoding images | |
| FR3164086A1 (en) | Method and device for encoding and decoding images | |
| FR3026261A1 (en) | METHOD FOR ENCODING AND DECODING INTEGRAL IMAGES, DEVICE FOR ENCODING AND DECODING INTEGRAL IMAGES, AND CORRESPONDING COMPUTER PROGRAMS | |
| EP3646597A1 (en) | Method for decoding an image, coding method, devices, terminal equipment and computer programs associated therewith | |
| FR3164087A1 (en) | Method and device for encoding and decoding images | |
| FR3164089A1 (en) | Method and device for encoding and decoding images | |
| FR3057130B1 (en) | METHOD OF ENCODING AN IMAGE, DECODING METHOD, DEVICES, TERMINAL EQUIPMENT AND COMPUTER PROGRAMS | |
| FR3164088A1 (en) | Method and device for encoding and decoding images | |
| WO2024260629A1 (en) | Method and device for coding and decoding image sequences | |
| WO2024260628A1 (en) | Method and device for encoding and decoding image sequences | |
| EP4630971A1 (en) | Method and device for encoding and decoding images | |
| FR3143247A1 (en) | Method and device for coding and decoding image sequences. | |
| FR3143246A1 (en) | Method and device for coding and decoding images. | |
| WO2024240497A1 (en) | Method and device for encoding and decoding images | |
| WO2025056651A1 (en) | Method and device for encoding and decoding image sequences | |
| WO2025261758A1 (en) | Coding and decoding methods, and corresponding devices and computer program | |
| WO2025261757A1 (en) | Encoding and decoding methods, corresponding devices and computer program | |
| WO2025120066A1 (en) | Method and device for the contextual encoding and decoding of image sequences | |
| WO2025261760A1 (en) | Encoding and decoding methods, corresponding devices and computer program | |
| FR3153177A1 (en) | Method and device for encoding and decoding images. | |
| WO2024008905A1 (en) | Encoding and decoding of audio and/or video data | |
| FR3098070A1 (en) | Video encoding and decoding method by signaling a candidate subset | |
| FR3064870A1 (en) | METHOD FOR DECODING AT LEAST ONE DIGITAL IMAGE, ENCODING METHOD, DEVICES, TERMINAL EQUIPMENT AND ASSOCIATED COMPUTER PROGRAMS |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PLFP | Fee payment |
Year of fee payment: 2 |
|
| PLSC | Publication of the preliminary search report |
Effective date: 20260102 |