WO2024260628A1 - Procédé et dispositif de codage et décodage de séquences d'images - Google Patents

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

Info

Publication number
WO2024260628A1
WO2024260628A1 PCT/EP2024/062652 EP2024062652W WO2024260628A1 WO 2024260628 A1 WO2024260628 A1 WO 2024260628A1 EP 2024062652 W EP2024062652 W EP 2024062652W WO 2024260628 A1 WO2024260628 A1 WO 2024260628A1
Authority
WO
WIPO (PCT)
Prior art keywords
current
maps
map
characteristic
image
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.)
Ceased
Application number
PCT/EP2024/062652
Other languages
English (en)
Inventor
Theo LADUNE
Pierrick Philippe
Gordon Clare
Félix Henry
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to EP24724527.7A priority Critical patent/EP4732241A1/fr
Priority to CN202480049704.XA priority patent/CN121605434A/zh
Priority to KR1020267001760A priority patent/KR20260025406A/ko
Publication of WO2024260628A1 publication Critical patent/WO2024260628A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the invention relates to the general field of coding digital image sequences. It relates more particularly to the compression of digital videos.
  • Digital videos are generally subject to source encoding aimed at compressing them in order to limit the resources required for their transmission and/or storage.
  • encoding standards such as the ITU/MPEG standards (H.264/AVC, H.265/HEVC, H.266/VVC, etc.) as well as their extensions (MVC, SVC, 3D-HEVC, etc.).
  • Encoding an image is generally performed by dividing the image into several rectangular blocks, and encoding these blocks of pixels according to a given processing sequence.
  • the processing of a block typically includes a prediction of the pixels of the block performed using previously coded and then decoded pixels present in the image being encoded, in which case we speak of “Intra prediction”, or previously coded images, in which case we speak of “Inter prediction”.
  • This exploitation of spatial and/or temporal redundancies makes it possible to avoid transmitting or storing the value of the pixels of each block of pixels, by representing at least some of the blocks by a residual representing a difference between the prediction values of the pixels of the block and the actual values of the pixels of the predicted block.
  • Autoencoders are learning algorithms based on artificial neural networks, which allow to construct a new representation of a data set.
  • the architecture of an autoencoder is made up of two parts: the encoder and the decoder.
  • the encoder is made up of a set of layers of neurons, which process the data in order to construct new representations called “encoded”, also called “latent representations”.
  • the layers of neurons of the decoder receive these representations and filter them in order to try to reconstruct the initial data.
  • the differences between the reconstructed data and the initial data make it possible to measure the error made by the autoencoder.
  • Training consists of modifying the parameters of the autoencoder in order to reduce the reconstruction error measured on the different samples of the data set.
  • the invention relates to a method for coding a plurality of images of an image sequence comprising the following steps for at least one current image to be coded: - a construction stage, comprising the following sub-stages: - construction of a set of current feature maps, representative of said at least one current image, comprising at least one current feature map; - construction of a set of reference feature maps, comprising at least one coded and then decoded reference feature map; - for at least one sample, called current sample, of said at least one current image, associated with a position in the current image: - construction of a characteristic vector from said at least one reference characteristic map and said at least one current characteristic map, as a function of said position of said current sample; - processing of said characteristic vector by an artificial neural network, called a synthetic neural network, defined by a set of parameters, to provide a vector representative of a decoded value of the current sample; - updating at least one value of said at least one current feature map and/or at least one parameter of said network, based on
  • the invention also relates to a method for decoding a sequence of images of a binary stream, comprising the following steps for at least one current image to be decoded: - decoding of a set of parameters representative of a synthetic neural network; - decoding a set of current feature maps comprising at least one current feature map representative of said at least one current image; - obtaining a set of reference feature maps, comprising at least one decoded reference feature map; - for at least one sample, called current sample, of said at least one current image to be decoded, associated with a position in the image: - construction of a characteristic vector from said at least one reference characteristic map and said at least one current characteristic map, as a function of said position of said current sample, and: - processing said vector by said synthesis neural network to provide a vector representative of a decoded value of said at least one current sample.
  • encoding means the operation which consists in representing a set of samples, or pixels, in a compact form carried for example by a digital bitstream.
  • Decoding means the operation which consists in processing a digital bitstream to restore decoded samples.
  • sequence of images is meant a plurality of ordered two-dimensional images, for example temporally in the case of a video.
  • the sequence corresponds to a scene.
  • the sequence corresponds to a set of predefined images, for example a fixed number, or, within the meaning of the MPEG standards, a GOP (Group Of Pictures) comprising the images located between two images of the Intra-image type, also called "intra period”.
  • the images can be views of the same scene represented in multi-views.
  • the images can be a plurality of temporal and multi-view images (immersive video).
  • At least one current image we mean a subsequence of at least one image of the sequence.
  • sample is a value taken from an image in the sequence. Sampling a signal produces a series of discrete values called samples.
  • the sample is called a pixel, which can be, for example, a color pixel traditionally represented by a triplet of values, for example (R,G,B) or (Y,U,V).
  • the position of the sample is identified by its abscissa (x) and ordinate (y) coordinates in the image.
  • feature map is meant a part of an abstract representation of an image, comprising a plurality of variable scalar data, also called characteristic values, for example real numbers, or integers, signed or unsigned.
  • the abstract representation of an image can therefore comprise several feature maps.
  • the abstract representation of an image can also correspond to a single feature map comprising a set of values associated with a position.
  • a current feature map concerns only the current subsequence.
  • feature vector constructed from feature maps as a function of a position is meant a vector consisting of one or more elements, or data, preferably discrete, the data being constructed from the feature maps at a position determined by that of the samples being processed in the images.
  • This feature vector is the one that is applied to the input of the synthesis neural network.
  • a vector can be constituted for example from a plurality of values taken from each of the feature maps at the same abscissa and ordinate coordinates as the subsequence of samples to be coded (resp. to be decoded).
  • neural network is meant a neural network such as a convolutional neural network, a multilayer perceptron, an LSTM (for "Long Short Term Memory”), etc.
  • 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 operation of non-linearity, etc.)
  • processing by a synthetic neural network is meant the application of a function expressed by a neural network to the input characteristic vector to produce an output vector representative of the subsequence of samples to be encoded (resp. decoded).
  • This output vector may include one or more data representative of the subsequence of samples.
  • performance measurement is meant a measurement between at least one value of a sample to be encoded and a decoded value of said sample.
  • the measurement can evaluate, for example, a distortion, or a perceptual error. It can be carried out on a sample or a plurality of samples (for example, the current samples, or the current images, etc.).
  • the measurement can also include a measurement of the flow rate, in particular associated with the coding of the neural network and/or the coding of the feature maps.
  • the measurement can be a joint measurement between the flow rate and the distortion through their weighting. As is well known in the state of the art, the value of this measurement is generally minimized until a target value is reached.
  • construction step is meant a step that aims to construct the representative parameters of the image, before their actual encoding.
  • the construction sub-steps can be repeated as many times as necessary to obtain an acceptable performance measure.
  • the steps of a coding or decoding method should not be interpreted as being linked to a notion of temporal succession. In other words, the steps may be carried out in a different order from that indicated in the independent coding or decoding claim, or even in parallel.
  • the coding method constructs the coding parameters, from a sequence of input images, by training a neural network on characteristic vectors associated with a position of a sample to be coded in one of the input images of a sub-sequence of images being processed.
  • the sub-sequence comprises at least one image.
  • These characteristic vectors are constructed from characteristic maps of the image itself, and reference characteristic maps of the sequence, representative of the images of the sequence.
  • the characteristic maps may be at the resolution of the input images, or at a lower resolution.
  • the parameters of the neural network and the values of the characteristic maps are updated according to a performance measurement, for example of the rate-distortion type.
  • the effective coding of the parameters of the neural network and the values of the current feature maps can be performed and stored or transmitted to the decoder.
  • the reference maps are stabilized and can be encoded and stored or transmitted to the decoder.
  • the training process makes it possible to refine the parameters of the synthesis neural network and/or the values of the feature maps until an adequate representation in terms of performance is obtained, for example a desired balance between the generated flow rate and the distortion undergone by the image or the subsequence of input images being encoded.
  • the training of the values of the feature maps and the parameters of the synthesis neural network can be joint.
  • the coding method according to the invention makes it possible to efficiently compress the signal.
  • the decoding method is simple since it suffices to decode the feature maps of the current image subsequence, the reference feature maps and the synthesis neural network to reconstruct a decoded version of the current subsequence.
  • the current maps dynamically capture the local characteristics of the current subsequence, since they are encoded (resp. decoded) as the sequence is processed.
  • the reference maps encoded (resp. decoded) only once for the sequence, capture the global characteristics of the sequence. We can thus benefit from both types of characteristics.
  • the current maps are used to generate the current image, and we can therefore design a transmission system that works image by image with low latency, each current image being decoded upon receipt of the associated current maps.
  • Such a synthetic neural network can advantageously be of very simple structure with few parameters.
  • decoding can be done by sequence of samples, in a progressive manner.
  • the coding method comprises a step of constructing and coding a group of reference characteristic maps representative of the sequence comprising said set of reference characteristic maps.
  • the decoding method further includes: - a step of decoding a group of reference characteristic maps representative of the sequence and - obtaining said set of reference feature maps from said group.
  • the group of reference maps is constructed and encoded by the encoder, and decoded by the decoder for the entire sequence. Then for each sub-sequence being processed, a part of the group of reference maps is considered to constitute the reference set used for the sub-sequence. It is thus possible to simplify the decoding by keeping a limited number of reference maps.
  • the set is smaller than the group. According to one embodiment, the set is equal to the group.
  • the method comprises a step of transforming said set of current and/or reference feature maps to obtain a set of feature maps transformed to the resolution of the input image, the method being characterized in that said feature vector is constructed from said transformed feature maps.
  • the feature maps are divided into two sets, one of which is reserved for the extraction of feature vectors and the other for coding. It is thus possible to dissociate the two processes whose purpose is different: the maps of the first group, to be coded (resp. decoded), must be compressed as efficiently as possible, while the maps of the second group, or transformed maps, must be able to facilitate the process of extracting and constructing the feature vector.
  • At least one of the current and/or reference feature maps has a lower resolution than the sub-sequence to be coded (resp. decoded) and the transformation operation includes oversampling.
  • the compression of the feature maps is more efficient since at least one of the current and/or reference feature maps to be coded (resp. decoded) includes fewer values than if it were at the resolution of the signal.
  • one of the current and/or reference feature maps may be at 1/2 resolution, i.e. it includes twice as many values on the abscissa and ordinate as the input image has samples, i.e.
  • the transformed feature map which corresponds to a transformation of this current and/or reference map, has the same resolution as the image.
  • the transformation therefore includes in this case at least one oversampling operation to obtain the same number of values in this transformed map as the input image (resp. to be decoded) has samples.
  • At least one of said current and/or reference feature maps has a resolution identical to that of the sub-sequence to be coded (resp. decoded).
  • at least one of the feature maps at the same resolution as the input signal to be coded (resp. decoded) allows significant fidelity and compliance with the details of the initial resolution of the image signal.
  • the transformation retains in this case the number of values of the transformed feature map; it can be reduced to identity (no processing is performed on the values of the current map) or include a filtering operation, quantization, a Fourier transformation, etc.
  • quantization is essential for the proper functioning of the system if the feature maps include, for example, floating point or real values. It is necessary to quantize them before coding them and/or providing them as input to the synthesis and/or prediction neural network. When decoding, however, inverse quantization is not necessary, depending on the embodiments.
  • the construction of the characteristic vector includes a sub-step of extracting a value from a current and/or reference characteristic map at a position identical to that of the current sample in the current image to be encoded or decoded.
  • a value from a characteristic map at the same position as the sample in the image is simple to implement.
  • NF NFM + NFR, where NFM represents the number of current characteristic maps, and NFR the number of reference characteristic maps), of the same resolution as the image, a simple extraction of the values of the maps at the coordinates of the current sample (at the same abscissa and the same coordinate in the characteristic map) makes it possible to directly construct the characteristic vector of J elements.
  • the construction of said characteristic vector comprises the following sub-steps: - extracting a plurality of values from said current and/or reference feature maps as a function of said position of said current sample; - processing of said extracted values to obtain the characteristic vector.
  • the characteristic vector is extracted from the characteristic maps, which can be arbitrary, and in particular at a resolution lower than that of the image to be coded (resp. decoded), before undergoing processing.
  • processing can for example correspond to a quantification of the extracted data, or to a scaling, or to a filtering, etc.
  • a quantification is essential for the proper functioning of the system if the characteristic maps include for example floating point or real values. It is necessary to quantify them before coding them and/or providing them as input to the synthesis and/or prediction neural network.
  • inverse quantification is not necessary, depending on the embodiments.
  • the method comprises a step of constructing a group of additional feature maps and the feature vector is further constructed from said feature maps.
  • these additional maps constructed identically to the encoder and the decoder, are neither stored nor transmitted at the encoder level, nor decoded at the decoder level. They thus make it possible to benefit from additional data to improve the compression without degrading the flow rate. They may for example comprise coordinates, causal data available in other maps, data concerning other images already processed by the encoder or decoder, etc.
  • - Said sets of reference and current feature maps contain the same number of feature maps; advantageously according to this mode, the sequence and the different sub-sequences of images of the sequence are associated with the same number of feature maps, which can moreover be of the same structure. For example, the sequence and the sub-sequences are associated with five feature maps having a hierarchy of decreasing resolutions. This facilitates the generation and extraction of the values of the feature maps to produce the feature vector.
  • said at least one reference map is at the same resolution as said at least one current map.
  • the construction of the characteristic vector is facilitated since the reference map is at the same resolution as the current map, it is very simple to perform the extraction of a value at the same position or at a position close to that of the value of the current map being encoded.
  • - Said at least one reference card is indicated in the bit stream.
  • a simple indicator coded in the stream allows the decoder to directly access the reference card(s) to be used for decoding the current image or subsequence, for example via an indicator of the number of the reference card in the group of reference cards.
  • the characteristic card(s) to be used for decoding the image or the current subsequence are predetermined.
  • the reference characteristic card is the one which has the same order number as the current card in the group of characteristic cards to which they respectively belong.
  • all the characteristic cards of the reference group serve as reference cards for the current card.
  • the (at least one) reference map is used not only for the construction of the characteristic vector, but also for the decoding (for example entropic) of a current map.
  • At least one current map is decoded according to at least one current map.
  • a current map already at least partially decoded can be used to more efficiently encode the current map being processed.
  • the invention also relates to a coding device and a decoding device.
  • the invention also relates to a computer program on a recording medium, this program being capable of being implemented in a computer or a coding or decoding device in accordance with the invention.
  • This program comprises instructions adapted to the implementation of the corresponding method.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
  • the invention also relates to a computer-readable information carrier or recording medium comprising computer program instructions mentioned above.
  • the information or recording media may be any entity or device capable of storing the programs.
  • the media may comprise a storage means, such as a ROM, for example a CD-ROM or a microelectronic circuit ROM, or a magnetic recording means, for example a floppy disk or a hard disk, a DNA sequence, or a flash memory.
  • the information or recording media may be transmissible media such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio link, by wireless optical link or by other means.
  • the program according to the invention can in particular be downloaded from an Internet-type network.
  • each information or recording medium may 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 method according to the invention.
  • the ENC coding device includes an INITc initialization module, responsible in particular for constructing and coding the group of reference maps of the sequence.
  • An image may represent a two-dimensional image and the sequence a plurality of two-dimensional images (video sequence, stereoscopic, multiscopic components, series of medical images, etc.).
  • the sequence is any succession of images, for example a GOP.
  • a coding module denoted ENCv comprises a GEN module for generating current feature maps, a REF module for obtaining reference feature maps, a SE transformation module, an XTR data extraction module, an MLP synthesis module corresponding to a synthesis artificial neural network, an NNC neural network coding module capable of coding the synthesis neural network, an FMC module for coding feature maps (which can also be used by the INITc module to code the reference maps), an EVAL module for evaluating a coding performance, and an MAJ update module.
  • the ENC encoding device may be implemented by means of an electronic device comprising a processor and a memory, not shown; each of the above-mentioned modules may then be realized by the cooperation of the processor and computer program instructions stored in the above-mentioned memory and designed to perform the functionalities of the module concerned, in particular as described below, when these instructions are executed by the processor.
  • the ENC encoding device of the receives as input a subsequence of at least one image to be encoded, denoted I(P Vn ), comprising a plurality of samples P Vn .
  • the index n indicates the pixel number in an image of N pixels.
  • an image of the sequence is represented by means of at least one two-dimensional representation, such as a matrix of pixels, each pixel comprising a vector of red (R), green (G), blue (B), or, alternatively, a luminance component and at least one chrominance component.
  • each pixel is defined by its abscissa and ordinate coordinates (x n and y n ) in the image.
  • the sequence is a sequence of grayscale images represented by means of a two-dimensional representation, such as a pixel matrix, each pixel comprising a grayscale component, or luminance.
  • the vector representing the pixel is reduced to a single component.
  • a subsequence is reduced to a single image.
  • the ENC encoder successively processes the current samples Pv n to be coded of the image.
  • a subsequence comprises at least two successive images.
  • the ENC encoder simultaneously processes the current samples Pv n to be coded of the successive images, considered as a subsequence of current samples.
  • a subsequence comprises a predefined number of successive images, for example 4.
  • the GEN feature map generation module is configured to generate a plurality of NFM current feature maps, denoted FMv i for the current subsequence v. These maps are called current feature maps. According to one embodiment, an optional module not shown may generate one or more additional maps, which will neither be encoded nor transmitted.
  • the REF module is configured to generate a plurality of NFR reference feature maps, denoted FRv j , for the sequence v, from a group of reference feature maps, corresponding to the sequence, to the number of NFRMAX.
  • NFR ⁇ NFRMAX.
  • the reference feature maps considered for the current subsequence are all those of the reference group, or are selected as a subset of the reference group. In the latter case, they can be predetermined or their reference can be encoded in the stream in the form of an indicator.
  • the set of current NFM maps and reference NFR maps is used by the current coding module ENCv to encode the subsequence Iv.
  • the number of feature maps used is therefore NFM+NFR.
  • the transformation SE module performs a transformation of the set of current and/or reference feature maps (FMv i , FRv j ) to generate a set of transformed feature maps (FMSv i , FRSv j ) at the same resolution as the input signal.
  • the optional SE module can perform a quantization of the data extracted from this set of NFM+NFR feature maps, or of the feature vector formed from these data.
  • the quantization of a value refers to the mapping of this value to a member of a discrete set of possible code symbols.
  • the set of possible code symbols can be made up of integer values, and the quantization system performs a simple rounding of a real value to an integer value.
  • the quantization consists of a multiplication by a given value and then a rounding. Then the SE module can perform a transformation of the values of at least one of the feature maps, for example an oversampling, an interpolation, a filtering, etc.
  • a transformed feature map is of the same resolution as the images of the input subsequence.
  • the feature maps which are coded can be of lower resolution than that of the images to be coded, while the transformed maps, which are used for the construction of the feature vectors, are at the same resolution as the sequence of images, which facilitates the extraction of the values.
  • the SE module is absent, in which case the values that will be used to construct the characteristic vector are extracted from the untransformed current and reference characteristic maps.
  • the XTR module performs an extraction of values in current and reference feature maps, optionally transformed, for a current sample or a subsequence of current samples Pv n to be encoded, according to its (their) coordinates in the input signal. For example, if one seeks to encode the sample or the subsequence of samples Pv n at the coordinates (x n , y n ) of an input image, the XTR module performs an extraction of values in maps at positions imposed by the coordinates (x n , y n ). In one embodiment, the extracted values constitute the feature vector Z n .
  • Z n is a J-tuple, that is to say that it comprises J elements, or data z i .
  • Z n comprises two sets of values: one (Zv n ) is extracted from the current feature maps of the subsequence v, and the other (Zr n ) is extracted from the reference feature maps.
  • the vector Z n of index n refers to the characteristic vector of the pixel or sequence of pixels P'v n .
  • J NFM + NFR.
  • the XTR module performs processing of the extracted values, to generate the vector Z n .
  • the XTR module can perform quantization of the data extracted from the set of feature maps.
  • the processing can include other operations, such as filtering, scaling, etc.
  • the SE module is not used and if the feature maps are at lower resolutions than the images of the sequence, the XTR module can take into account the coordinates of the values in the lower resolution maps.
  • At least one of the SE or XTR modules must perform a quantization of the values extracted from the current feature maps of the current subsequence.
  • the MLP module contains a synthesis neural network defined by K parameters W k , capable of processing the vector Z n , or J-Tuple, as input, to generate as output a vector representative of the sample or subsequence of samples Pv n to be coded of the current subsequence.
  • the synthesis neural network contains according to one embodiment an MLP, or Multi Layer Perceptron, consisting of an input layer adapted to the input format (the J-tuple), optionally one or more hidden layer(s), and an output layer adapted to the output format of the output vector, generally a vector comprising NC (number of components) elements for each sample.
  • NC is equal to 3 and the output vector is the triplet (R, G, B) of the pixel or pixels P'v n coded then decoded of the current subsequence.
  • the MLP module contains a convolutional neural network.
  • the NNC module performs the coding of the synthesis neural network of the current image or subsequence, in particular of its parameters Wv k.
  • the NNC module performs a coding simulation, followed by a decoding, intended for the evaluation module. Subsequently, it performs the effective coding of the parameters of the synthesis neural network Wv k .
  • the coded parameters of the current image or subsequence are denoted Wvc k .
  • the coding simulation can be identical to the effective coding, or produce an approximation thereof.
  • the INITc module generates and encodes the FR j maps, i.e. the values of the sequence characteristic maps.
  • the reference encoded maps are denoted FRc j .
  • all the (NFRMAX) maps of the sequence are constructed, then encoded and decoded so that they can be used as a reference for a subsequence to be encoded.
  • the reference maps are generated dynamically as the subsequences are encoded, in the same way as the current maps.
  • the encoding takes into account the neighborhood of a value to be encoded of the reference characteristic map, in the map itself and/or in another reference map.
  • the FMC module When coding the subsequences, the FMC module performs the coding of the FMv i maps, i.e. the values of the feature maps of the current subsequence (excluding the transformed maps, optionally resulting from oversampling or other transformation by the SE module). During the training or construction process of the coding, i.e. as long as the performance evaluation step is not satisfactory, the FMC module performs a coding simulation, followed by decoding, intended for the evaluation module. Subsequently, it performs the actual coding of the values of the FMv i maps and according to an embodiment, as explained above, of the reference maps.
  • the coded maps of the current subsequence are denoted FMcv i .
  • the coding simulation can be identical to the actual coding, or produce an approximation thereof.
  • the encoding module quantizes the latent representation of the card values if necessary by using a quantizer to generate an ordered collection of quantized values. Then the encoding module compresses the quantized data, for example by using an entropy encoder.
  • the neighboring position is selected in the map currently being coded (for example, the neighboring value at the top left of the one currently being coded).
  • this neighborhood is selected in another current map, at a neighboring position.
  • the neighborhood is selected in a reference map, at a neighboring position.
  • the neighborhood is selected from an encoded and decoded feature map corresponding to one or more subsequences v' of the sequence distinct from the current subsequence v, at a neighboring position, for example the previous subsequence in the sequence, or two past subsequences of the sequence, or a past and a future subsequence, to the extent that the decoding order of the sequence allows it (as is known, the decoding order may be different from the chronological order of the sequence). All these embodiments can be combined, i.e. the neighborhood can consist of values extracted from the current map, the current maps, the reference maps, and/or current maps of another subsequence.
  • the FMC module may comprise for this purpose a feature map prediction neural network whose parameters may be encoded and transmitted to the decoder, which takes as input a neighborhood vector consisting of the neighborhood values and produces as output a prediction of the current value of the feature map being encoded, which may be presented, in a known manner, in the form of a prediction value or probability data.
  • the EVAL module performs an evaluation and minimization of a coding performance.
  • the evaluation function is for example of the rate-distortion type.
  • the minimization can be carried out by a gradient descent, or any other method within the reach of a person skilled in the art.
  • the MAJ module performs an update of the values of the FMv i cards to be encoded of the current subsequence, based on the results of the performance function. According to one embodiment, it also performs an update of the values of the reference cards to be encoded of the sequence, based on the results of the performance function.
  • the current feature maps are stabilized, they can be encoded. In one embodiment, they are encoded using the reference maps.
  • the DEC coding device comprises an initialization module INITd, responsible in particular for decoding the group of reference cards of the SV sequence, denoted FRd j .
  • INITd initialization module
  • all the cards (NFRMAX) of the sequence are decoded in order to be able to be used as a reference for a sub-sequence to be decoded by the DECv module.
  • a current subsequence to be decoded v comprises at least one current image to be decoded denoted I(Pd Vn ), each image comprising respectively a plurality of samples.
  • the decoder DECv dedicated to the subsequence receives as input the data necessary to decode the subsequence.
  • the index n indicates the pixel number in an image of N pixels or a subsequence of images of N pixels.
  • the decoding submodule receives as input at least: - encoded data organized into NFM feature maps FMcv i (the encoded current feature maps); - the encoded parameters Wvc k of the synthesis neural network corresponding to the current subsequence, optionally the parameters of other neural networks such as an oversampling neural network, feature map prediction, etc.;
  • the DECv module obtains (for example, reads from the decoder memory) a set of reference feature maps, denoted FRdv j , from the group of reference maps FRd j.
  • the decoding module DEC v comprises, for a current sub-sequence, a neural network(s) decoding module NND capable of decoding the synthesis neural network MLP', a module FMD for decoding the current feature maps (which can also be used by the module INITd to decode the reference maps), a module REF' for obtaining reference feature maps, a data extraction module XTR', a module SE' for inverse transformation, a module MLP' corresponding to a synthesis neural network, optionally a module for generating additional feature maps. According to one embodiment, it produces as an output a current decoded sub-sequence, comprising at least one image denoted I (Pdv n ), comprising a plurality of samples or sequences of decoded samples Pdv n.
  • the FMD decoding module decompresses the quantized data, for example by using an entropy coder. According to one embodiment, it implements a decoding taking into account the neighborhood of a value to be decoded from the feature map. The embodiments proposed for the coder apply here by replacing the coding with a decoding of the values.
  • the neighborhood can be selected from a current map (including the one currently being decoded), a reference map, or a current map of a sequence distinct from the current subsequence.
  • the FMD module can comprise for this purpose a feature map prediction neural network, as described for the FMC module.
  • the maps decoded by the FMD module, numbering NFM, are denoted FMdv i (cards of current image characteristics).
  • the parameters of the synthetic neural network (MLP') decoded by the NND module are denoted Wdv k .
  • the REF' module is identical to that of the encoder and the same examples apply.
  • the reference feature maps considered for the current subsequence are all those of the reference group, or are selected as a subset of the reference group. In the latter case, they can be predetermined or their reference can be decoded in the stream in the form of an indicator.
  • the set of current NFM maps and reference NFR maps is used by the current decoding module to decode the current subsequence v.
  • the number of feature maps used is therefore NFM+NFR.
  • the decoder can also generate one or more additional maps, identical to the additional maps generated by the encoder for the current subsequence.
  • the transformation module SE' performs a transformation of the set of current and/or reference feature maps (FMdv i , FRdv j ) to generate a set of transformed feature maps (FMS'v i , FRS'v j ) at the same resolution as the input signal.
  • the SE' module is identical to the SE module of the .
  • the optional SE' module can perform an inverse quantization of the data extracted from this set of NFM+NFR feature maps. Then the SE' module can perform a transformation of the values of at least one of the feature maps, for example an oversampling, an interpolation, a filtering, etc.
  • a transformed feature map is of the same resolution as the images of the sub-sequence to be decoded.
  • the feature maps which are decoded can be of lower resolution than that of the images to be decoded, while the transformed maps, which are used for the construction of the feature vectors, are at the same resolution as the sequence of images, which facilitates the extraction of the values.
  • the SE' module is absent, in which case the values which will be used to construct the characteristic vector are extracted from the untransformed current and reference characteristic maps.
  • the XTR' module is identical to the XTR module of the . It performs an extraction of values in current and reference feature maps, for a current sample or a subsequence of current samples Pdv n to be decoded, according to its (their) coordinates in the input signal. For example, if one seeks to decode the sample or the subsequence of samples Pv n at the coordinates (x n , y n ) of an input image, the XTR' module performs an extraction of values in maps at positions imposed by the coordinates (x n , y n ). In one embodiment, the extracted values constitute the feature vector Zd n .
  • Zd n comprises two sets of values: one (Zdv n ) is extracted from the current feature maps of the subsequence v, and the other (Zdr n ) is extracted from the reference feature maps.
  • Zd n is a J-tuple, that is to say that it comprises J elements, or data zd i .
  • the XTR' module performs processing of the extracted values, to generate the vector Zd n .
  • the XTR' module can perform inverse quantization of the data extracted from the set of feature maps.
  • the processing can include other operations, such as filtering, scaling, etc.
  • the SE' module is not used and if the feature maps are at lower resolutions than the images of the sequence, the XTR' module can take into account the coordinates of the values in the lower resolution maps.
  • At least one of the SE' or XTR' modules must perform an inverse quantization of the values extracted from the current feature maps of the current subsequence, if a quantization has been performed at the encoder.
  • the MLP' module contains a so-called synthesis neural network, defined by K parameters Wd k , capable of processing the vector Zd n , or J-Uplet, as input, to generate as output a vector representative of the sample or subsequence of samples Pdv n to be decoded.
  • the synthesis neural network contains, according to one embodiment, an MLP, or Multi Layer Perceptron, consisting of an input layer adapted to the input format (the J-uplet), optionally one or more hidden layer(s), and an output layer adapted to the output format of the output vector, generally a vector comprising NC (number of components) elements for each sample. It can also comprise a convolution neural network.
  • K 3 and the output vector is the triplet (R, G, B) or (Y, U, V) of each decoded pixel Pd vn .
  • the MLP' module is identical in structure to the MLP module, and its parameters are either identical if the coding of its parameters W k is lossless, or different if the coding is done with losses.
  • the DEC decoding 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
  • the synthetic artificial neural network used for coding, MLP, and the synthetic artificial neural network used for decoding, MLP' are defined by an identical structure, comprising 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.
  • a vector representation of a current sample (a vector Z n or Zd n from the feature maps FMv i /FMSv i and FRv j / FRSv j at the encoder or FMdv i /FMS'v i and FRdv j / FRS'v j at the decoder) is applied as input (i.e. on an input layer) of the MLP or MLP' artificial neural network.
  • the input vector includes values from the current maps (Zv n ,Zdv n ) and values from the reference maps (Zr n ,Zdr n ).
  • the MLP/MLP' artificial neural network produces as output a plurality of vectors P' vn or Pd vn representative of the reconstructed samples (at coding) or decoded samples (at decoding), according to one embodiment the color components (R, G, B or Y, U, V) constituting the color pixels of the sub-sequence of images.
  • each subsequence of samples therefore comprises a single sample and the corresponding vector is noted P'1 n (at the encoder) or Pd 1n (at the decoder).
  • P'1 n at the encoder
  • Pd 1n at the decoder
  • the MLP synthesis artificial neural network is trained on the image, so as to minimize the differences between the input representation of the current subsequence I (Pv n ) and its output representation I (P'v n ), while also minimizing the amount of data to be encoded.
  • the EVAL module performs a performance measurement in this sense.
  • the MLP/MLP' artificial neural network produces as output a plurality of vectors P' vn or Pd vn representative of the reconstructed samples (at coding) or decoded samples (at decoding), according to one embodiment the color components (R, G, B or Y, U, V) constituting the color pixels of the sub-sequence of images.
  • a sample subsequence therefore comprises two samples and the two corresponding vectors (R, G, B) or (Y, U, V) are denoted P'1 n /Pd1 n .and P'2 n /Pd2 n.
  • the concatenation of all these reconstructed pixels in the two images constitutes the decoded, or reconstructed, subsequence.
  • 4 cards of features are presented (after having been possibly transformed by the SE/SE' module, then their characteristic vectors extracted by the XTR/XTR' module) at the input of the MLP synthesis network (resp. MLP') which synthesizes the samples of the coded (resp. decoded) images 2 and 3.
  • 6 cards of features are presented (after having been possibly transformed by the SE/SE' module, then their characteristic vectors extracted by the XTR/XTR' module) at the input of the MLP synthesis network (resp. MLP') which synthesizes the samples of the coded (resp. decoded) image number 4.
  • the current subsequence is a sequence of two-dimensional images, each sample subsequence to be encoded is therefore a set of pixels Pv n of coordinates (x n , y n ) in the respective images I(Pv n ) of the sequence to be encoded.
  • the current subsequence comprises a single image.
  • Encoding takes place in two main phases:
  • a first learning is carried out at the initialization step E0 to construct, code and decode a group of reference images FRc j of the sequence SV.
  • SV comprises a series of images, for example temporal images of a video sequence.
  • the images are multi-view or 3D components of a multi-view or 3D image or image sequence.
  • the images correspond to an Intra period or a GOP of a conventional video coder.
  • These maps can be inserted into the B1 stream after coding. According to one embodiment, these maps are generated before the processing of the subsequences. According to another embodiment, they are generated during the processing of the subsequences, by optimization, in the same way as the current feature maps.
  • the cost function can be of the rate-distortion, or rate, or distortion, or perceptual type.
  • the coding of the W k parameters is not simulated because their influence is less significant than that of the feature maps.
  • the coding of the parameters W k is also simulated and the associated flow rate (the size of the flow B2) is measured.
  • the distortion D it is necessary to simulate the coding and then the decoding of at least part of the image sequence, to obtain at least one sequence of pixels P'v n resulting from a simulation of coding and then decoding of the samples of index n, then to measure the difference between this sub-sequence of images I(Pv n ) at input and a corresponding part of the sequence I(P'v n ) coded and then decoded.
  • the FMv i maps and the W k parameters are encoded to produce the coded values FMcv i and Wcv k before transmission or storage. They constitute the compressed representation of the input sequence I(Pv n ).
  • an input sequence I(Pv n ) to be coded comprising at least one image comprising a plurality of N samples Pv n , is provided as input to the method.
  • NFM current and optionally reference feature maps are initialized. Subsequently, the parameters W k of the MLP neural network and the values of the maps must be optimized during the construction phase.
  • the feature maps are initialized by predefined constant values. According to another embodiment, the feature maps are initialized by a set of random real values. The feature maps are subsequently updated, or refined, during a step E22 , by the update module MAJ of the encoder during its learning.
  • NFR reference maps are obtained by the REF module, among the group of feature maps associated with the sequence.
  • reference feature maps of the same size as the current feature maps can be used.
  • Their reference can alternatively be encoded in the stream as an indicator.
  • the set of current NFM maps and reference NFR maps constitutes a set of feature maps for the MLP synthesis network.
  • the current and/or reference feature maps have the same resolution as the images of the input sequence I(Pv n ) and therefore each comprise the same number of values N as there are samples Pv n to be coded in each image.
  • the current and/or reference feature maps have a resolution less than or equal to that of the images of the input sequence I(Pv n ) and therefore comprise, for at least one of them, a number N' of values to be coded less than N.
  • the first current map (resp. reference map) is at the resolution of the images and each subsequent map is at a resolution half that of the previous one.
  • several maps have the same resolution, less than that of the images of the input sequence I(Pv n ).
  • the NFM maps of the set of current maps FMv i and/or the NFR reference maps FRv j are transformed by the module SE to generate transformed maps FMSv i / FRSv j at the resolution of the input images.
  • the characteristic vectors are preferably extracted from the transformed maps, and not directly from the current maps to be coded and/or the reference maps.
  • the transformed maps are neither stored nor transmitted, they are used only for the construction of the characteristic vectors.
  • one or more additional cards forming an additional group of additional feature maps, are generated, and complete the set of feature maps constituted. They are used for the construction of the feature vector but are neither stored nor transmitted.
  • NFM + NFR FMSv i / FRSv j maps are generated.
  • each FMv i map is transformed into a FMSv i map.
  • each reference FRv j map is transformed into a FRSv j map.
  • At least one FMv i / FRv j map has a lower resolution than the images of the sequence to be coded and the transformation operation includes oversampling so that the transformed map includes the same number of samples as the images of the sequence.
  • Oversampling consists of adding values to the FMSv i and/or FRSv j maps to achieve the resolution of the images of the input sequence. It can be simple (by replication of the nearest neighbor) or include interpolation (linear, polynomial, by filtering, etc.).
  • the transformation can include an oversampling neural network.
  • values are extracted by the XTR module: - current FMv i characteristic maps (or possibly transformed FMSv i , and optionally additional) . - reference characteristic maps FRv j . or possibly transformed FRSv j .
  • This extraction is performed based on the coordinates (x n , y n ) of the sample subsequence Pv n currents of the current subsequence. It can also be performed according to the resolution of the map considered.
  • the characteristic vector Z n results directly from this extraction.
  • the characteristic vector Z n is constructed by processing the extracted values.
  • the processing may include quantization of the extracted values or of the constructed vector Z n , if necessary.
  • the processing may include other operations, such as filtering, scaling, applying any function, preferably monotonic, etc.
  • Z n is a J-tuple constructed from values taken from the current and reference (and optionally additional) characteristic maps by applying the processing to one or more values of the maps, for example filtering values neighboring the targeted value in a map.
  • a map which is at half the resolution of the input signal one can consider the values located at the coordinates (x n /2, y n /2), (x n /2-1, y n /2), (x n /2, y n /2-1) and (x n /2-1, y n /2-1) and apply a processing to these values (filtering, averaging, interpolation, etc.) to obtain the final value (z i ) of the element i of the vector Zv n or Zr n relative to this current, reference (or additional) characteristic map.
  • Z n has as many values as there are input cards.
  • Z n is a J-tuple with values located at coordinates (x n , y n ) of a current pixel Pv n , as will be illustrated in support of the .
  • the vector Z n of index n refers to the characteristic vector of the pixel or sequence of pixels Pv n .
  • J NFM + NFR.
  • the vector Z n (zv 1 ... zv NFM , zr 1 ... zr NFR ) has two sets of values: one (Zv n ) is extracted from the current feature maps of subsequence v, and the other (Zr n ) is extracted from the reference feature maps.
  • it can include values from the additional maps.
  • Z n is a J-tuple constructed from values taken from the current and reference (and optionally additional) feature maps at coordinates that may be different across maps. For example, if the maps are at different resolutions, the coordinates are adapted (by scaling) to match the resolution of each map.
  • the vector Z n is processed by the MLP neural network to generate as output the subsequence of samples Pv n to be coded, according to one embodiment the triplets (R, G, B) of the samples P'v n (the samples Pv n coded then decoded) of the images of the subsequence.
  • the current FMv i maps are encoded by the FMC module of the encoder.
  • this operation is an encoding simulation.
  • this operation is an actual encoding and the encoded values constitute the stream B1.
  • the simulation may be identical to the actual encoding but it may also be different (for example, simplified).
  • any known technique for compressing the values of the maps may be used.
  • the reference maps are also encoded at this step.
  • the cards are encoded in order (FMv1, FMv2,..., FMv 4 ), and the variables of each card in a predefined order, for example lexicographic.
  • the reference cards are also encoded in order.
  • Each card undergoes entropy encoding. The entropy encoding produces a compressed stream B1 whose throughput is subsequently measured during a step E29.
  • a step E28 the parameters W k of the MLP neural network are quantized and coded.
  • this operation is a coding simulation.
  • this operation is an actual coding and the coded values constitute the stream B2.
  • the simulation can be identical to the actual coding 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 the MPEG-7 part 17 standard, also called NNR (Neural Network Representation). It should be noted that in this case, the amount of degradation that the coding brings to the parameters W k must be chosen.
  • the structure and the parameters W k of the neural network are initialized for example during the first iteration of this step. These parameters are subsequently updated, or refined, during the construction phase, during subsequent iterations of the method.
  • the parameters of the neural network are initialized by predefined values known to give a satisfactory result (for example, following training on a corpus of image sequences).
  • the parameters W k of the neural network are initialized by a set of random values.
  • a performance measure is evaluated .
  • the coding simulation rates associated with the feature maps (simulation of the B1 flow by coding the FMv i / FRv j maps) and optionally with the neural network parameters (simulation of the B2 flow by coding the W k parameters) are measured.
  • the cost function is of type rate-distortion, denoted (D+L*R), where D for example the squared error measured between the input images and the decoded images (or the error measured on a subset of samples of the images).
  • D is calculated from a perceptual function such as the SSIM (for Structural SIMilarity ), or MSSSIM (for Multi-scale Structural SIMilarity ).
  • R is the simulated rate of the stream B1; according to another embodiment, R is the total rate used to encode this image, i.e. the sum of the simulated rates of B1 and B2.
  • L is a parameter that adjusts the rate-distortion trade-off. Other cost functions are possible.
  • the method can be interrupted after a predefined time or a predefined number of iterations, so as to control its complexity or duration. This minimization can be carried out by a mechanism known as gradient descent with parameter updates during step E22 for the values of the feature maps and E27 for the network parameters.
  • an EF step if the cost function has reached its minimum, training stops. If an encoded version corresponding to the latest simulation of the neural network parameters and feature maps is available, streams B1 and B2 can be formed from it. According to another embodiment, the encoding effectively the updated neural network parameters and feature map values (FMv i ) is performed at this step to produce the encoded parameters Wc k and FMc i which constitute flows B1 and B2. According to one embodiment, the FRv cards I are encoded at the end of learning, when the entire sequence has been processed.
  • Streams B1 and B2 may be concatenated to produce a final stream.
  • stream B2 of encoded neural network parameters is stored or transmitted before stream B1, so that it can be decoded before stream B1.
  • the decoding described relates to a subsequence of images comprising at least one image of the sequence to be decoded, it is assumed that the group of reference maps of the sequence FRc j , has been decoded by the initialization module.
  • a technique for predicting a feature map value by its neighborhood is used, as has been described in support of the .
  • the reference cards are decoded in order, and the values of each card in a predefined order, for example lexicographically.
  • the streams B1 and B2 are extracted from the encoded stream. They contain respectively, for a current subsequence of the sequence, the coded representations of the current maps FMcv i , and of the parameters Wcv k of the neural network.
  • the NFM maps FMdv i of the current subsequence are generated by decoding the values FMcv i .
  • decoding entropic decoding is used for example.
  • a technique for predicting a feature map value by its neighborhood is used, as described in support of the .
  • the FMdv i cards are decoded in order (FMdv 1 , FMdv 2 ,... FMdv 4 ), and the values of each card in a predefined order, for example lexicographic.
  • NFR reference maps are obtained by the REF' module, among the group of feature maps associated with the sequence.
  • reference feature maps of the same size as the current feature maps can be used. Their reference can alternatively be encoded in the stream as an indicator.
  • the set of current NFM maps and reference NFR maps constitutes a set of feature maps for the synthesis network.
  • the current and/or reference feature maps have the same resolution as the sequence I (Pdv n ) to be reconstructed, i.e. they contain N values.
  • the current and/or reference feature maps are at a resolution lower than or equal to that of the subsequence I (Pdv n ) to be reconstructed.
  • the first current map (resp. reference map) is at the resolution of the images and each subsequent map is at a resolution half that of the previous one.
  • a step E33 the NFM cards of the set of current cards FMdv i and/or the NFR reference cards FRdv j are transformed by the module SE' to generate transformed cards FMS'v i / FRS'v j at the resolution of the images to be decoded.
  • This step is similar to step E24 which was described for the coder in support of the , and the embodiments apply.
  • step E24 which was described for the coder in support of the , and the embodiments apply.
  • NFM + NFR maps FMS'v i / FRS'v j are generated.
  • each FMdv i map is transformed into a FMS'v i map.
  • each FRdv j map is transformed into a FRS'v j map.
  • At least one FMdv i / FRdv j map has a lower resolution than the images to be decoded and the transformation operation includes oversampling so that the transformed map includes the same number of samples as the input image.
  • Oversampling consists of adding values to the FMS'v i and/or FRS'v j maps to achieve the resolution of the image to be decoded. It can be simple (by nearest neighbor replication) or include interpolation (linear, polynomial, by filtering, etc.).
  • the transformation can optionally include inverse quantization of the extracted values, if necessary. However, inverse quantization is not mandatory.
  • the transformation can include an oversampling neural network.
  • values are extracted by the XTR' module: - current FMdv i characteristic maps (or possibly transformed FMS'v i , and optionally additional) .
  • This extraction is performed based on the coordinates (x n , y n ) of the sample subsequence Pv n currents of the current subsequence. It can also be performed according to the resolution of the map considered. This step is similar to step E25 which was described for the coder in support of the , and the embodiments apply. In particular:
  • Zd n has as many values as there are input cards.
  • the characteristic vector Zd n is constructed by processing the extracted values.
  • the processing may include quantization of the extracted values or of the constructed vector Zd n , if necessary.
  • the processing may include other operations, such as filtering, scaling, application of any function, preferably monotonic, etc.
  • the examples cited for the encoder apply.
  • Zd n is a J-tuple with values located at coordinates (x n , y n ) of a current pixel Pdv n , as will be illustrated in support of the .
  • the vector Zd n of index n refers to the characteristic vector of the pixel or sequence of pixels Pdv n .
  • J NFM + NFR.
  • the vector Zd n (zdv 1 ...zdv NFM , zdr 1 ...zdr NFR ), has two sets of values: one (Zdv n ) is extracted from the current feature maps of subsequence v, and the other (Zdr n ) is extracted from the reference feature maps.
  • it can include values from the additional maps.
  • Zd n is a J-tuple constructed from values taken from the current and reference (and optionally additional) feature maps at coordinates that may be different across maps. For example, if the maps are at different resolutions, the coordinates are adapted (by scaling) to match the resolution of each map.
  • the parameters Wdv k of the MLP' synthesis neural network are generated by decoding the values Wcv k of the stream B2. Any known decoding technique corresponding to the coding technique used by the encoder can be used for this purpose.
  • the MLP' synthesis neural network is similar to the MLP synthesis network, i.e. it has the same structure and includes the same parameters, except for the coding, which can be performed with or without losses.
  • the characteristic vector Zd n is processed by the synthesis neural network MLP' to generate as output a vector representative of the sample or the subsequence of samples Pdv n to be decoded, according to one embodiment one or more triplets which are injected into the decoded image I (Pdv n ) at the positions (x n , y n ) of the color components (Rd, Gd, Bd).
  • This step is similar to step E26 which was described for the coder in support of the .
  • the B2 stream is decoded before the B1 stream (except for the reference maps), in order to have the MLP’ synthesis neural network before starting to decode the samples.
  • the current decoded cards FMdv i are 3 in number. In a preferred embodiment, they are 7 in number.
  • the first FMdv 1 card has the same resolution as the image I(Pdvn) to be decoded, and therefore comprises WxH variables, where W represents the width of the image in pixels, and H its height.
  • the second FMdv 2 card has half the resolution (in each dimension) of the FMdv 1 card.
  • Each additional card has half the resolution of the previous card.
  • the FMdv 2 card is oversampled by a factor of 2 by the SE' module in each dimension, according to any oversampling method within the reach of those skilled in the art.
  • the FMdv 3 card is oversampled by a factor of 4 in each dimension.
  • the decoded reference maps FRd j are 3 in number. In a preferred embodiment, they are 7 in number.
  • the first map FRd 1 has the same resolution as the image, and therefore comprises WxH variables, where W represents the width of the image in pixels, and H its height.
  • the second map FMd 2 has half the resolution (in each dimension) of the map FMd 1 .
  • Each additional map has half the resolution of the previous map. This structure makes it possible to reduce the number of variables of the characteristic maps, which facilitates decoding while minimizing the coding cost.
  • the FRd 2 map is oversampled by a factor of 2 in each dimension by the SE' module, according to any oversampling method within the reach of those skilled in the art.
  • the FRd 3 map is oversampled by a factor of 4 in each dimension.
  • the transformed maps FMS'v i and FRS'v j are of the same resolution as the image to be decoded, and therefore have WxH values, where W represents the width of the image in pixels, and H its height.
  • the vector Zd n is a 6-tuple (zv 3, zv 2, zv 1, zr 3 , zr 2 , zr 1 ) made up of the 3 values of the FMS’v cards i located at coordinates (x n , y n ) of the current pixel Pdv n .and the 3 values of the FRS’v cards I located at coordinates (x n , y n ) of the current pixel Pdv n .
  • the vector Zd n is optionally dequantized then processed by the MLP’ synthesis neural network to generate as output the triplets (R, G, B) representative of the Pdv samples n to be decoded.
  • the triplet (R, G, B) is inserted into each decoded image I (Pdv n ) of the subsequence v at the coordinates (x n , y n ) in the color components (Rd, Gd, Bd).
  • an additional card denoted FME' 0 has been introduced.
  • the vector Zd n is a 7-tuple.
  • This additional map typically contains data that can assist the MLP network in the task of image reconstruction.
  • the added maps can be one or more of the following list, but not limited to:
  • a map containing data representing the time difference between frames of the video being encoded For example, if the first and last frames of the video are 8 frames apart, all samples in the map contain the value 8.

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é et dispositif de codage et décodage d'une séquence d'images. Le procédé de décodage comporte les étapes suivantes : - décodage (E35) d'un ensemble de paramètres représentatifs d'un réseau de neurones de synthèse; - décodage (E31) d'un ensemble de cartes de caractéristiques courantes comprenant au moins une carte de caractéristiques courante représentative d'une image courante; - obtention (E32) d'un ensemble de cartes de caractéristiques de référence, comprenant au moins une carte décodée; - pour au moins un échantillon courant de ladite au moins une image courante, associé à une position dans l'image : - construction (E34) d'un vecteur caractéristique à partir de ladite carte de caractéristiques de référence et de ladite carte de caractéristiques courante, en fonction de ladite position dudit échantillon courant : - traitement (E37) dudit vecteur par ledit réseau de neurones de synthèse pour fournir un vecteur représentatif d'une valeur décodée de l'échantillon courant.

Description

Procédé et dispositif de codage et décodage de séquences d’images.
L’invention se rapporte au domaine général du codage de séquences d’images numériques. Elle concerne plus particulièrement la compression des vidéos numériques.
Les vidéos numériques font en général l’objet d’un codage source visant à les compresser afin de limiter les ressources nécessaires à leur transmission et/ou à leur stockage. Il existe de nombreux standards de codage, tels que les standards des organismes ITU/MPEG (H.264/AVC, H.265/HEVC, H.266/VVC, etc.) ainsi que leurs extensions (MVC, SVC, 3D-HEVC, etc.).
L’encodage d’une image est généralement effectué en divisant l’image en plusieurs blocs rectangulaires, et en encodant ces blocs de pixels selon une séquence de traitement donnée. Dans les techniques existantes de compression vidéo, le traitement d’un bloc comprend typiquement une prédiction des pixels du bloc effectuée à l’aide de pixels précédemment codés puis décodés présents dans l’image en cours d’encodage, auquel cas on parle de « prédiction Intra », ou d’images précédemment codées, auquel cas on parle de « prédiction Inter ». Cette exploitation des redondances spatiales et/ou temporelles permet d’éviter de transmettre ou de stocker la valeur des pixels de chaque bloc de pixels, en représentant certains au moins des blocs par un résiduel représentant une différence entre les valeurs de prédiction des pixels du bloc et les valeurs réelles des pixels du bloc prédit.
Les formats vidéo ne cessant d'évoluer pour compresser toujours davantage et s’adapter à la variété de formats attendus et des réseaux de communication, les possibilités de prédiction deviennent de plus en plus grandes et les algorithmes de codage et décodage classiques très complexes.
En plus de ces approches classiques proposées par les normes de compression (MPEG, ITU), les approches basées sur l’intelligence artificielle, et notamment neuronales, tendent à se développer.
Certaines de ces approches neuronales peuvent être vues comme une simple extension de la notion de compétition des techniques de compression susmentionnées, telles que la compétition de mode de prédiction et transformation en codage vidéo. 
D’autres approches utilisent le concept « d’auto-encodeur ». Les auto-encodeurs sont des algorithmes d’apprentissage à base de réseaux de neurones artificiels, qui permettent de construire une nouvelle représentation d’un jeu de données. L’architecture d’un auto-encodeur est constituée de deux parties : l’encodeur et le décodeur. L’encodeur est constitué par un ensemble de couches de neurones, qui traitent les données afin de construire de nouvelles représentations dites « encodées », appelées aussi « représentations latentes ». À leur tour, les couches de neurones du décodeur reçoivent ces représentations et les filtrent afin d’essayer de reconstruire les données de départ. Les différences entre les données reconstruites et les données initiales permettent de mesurer l’erreur commise par l’auto-encodeur. L’entraînement consiste à modifier les paramètres de l’auto-encodeur afin de réduire l’erreur de reconstruction mesurée sur les différents échantillons du jeu de données. Les performances de tels systèmes à base d'auto-encodeur se font au prix d'une augmentation considérable de l'empreinte mémoire et de la complexité comparativement aux approches conventionnelles telles que proposées par les normes de compression. Ils peuvent avoir des millions de paramètres et peuvent nécessiter jusqu'à un million de MAC (multiplication-accumulation) pour décoder un seul pixel. Cela rend de tels décodeurs bien plus complexes que les décodeurs conventionnels, ce qui pourrait entraver l'adoption de la compression basée sur l'apprentissage.
Plus récemment, une technique simple d’encodage d’image fondé sur un réseau de neurones a été décrite dans l’article «  COmpression with Implicit Neural representations » d’Émilien Dupont et al. (arXiv:2103.03123). La technique de codage proposée consiste à ajuster un réseau de neurones à une image, quantifier les poids du réseau et les transmettre. Au moment du décodage, le réseau de neurones est évalué à chaque position de pixel pour reconstruire l'image. Une telle technique reste cependant inefficace en termes de compression et suppose de coder indépendamment les images de la vidéo.
Dans le domaine de la vidéo, une technique équivalente a été présentée dans l'article « Scalable Neural Video Representations with Learnable Positional Features » (NeurIPS 2022) de Subin Kim et al. La dimension temporelle est prise en compte. L'algorithme de codage génère un ensemble de trois images clés latentes bidimensionnelles, sur chaque axe spatio-temporel, pour apprendre les images communes de la vidéo. Il génère aussi une grille de représentation 3D latente pour capturer les détails locaux de la vidéo. Cette représentation est utilisée pour moduler un réseau de neurones entraîné pour traiter les trois images clés. Cependant, une telle approche manque de flexibilité dans le choix de représentation des images clés (dont le nombre est fixé à 3) et de la grille 3D (figée pour l'ensemble de la séquence). Par ailleurs elle nécessite le traitement d’une grille 3D transmise, qui est à la fois lourde en quantité de données transmises et en mémoire requise pour son traitement.
Il existe donc un besoin pour une solution permettant de coder/compresser une séquence d’images de manière simple et efficace.
L’invention vise un procédé de codage d’une pluralité d’images d’une séquence d’images comportant les étapes suivantes pour au moins une image courante à coder :
- une étape de construction, comportant les sous-étapes suivantes :
- construction d’un ensemble de cartes de caractéristiques courantes, représentatives de ladite au moins une image courante, comprenant au moins une carte de caractéristiques courante ;
- construction d’un ensemble de cartes de caractéristiques de référence, comprenant au moins une carte de caractéristiques de référence codée puis décodée ;
- pour au moins un échantillon, dit échantillon courant, de ladite au moins une image courante, associé à une position dans l'image courante :
- construction d’un vecteur caractéristique à partir de ladite au moins une carte de caractéristiques de référence et de ladite au moins une carte de caractéristiques courante, en fonction de ladite position dudit échantillon courant ;
- traitement dudit vecteur caractéristique par un réseau de neurones artificiels, dit réseau de neurones de synthèse, défini par un ensemble de paramètres, pour fournir un vecteur représentatif d’une valeur décodée de l’échantillon courant ;
- mise à jour d'au moins une valeur de ladite au moins une carte de caractéristiques courante et/ou d’au moins un paramètre dudit réseau, en fonction d’une mesure de performance de codage ;
- une étape de codage dudit ensemble de cartes de caractéristiques courantes ;
- une étape de codage dudit ensemble de paramètres dudit réseau de neurones de synthèse.
L'invention vise aussi un procédé de décodage d’une séquence d’images d’un flux binaire, comportant les étapes suivantes pour au moins une image courante à décoder :
- décodage d’un ensemble de paramètres représentatifs d’un réseau de neurones de synthèse ;
- décodage d’un ensemble de cartes de caractéristiques courantes comprenant au moins une carte de caractéristiques courante représentative de ladite au moins une image courante ;
- obtention d’un ensemble de cartes de caractéristiques de référence, comprenant au moins une carte de caractéristiques de référence décodée ;
- pour au moins un échantillon, dit échantillon courant, de ladite au moins une image courante à décoder, associé à une position dans l'image :
- construction d’un vecteur caractéristique à partir de ladite au moins une carte de caractéristiques de référence et de ladite au moins une carte de caractéristiques courante, en fonction de ladite position dudit échantillon courant, et :
- traitement dudit vecteur par ledit réseau de neurones de synthèse pour fournir un vecteur représentatif d’une valeur décodée dudit au moins un échantillon courant.
Au sens de l’invention, on entend par encodage, ou « codage », l’opération qui consiste à représenter un ensemble d’échantillons, ou pixels, sous une forme compacte portée par exemple par un train binaire numérique. On entend par décodage l’opération qui consiste à traiter un train binaire numérique pour restituer des échantillons décodés.
Par « séquence d’images » on entend une pluralité d’images bidimensionnelles ordonnées, par exemple temporellement dans le cas d’une vidéo. Selon un exemple, la séquence correspond à une scène. Selon un exemple la séquence correspond à un ensemble d'images prédéfinies, par exemple un nombre fixe, ou, au sens des normes MPEG, un GOP (Group Of Pictures) comprenant les images situées entre deux images de type Intra-images, aussi appelé « période intra ». Selon un autre exemple, les images peuvent être des vues d’une même scène représentée en multivues. Selon un autre exemple, les images peuvent être une pluralité d’images temporelles et multivues (vidéo immersive).
Par « au moins une image courante » on entend une sous-séquence d'au moins une image de la séquence.
Par « échantillon », on entend une valeur prélevée dans une image de la séquence. L’échantillonnage d’un signal produit une suite de valeurs discrètes nommées échantillons. Dans le cas d’un signal d’image, l’échantillon prend le nom de pixel qui peut être par exemple un pixel couleur représenté traditionnellement par un triplet de valeurs, par exemple (R,G,B) ou (Y,U,V). La position de l’échantillon est repérée par ses coordonnées en abscisse (x) et ordonnée (y) dans l’image.
Par « carte de caractéristiques », on entend une partie d’une représentation abstraite d’une image, comportant une pluralité de données scalaires variables, que l’on appelle aussi valeurs caractéristiques, par exemple des nombres réels, ou des nombres entiers, signés ou non. La représentation abstraite d’une image peut donc comporter plusieurs cartes de caractéristiques. La représentation abstraite d'une image peut aussi correspondre à une seule carte de caractéristiques comprenant un ensemble de valeurs associées à une position.
Par carte de caractéristiques de référence, on entend une telle carte de caractéristiques obtenue pour l'ensemble des images de la séquence. Au contraire, une carte de caractéristiques courante ne concerne que la sous-séquence courante.
Par « vecteur caractéristique construit à partir des cartes de caractéristiques en fonction d’une position » on entend un vecteur constitué d’un ou plusieurs éléments, ou données, de préférence discrètes, les données étant construites à partir des cartes de caractéristiques à une position déterminée par celle des échantillons en cours de traitement dans les images. Ce vecteur caractéristique est celui qui est appliqué à l’entrée du réseau de neurones de synthèse. Dans le cas d’une image, un tel vecteur peut être constitué par exemple à partir d’une pluralité de valeurs prélevées dans chacune des cartes de caractéristiques aux mêmes coordonnées en abscisse et en ordonnée que la sous-séquence des échantillons à coder (resp. à décoder).
Par « réseau de neurones de synthèse », on entend un réseau neuronal tels un réseau neuronal convolutif, un perceptron multicouche, un LSTM (pour « Long Short Term Memory » en anglais), etc. Le réseau de neurones est défini par exemple par une pluralité de couches de neurones artificiels et par un ensemble de fonctions d'activation, de pondération et d’addition (par exemple, une couche peut calculer y = f(Ax+b), où y et b sont des vecteurs de dimension N, x un vecteur de dimension M, A est une matrice de dimension MxN, et f est la fonction d’activation).
Par « paramètre du réseau de neurones », on entend une des valeurs qui caractérise le réseau de neurones, par un exemple un poids associé à l’un des neurones (coefficient de filtre, pondération, biais, valeur affectant le fonctionnement de la non-linéarité, etc.)
Par « traitement par un réseau de neurones de synthèse  », on entend l’application d’une fonction exprimée par un réseau de neurones au vecteur caractéristique d’entrée pour produire un vecteur de sortie représentatif de la sous-séquence des échantillons à coder (resp. décoder). Ce vecteur de sortie peut comporter une ou plusieurs données représentatives de la sous-séquence des échantillons.
Par « mesure de performance », on entend une mesure entre au moins une valeur d’un échantillon à coder et une valeur décodée dudit échantillon. La mesure peut évaluer par exemple une distorsion, ou une erreur perceptive. Elle peut être effectuée sur un échantillon ou une pluralité d’échantillons (par exemple, les échantillons courants, ou les images courantes, etc.). La mesure peut comporter aussi une mesure du débit, notamment associé au codage du réseau de neurones et/ou au codage des cartes de caractéristiques. La mesure peut être une mesure conjointe entre le débit et la distorsion au travers de leur pondération. Comme il est bien connu de l’état de l’art, il est généralement procédé à une minimisation de la valeur de cette mesure jusqu’à atteindre une valeur cible.
Par « étape de construction », on entend une étape qui vise à construire les paramètres représentatifs de l’image, avant leur codage effectif. Les sous-étapes de construction peuvent être réitérées autant que nécessaire pour obtenir une mesure de performance acceptable.
De manière générale, on considère que les étapes d’un procédé de codage ou décodage ne doivent pas être interprétées comme étant liées à une notion de succession temporelle. Autrement dit, les étapes peuvent être effectuées dans un ordre différent de celui indiqué dans la revendication indépendante de codage ou de décodage, voire en parallèle.
Le procédé de codage selon l’invention réalise une construction des paramètres de codage, à partir d’une séquence d’images d’entrée, en entraînant un réseau de neurones sur des vecteurs caractéristiques associés à une position d’un échantillon à coder dans l’une des images d’entrée d'une sous-séquence d'images en cours de traitement. La sous-séquence comporte au moins une image. Ces vecteurs caractéristiques sont construits à partir de cartes de caractéristiques de l'image elle-même, et de cartes de caractéristiques de référence de la séquence, représentatives des images de la séquence. Les cartes de caractéristiques peuvent être à la résolution des images d’entrée, ou à une résolution inférieure. Au cours de l’entraînement, ou construction, les paramètres du réseau de neurones et les valeurs des cartes de caractéristiques sont mis à jour en fonction d’une mesure de performance, par exemple de type débit-distorsion. Lorsque l’entraînement est terminé, c’est-à-dire que la mesure de performance obtenue est satisfaisante, le codage effectif des paramètres du réseau de neurones et des valeurs des cartes de caractéristiques courantes peut être effectué et mémorisé ou transmis à destination du décodeur. Selon un mode de réalisation, lorsque toutes la séquence a été traitée, les cartes de référence sont stabilisées et peuvent être encodées et mémorisées ou transmises à destination du décodeur.
Avantageusement, le processus d’entraînement permet de raffiner les paramètres du réseau de neurones de synthèse et/ou les valeurs des cartes de caractéristiques jusqu’à obtenir une représentation adéquate en termes de performance, par exemple un équilibre souhaité entre le débit généré et la distorsion subie par l’image ou la sous-séquence d’images d’entrée en cours de codage. L’entraînement des valeurs des cartes de caractéristiques et des paramètres du réseau de neurones de synthèse peut être conjoint. Avantageusement, le procédé de codage selon l’invention permet de compresser efficacement le signal.
Avantageusement, le procédé de décodage est simple puisqu'il suffit de décoder les cartes de caractéristiques de la sous-séquence d'images courante, les cartes de caractéristiques de référence et le réseau de neurones de synthèse pour reconstituer une version décodée de la sous-séquence courante.
Avantageusement, les cartes courantes capturent de manière dynamique les caractéristiques locales de la sous-séquence courante, puisqu'elles sont codées (resp. décodées) au fur et à mesure du traitement de la séquence. Les cartes de référence, codées (resp. décodées) une seule fois pour la séquence, capturent les caractéristiques globales de la séquence. On peut ainsi bénéficier à la fois des deux types de caractéristiques. Par ailleurs, une fois les cartes de référence transmises et donc disponibles côté décodeur, les cartes courantes permettent de générer l’image courante, et on peut donc concevoir un système de transmission qui travaille image par image avec une faible latence, chaque image courante étant décodée dès réception des cartes courantes associées.
Un tel réseau de neurones de synthèse peut avantageusement être de structure très simple avec peu de paramètres.
De surcroît, le décodage peut être effectué par séquence d'échantillons, de manière progressive.
Selon des modes de réalisation du procédé de codage ou de décodage :
- Le procédé de codage comprend une étape de construction et codage d’un groupe de cartes de caractéristiques de référence représentatives de la séquence comprenant ledit ensemble de cartes de caractéristiques de référence .
- Le procédé de décodage comporte en outre :
- une étape de décodage d’un groupe de cartes de caractéristiques de référence représentatives de la séquence et
- obtention dudit ensemble de cartes de caractéristiques de référence à partir dudit groupe.
Avantageusement, le groupe de carte de références est construit et codé par le codeur, et décodé par le décodeur pour l'ensemble de la séquence. Puis pour chaque sous-séquence en cours de traitement, une partie du groupe de cartes de référence est considéré pour constituer l'ensemble de référence utilisé pour la sous-séquence. On peut ainsi simplifier le décodage en conservant un nombre restreint de cartes de référence. Selon un mode de réalisation, l'ensemble est plus petit que le groupe. Selon un mode de réalisation, l'ensemble est égal au groupe.
- Le procédé comporte une étape de transformation dudit ensemble de cartes de caractéristiques courantes et/ou de référence pour obtenir un ensemble de cartes de caractéristiques transformées à la résolution de l'image d’entrée, le procédé étant caractérisé en ce que ledit vecteur caractéristique est construit à partir desdites cartes de caractéristiques transformées. Avantageusement selon ce mode, les cartes de caractéristiques sont divisées en deux ensembles dont l’un est réservé à l’extraction des vecteurs caractéristiques et l’autre au codage. On peut ainsi dissocier les deux procédés dont la finalité est différente : les cartes du premier groupe, à coder (resp. décoder), doivent être compressées le plus efficacement possibles, alors que les cartes du second groupe, ou cartes transformées, doivent pouvoir faciliter le processus d’extraction et de construction du vecteur caractéristique.
– Selon une variante, une au moins des cartes de caractéristiques courantes et/ou de référence est de résolution inférieure à celle de la sous-séquence à coder (resp. décoder) et l’opération de transformation comporte un suréchantillonnage. Avantageusement selon ce mode, la compression des cartes de caractéristiques est plus efficace puisque l’une au moins des cartes de caractéristiques courantes et/ou de référence, à coder (resp. décoder), comporte moins de valeurs que si elle était à la résolution du signal. Par exemple, dans le cas d’une image numérique, l’une des cartes de caractéristiques courantes et/ou de référence peut être à la résolution 1/2, c’est-à-dire qu’elle comporte deux fois moins de valeurs en abscisse et en ordonnée que l’image d’entrée comporte d’échantillons, soit au total 4 fois moins de valeurs qu’une carte de caractéristiques à la résolution de l’image. En revanche, la carte de caractéristiques transformée, qui correspond à une transformation de cette carte courante et/ou de référence, est de résolution identique à celle de l'image. La transformation comporte donc dans ce cas au moins une opération de suréchantillonnage pour obtenir le même nombre de valeurs dans cette carte transformée que l'image d'entrée (resp. à décoder) comporte d’échantillons.
– Une au moins desdites cartes de caractéristiques courantes et/ou de référence est de résolution identique à celle de la sous-séquence à coder (resp. décoder). Avantageusement selon ce mode, l’une au moins des cartes de caractéristiques, à la même résolution que le signal d’entrée à coder (resp. à décoder) permet une fidélité importante et le respect des détails de la résolution initiale du signal d'image. La transformation selon un mode de réalisation conserve dans ce cas le nombre de valeurs de la carte de caractéristiques transformée ; elle peut être réduite à l’identité (aucun traitement n’est effectué sur les valeurs de la carte courante) ou comporter une opération de filtrage, de quantification, une transformation de Fourier, etc. Lors de l’étape de codage, une quantification est indispensable au bon fonctionnement du système si les cartes de caractéristiques comportent par exemple des valeurs flottantes, ou réelles. Il est nécessaire de les quantifier avant de les coder et/ou de les fournir en entrée du réseau de neurones de synthèse et/ou de prédiction. Au décodage en revanche, la quantification inverse n’est pas nécessaire, selon les modes de réalisation.
- La construction du vecteur caractéristique comporte une sous-étape d’extraction d’une valeur d’une carte de caractéristiques courante et/ou de référence à une position identique à celle de l’échantillon courant dans l'image courante à coder ou décoder. Avantageusement, il est possible d’extraire une valeur d’une carte de caractéristiques à la même position que l’échantillon dans l'image, pour constituer un élément du vecteur caractéristique. Ce procédé est simple à mettre en œuvre. Par exemple, si l’on dispose de NF cartes de caractéristiques en entrée (NF= NFM + NFR, où NFM représente le nombre de cartes de caractéristiques courantes, et NFR le nombre de cartes de caractéristiques de référence), de même résolution que l'image, une simple extraction des valeurs des cartes aux coordonnées de l’échantillon courant (à la même abscisse et la même coordonnée dans la carte de caractéristiques) permet de construire directement le vecteur caractéristique de J éléments.
- La construction dudit vecteur caractéristique comporte les sous-étapes suivantes :
- extraction d’une pluralité de valeurs  desdites cartes de caractéristiques courantes et/ou de référence en fonction de ladite position dudit échantillon courant ;
- traitement desdites valeurs extraites pour obtenir le vecteur caractéristique.
Avantageusement selon ce mode, le vecteur caractéristique est extrait des cartes de caractéristiques, qui peuvent être quelconques, et notamment à une résolution inférieure à celle de l'image à coder (resp. décoder), avant de subir un traitement. Un tel traitement peut par exemple correspondre à une quantification des données extraites, ou à une mise à l’échelle, ou à un filtrage, etc. Au codage, une quantification est indispensable au bon fonctionnement du système si les cartes de caractéristiques comportent par exemple des valeurs flottantes, ou réelles. Il est nécessaire de les quantifier avant de les coder et/ou de les fournir en entrée du réseau de neurones de synthèse et/ou de prédiction. Au décodage en revanche, la quantification inverse n’est pas nécessaire, selon les modes de réalisation.
- Le procédé comporte une étape de construction d’un groupe de cartes de caractéristiques supplémentaires et le vecteur caractéristique est en outre construit à partir desdites cartes de caractéristiques. Avantageusement, ces cartes supplémentaires, construites de manière identique au codeur et au décodeur, ne sont ni stockées, ni transmises au niveau du codeur, ni décodées au niveau du décodeur. Elles permettent ainsi de bénéficier de données supplémentaires pour améliorer la compression sans dégrader le débit. Elles peuvent par exemple comprendre des coordonnées, des données causales disponibles dans d'autres cartes, des données concernant d’autres images déjà traitées par le codeur ou décodeur, etc.
- Lesdits ensembles de cartes de caractéristiques de référence et courantes contiennent le même nombre de cartes de caractéristiques ; avantageusement selon ce mode, la séquence et les différentes sous séquences d'images de la séquence sont associées au même nombre de cartes de caractéristiques, qui peuvent de surcroît être de même structure. Par exemple, la séquence et les sous-séquences sont associées à cinq cartes de caractéristiques présentant une hiérarchie de résolutions décroissantes. Ceci facilite la génération et l'extraction des valeurs des cartes de caractéristiques pour produire le vecteur caractéristique.
- Ladite au moins une carte de référence est à la même résolution que ladite au moins une carte courante. Avantageusement selon ce mode, la construction du vecteur caractéristique est facilitée puisque la carte de référence est à la même résolution que la carte courante, il est très simple de réaliser l'extraction d'une valeur à la même position ou à une position proche de celle de la valeur de la carte courante en cours de codage.
- Ladite au moins une carte de référence est indiquée dans le flux binaire. Avantageusement selon ce mode, un simple indicateur codé dans le flux permet au décodeur d'accéder directement à la ou les cartes de référence à utiliser pour le décodage de l'image ou la sous-séquence courante, par exemple via un indicateur du numéro de la carte de référence dans le groupe de cartes de référence.
- Ladite au moins au moins une carte de référence est prédéterminée. Avantageusement selon ce mode, la ou des cartes de caractéristiques à utiliser pour le décodage de l'image ou la sous-séquence courante sont prédéterminées. Par exemple la carte de caractéristiques de référence est celle qui comporte le même numéro d'ordre que la carte courante dans le groupe de cartes de caractéristiques auxquelles elles appartiennent respectivement. Selon un autre exemple, toutes les cartes de caractéristiques du groupe de référence servent de cartes de référence pour la carte courante.
- Ladite au moins une carte courante est décodée en fonction de ladite au moins une carte de référence. Avantageusement selon ce mode, la (au moins une) carte de référence est utilisée non seulement pour la construction du vecteur caractéristique, mais aussi pour le décodage (par exemple entropique) d'une carte courante.
- Ladite au moins une carte courante est décodée en fonction d'au moins une carte courante. Avantageusement selon ce mode, une carte courante déjà au moins partiellement décodée peut être utilisée pour coder plus efficacement la carte courante en cours de traitement.
Corrélativement, l’invention vise aussi un dispositif de codage et un dispositif de décodage.
Les caractéristiques et avantages du procédé de codage ou décodage s’appliquent de la même façon au dispositif de codage ou décodage selon l’invention et vice versa.
L’invention vise également un programme d’ordinateur sur un support d’enregistrement, ce programme étant susceptible d’être mis en œuvre dans un ordinateur ou un dispositif de codage ou de décodage conforme à l’invention. Ce programme comporte des instructions adaptées à la mise en œuvre du procédé correspondant. Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
L’invention vise aussi un support d'information ou un support d’enregistrement lisible par un ordinateur, et comportant des instructions de programme d'ordinateur mentionné ci-dessus. Les supports d'information ou d’enregistrement peuvent être n'importe quel entité ou dispositif capable de stocker les programmes. Par exemple, les supports peuvent comporter un moyen de stockage, tel qu'une ROM, par exemple un CD-ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette ou un disque dur, une séquence d’ADN, ou une mémoire flash. D'autre part, les supports d'information ou d’enregistrement peuvent être des supports transmissibles tels qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par lien radio, par lien optique sans fil ou par d'autres moyens.
Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, chaque support d'informations ou d’enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution d’un procédé conforme à l’invention.
D’autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif.
la représente schématiquement un dispositif de codage utilisé dans le cadre de l’invention ;
la représente schématiquement un dispositif de décodage utilisé dans le cadre de l’invention ;
la illustre un exemple de réseau de neurones artificiels de synthèse utilisé dans un mode de réalisation de l’invention ;
la illustre un exemple de réseau de neurones artificiels de synthèse utilisé dans un autre mode de réalisation de l’invention ;
La illustre un exemple sélection de cartes de référence utilisé dans le cadre de l’invention ;
la est un logigramme représentant un exemple de procédé de codage qui peut être mis en œuvre par le dispositif de codage de la  ;
la est un logigramme représentant un exemple de procédé de décodage qui peut être mis en œuvre par le dispositif de décodage de la  ;
la représente de manière illustrée un procédé de décodage utilisé dans un mode de réalisation de l’invention.
La représente schématiquement un dispositif de codage de séquences d’images numériques ENC.
Le dispositif de codage ENC comprend un module INITc d'initialisation, chargé notamment de construire et coder le groupe de cartes de références de la séquence.
Une image peut représenter une image bidimensionnelle et la séquence une pluralité d’images bidimensionnelles (séquence vidéo, composantes stéréoscopiques, multiscopiques, série d’images médicales, etc.). La séquence est une succession quelconques d'images, par exemple un GOP.
Pour une sous-séquence courante à coder v, comprenant au moins une image courante, un module de codage noté ENCv comprend un module GEN de génération de cartes de caractéristiques courantes, un module REF d'obtention de cartes de caractéristiques de référence, un module SE de transformation, un module XTR d’extraction de données, un module MLP de synthèse 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 (qui peut être utilisé également par le module INITc pour coder les cartes de référence), un module EVAL d’évaluation d’une performance de codage, un module MAJ de mise à jour.
Le dispositif de codage ENC peut être mis en œuvre au moyen d’un dispositif électronique comprenant un processeur et une mémoire, non représentés ; chacun des modules mentionnés ci-dessus peut alors être réalisé par la coopération du processeur et d’instructions de programme d’ordinateur mémorisées dans la mémoire susmentionnée et conçues pour effectuer les fonctionnalités du module concerné, notamment comme décrit ci-dessous, lorsque ces instructions sont exécutées par le processeur.
Le dispositif de codage ENC de la reçoit en entrée une sous-séquence d'au moins une image à coder, notée I(PVn), comportant une pluralité d'échantillons PVn. L'indice v indique le ou les numéro(s) d'image(s) de la sous-séquence dans la séquence de V images (par exemple, v=3, ou v= {2,3,4}). L'indice n indique le numéro de pixel dans une image de N pixels. Dans un mode de réalisation, une image de la séquence est représentée au moyen d’au moins une représentation bidimensionnelle, telle qu’une matrice de pixels, chaque pixel comportant un vecteur de composantes rouge (R), verte (G), bleue (B), ou, en variante, une composante de luminance et au moins une composante de chrominance. L'emplacement de chaque pixel est défini par ses coordonnées en abscisse et ordonnée (xn et yn) dans l'image. Dans un mode de réalisation, la séquence est une séquence d’images en niveau de gris représentées au moyen d’une représentation bidimensionnelle, telle qu’une matrice de pixels, chaque pixel comportant une composante de niveaux de gris, ou luminance. Dans ce cas le vecteur représentatif du pixel est réduit à une seule composante. Dans un mode de réalisation, une sous-séquence est réduite à une seule image. Dans ce cas le codeur ENC traite successivement les échantillons courants Pvn à coder de l’image. Dans un mode de réalisation, une sous-séquence comporte au moins deux images successives. Dans ce cas le codeur ENC traite simultanément les échantillons courants Pvn à coder des images successives, considérés comme une sous-séquence d’échantillons courants. Dans un mode de réalisation, une sous-séquence comporte un nombre prédéfini d’images successives, par exemple 4.
Comme cela sera décrit plus en détail plus loin en référence aux figures 3 à 7 :
Le module GEN de génération de cartes de caractéristiques est configuré pour générer une pluralité de NFM cartes de caractéristiques courantes, notées FMvipour la sous-séquence courante v. Ces cartes sont nommées cartes de caractéristiques courantes. Selon un mode de réalisation, un module facultatif non représenté peut générer une ou plusieurs cartes supplémentaires, qui ne seront ni codées ni transmises.
Le module REF est configuré pour générer une pluralité de NFR cartes de caractéristiques de référence, notées FRvj, pour la séquence v, à partir d'un groupe de cartes de caractéristiques de référence, correspondant à la séquence, au nombre de NFRMAX. On a donc NFR <= NFRMAX. Par exemple, les cartes de caractéristiques de référence considérées pour la sous-séquence en cours sont toutes celles du groupe de référence, ou sont sélectionnées comme un sous-ensemble du groupe de référence. Dans ce dernier cas, elles peuvent être prédéterminées ou leur référence peut être codée dans le flux sous forme d'un indicateur.
L’ensemble des NFM cartes courantes et des NFR cartes de référence est utilisé par le module de codage courant ENCv pour coder la sous-séquence Iv. Le nombre de cartes de caractéristiques utilisées est donc de NFM+ NFR.
Dans un mode de réalisation, le module SE de transformation réalise une transformation de l'ensemble de cartes de caractéristiques courantes et/ou de référence (FMvi, FRvj) pour générer un ensemble de cartes de caractéristiques transformées (FMSvi, FRSvj) à la même résolution que le signal d’entrée.
Le module SE, optionnel, peut réaliser une quantification des données extraites de cet ensemble de NFM+NFR cartes de caractéristiques, ou du vecteur caractéristique constitué à partir de ces données. On rappelle que la quantification d'une valeur fait référence à la mise en correspondance de cette valeur avec un membre d'un ensemble discret de symboles de code possibles. Par exemple, l'ensemble de symboles de code possibles peut être constitué de valeurs entières, et le système de quantification réalise un simple arrondi d’une valeur réelle à une valeur entière. Selon un autre exemple, la quantification consiste en une multiplication par une valeur donnée puis un arrondi. Puis le module SE peut effectuer 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 est de même résolution que les images de la sous-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 transformées, 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.
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 des cartes de caractéristiques courantes et de référence non transformées.
Le module XTR réalise une extraction de valeurs dans des cartes de caractéristiques courantes et de référence, optionnellement transformées, pour un échantillon courant ou une sous-séquence d’échantillons courants Pvn à coder, en fonction de ses (leurs) coordonnées dans le signal d’entrée. Par exemple, si l’on cherche à coder l’échantillon ou la sous-séquence d'échantillons Pvn aux coordonnées (xn, yn) d’une image d’entrée, le module XTR réalise une extraction de valeurs dans des cartes à des positions imposées par les coordonnées (xn, yn). Dans un mode de réalisation, les valeurs extraites constituent le vecteur caractéristique Zn. Zn est un J-uplet, c’est-à-dire qu’il comporte J éléments, ou données zi. Zn comporte deux ensembles de valeurs : l'un (Zvn) est extrait des cartes de caractéristiques courantes de la sous-séquence v, et l'autre (Zrn) est extrait des cartes de caractéristiques de référence. Le vecteur Zn d’indice n réfère au vecteur caractéristique du pixel ou de la séquence de pixels P’vn. Selon un mode de réalisation, J= NFM+NFR.
Dans un mode de réalisation, le module XTR réalise un traitement des valeurs extraites, pour générer le vecteur Zn. Le module XTR 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 sont à des résolutions inférieures à celle des images de la séquence, le module XTR peut prendre en compte les coordonnées des valeurs dans les cartes de résolutions inférieures.
On notera que l’un au moins des modules SE ou XTR doit effectuer une quantification des valeurs extraites des cartes de caractéristiques courantes de la sous-séquence courante.
Le module MLP contient un réseau de neurones de synthèse défini par K paramètres Wk, apte à traiter le vecteur Zn, ou J-Uplet, en entrée, pour générer en sortie un vecteur représentatif de l’échantillon ou de la sous-séquence d'échantillons Pvn à coder de la sous-séquence courante. Le réseau de neurones de synthèse contient selon un mode de réalisation un MLP, ou Multi Layer Perceptron, constitué d’une couche d’entrée adaptée au format d’entrée (le J-uplet), optionnellement une ou plusieurs couche(s) cachée(s), et une couche de sortie adaptée au format de sortie du vecteur de sortie, de manière générale un vecteur comportant NC (nombre de composantes) éléments pour chaque échantillon. Selon un mode de réalisation, NC est égal à 3 et le vecteur de sortie est le triplet (R, G, B) du pixel ou des pixels P’vn codé(s) puis décodé(s) de la sous-séquence courante. Selon un autre mode de réalisation, le module MLP contient un réseau de neurones convolutif.
Le module NNC réalise le codage du réseau de neurones de synthèse de l’image ou de la sous-séquence courante, notamment de ses paramètres Wvk.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 Wvk. Les paramètres codés de l’image ou de la sous-séquence courante sont notés Wvck. De manière connue, la simulation de codage peut être identique au codage effectif, ou en réaliser une approximation.
Le module INITc réalise la génération et le codage des cartes FRj, c’est-à-dire des valeurs des cartes de caractéristiques de la séquence. Les cartes codées de référence sont notées FRcj. Par exemple, lors de l'initialisation du codeur, toutes les cartes (NFRMAX) de la séquence sont construites, puis codées et décodées afin de pouvoir être utilisées comme référence pour une sous-séquence à coder. Selon un autre mode de réalisation, les cartes de référence sont générées dynamiquement au fur et à mesure du codage des sous-séquences, de la même manière que les cartes courantes. Selon un mode de réalisation, le codage prend en compte le voisinage d’une valeur à coder de la carte de caractéristiques de référence, dans la carte elle-même et/ou dans une autre carte de référence.
Lors du codage des sous-séquences, le module FMC réalise le codage des cartes FMvi, c’est-à-dire des valeurs des cartes de caractéristiques de la sous-séquence courante (à l’exclusion des cartes transformées, résultant optionnellement d’un suréchantillonnage ou autre transformation 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 FMvi et selon un mode de réalisation, comme expliqué plus haut, des cartes de référence. Les cartes codées de la sous-séquence courante sont notées FMcvi. 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 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, par exemple en utilisant un codeur entropique.
Selon un mode de réalisation, il met en œuvre un codage prenant en compte le voisinage d’une valeur à coder de la carte de caractéristiques. Selon un mode de réalisation, la position voisine est sélectionnée dans la carte en cours de codage (par exemple, la valeur voisine en haut à gauche de celle en cours de codage). Selon un mode de réalisation, ce voisinage est sélectionné dans une autre carte courante, à une position voisine. Selon un autre mode de réalisation, le voisinage est sélectionné dans une carte de référence, à une position voisine. Selon encore un autre mode de réalisation, le voisinage est sélectionné dans une carte de caractéristiques codée et décodée correspondant à une ou des sous-séquences v’ de la séquence distinctes de la sous-séquence courante v, à une position voisine, par exemple la sous-séquence précédente dans la séquence, ou deux sous-séquences passées de la séquence, ou une sous-séquence passée et d'une future, dans la mesure où l'ordre de décodage de la séquence le permet (de manière connue, l'ordre de décodage peut être différent de l'ordre chronologique de la séquence). Tous ces modes de réalisation peuvent être combinés, c'est-à-dire que le voisinage peut être constitué de valeurs extraites de la carte courante, des cartes courantes, des cartes de référence, et/ou de cartes courantes d'une autre sous-séquence. Le module FMC peut comprendre à cette fin un réseau de neurones de prédiction de carte de caractéristiques dont les paramètres peuvent être codés et transmis au décodeur, qui prend en entrée un vecteur de voisinage constitué des valeurs de voisinage et produit en sortie une prédiction de la valeur courante de la carte de caractéristiques en cours de codage, qui peut se présenter, de manière connue, sous forme d’une valeur de prédiction ou de données de probabilité.
Le module EVAL réalise une évaluation et minimisation d’une performance de codage. La fonction d’évaluation est par exemple de type débit-distorsion. La minimisation peut être effectuée par une descente de gradient, ou tout autre procédé à la portée de l’homme du métier.
Le module MAJ réalise une mise à jour des valeurs des cartes FMvi à encoder de la sous-séquence courante, en fonction des résultats de la fonction de performance. Selon un mode de réalisation, il réalise aussi une mise à jour des valeurs des cartes de référence à encoder de la séquence, en fonction des résultats de la fonction de performance.
Une fois que les cartes de caractéristiques courantes sont stabilisées, elles peuvent être codées. Selon un mode de réalisation, elles sont codées en utilisant les cartes de référence.
La représente schématiquement un dispositif de décodage DEC.
Le dispositif de codage DEC de la décode les N séquences d’échantillons Pdvnde la sous-séquence v, en procédant par sous-séquence. A l'issue du décodage, les V images de la séquence sont décodées.
Le dispositif de codage DEC comprend un module INITd d'initialisation, chargé notamment de décoder le groupe de cartes de références de la séquence SV, noté FRdj. Par exemple, lors de l'initialisation du décodeur, toutes les cartes (NFRMAX) de la séquence sont décodées afin de pouvoir être utilisées comme référence pour une sous-séquence à décoder par le module DECv.
Une sous-séquence courante à décoder v comporte au moins une image courante à décoder notée I(PdVn), chaque image comportant respectivement une pluralité d'échantillons. Le décodeur DECv dédié à la sous-séquence reçoit en entrée les données nécessaires pour décoder la sous-séquence. Comme pour le codeur, l'indice v indique le ou les numéro(s) d'image(s) de la sous-séquence dans la séquence de V images (par exemple, v=3, ou v= {2,3,4}). L'indice n indique le numéro de pixel dans une image de N pixels ou une sous-séquence d'images de N pixels. Le sous-module de décodage reçoit en entrée au moins :
- des données encodées organisées en NFM cartes de caractéristiques FMcvi (les cartes de caractéristiques courantes encodées) ;
- les paramètres encodés Wvck du réseau de neurones de synthèse correspondant à la sous-séquence courante , optionnellement les paramètres d'autres réseaux de neurones comme un réseau de neurones de suréchantillonnage, de prédiction de carte de caractéristiques, etc.;
Par ailleurs, le module DECv obtient (par exemple, lit dans la mémoire du décodeur) un ensemble de cartes de caractéristiques de référence, notées FRdvj, issues du groupe de cartes de référence FRdj.
Le module de décodage DECv comprend, pour une sous-séquence courante, un module NND de décodage de réseau(x) de neurones apte à décoder le réseau de neurones de synthèse MLP', un module FMD de décodage des cartes de caractéristiques courantes (qui peut être utilisé également par le module INITd pour décoder les cartes de référence), un module REF' d'obtention de cartes de caractéristiques de référence, un module XTR’ d’extraction de données, un module SE’ de transformation inverse, un module MLP’ correspondant à un réseau de neurones de synthèse, optionnellement un module de génération de cartes de caractéristiques supplémentaires. Selon un mode de réalisation, il produit en sortie une sous-séquence décodée courante, comprenant au moins une image notée I (Pdvn), comportant une pluralité d’échantillons ou séquences d’échantillons décodés Pdvn.
Le module de décodage FMD décompresse les données quantifiées, par exemple en utilisant un codeur entropique. Selon un mode de réalisation, il met en œuvre un décodage prenant en compte le voisinage d’une valeur à décoder de la carte de caractéristiques. Les modes de réalisation proposés pour le codeur s'appliquent ici en remplaçant le codage par un décodage des valeurs. Notamment, le voisinage peut être sélectionné dans une carte courante (y compris celle en cours de décodage), une carte de référence, ou une carte courante d'une séquence distincte de la sous-séquence courante. Le module FMD peut comprendre à cette fin un réseau de neurones de prédiction de carte de caractéristiques, comme décrit pour le module FMC. Les cartes décodées par le module FMD, au nombre de NFM, sont notées FMdvi(cartes de caractéristiques de l’image courante).
Les paramètres du réseau de neurones de synthèse (MLP’) décodés par le module NND sont notés Wdvk.
Le module REF' constitue un ensemble de NFR cartes de caractéristiques, dites cartes de caractéristiques de référence, notées FRdvj, issues d'un groupe de cartes de caractéristiques de référence précédemment codées puis décodées, correspondant à la séquence, au nombre de NFRMAX. On a donc NFR <= NFRMAX. Le module REF' est identique à celui du codeur et les mêmes exemples s'appliquent. Par exemple, les cartes de caractéristiques de référence considérées pour la sous-séquence en cours sont toutes celles du groupe de référence, ou sont sélectionnées comme un sous-ensemble du groupe de référence. Dans ce dernier cas, elles peuvent être prédéterminées ou leur référence peut être décodée dans le flux sous forme d'un indicateur.
L’ensemble des NFM cartes courantes et des NFR cartes de référence est utilisé par le module de décodage courant pour décoder la sous-séquence courante v. Le nombre de cartes de caractéristiques utilisées est donc de NFM+ NFR.
Le décodeur peut aussi générer une ou plusieurs cartes supplémentaires, identiques aux cartes supplémentaires générées par le codeur pour la sous-séquence courante.
Dans un mode de réalisation, le module SE' de transformation réalise une transformation de l'ensemble de cartes de caractéristiques courantes et/ou de référence (FMdvi, FRdvj) pour générer un ensemble de cartes de caractéristiques transformées (FMS'vi, FRS'vj)à la même résolution que le signal d’entrée.
Le module SE' est identique au module SE de la . Le module SE', optionnel, peut réaliser une quantification inverse des données extraites de cet ensemble de NFM+NFR cartes de caractéristiques. Puis le module SE' peut effectuer 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 est de même résolution que les images de la sous-séquence à décoder. Avantageusement selon ce mode, les cartes de caractéristiques qui sont décodées peuvent être de résolution inférieure à celle des images à décoder, alors que les cartes transformées, 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.
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 des cartes de caractéristiques courantes et de référence non transformées.
Le module XTR’ est identique au module XTR de la . Il réalise une extraction de valeurs dans des cartes de caractéristiques courantes et de référence, pour un échantillon courant ou une sous-séquence d’échantillons courants Pdvn à décoder, en fonction de ses (leurs) coordonnées dans le signal d’entrée. Par exemple, si l’on cherche à décoder l’échantillon ou la sous-séquence d'échantillons Pvn aux coordonnées (xn, yn) d’une image d’entrée, le module XTR' réalise une extraction de valeurs dans des cartes à des positions imposées par les coordonnées (xn, yn). Dans un mode de réalisation, les valeurs extraites constituent le vecteur caractéristique Zdn. Zdn comporte deux ensembles de valeurs : l'un (Zdvn) est extrait des cartes de caractéristiques courantes de la sous-séquence v, et l'autre (Zdrn) est extrait des cartes de caractéristiques de référence. Zdn est un J-uplet, c’est-à-dire qu’il comporte J éléments, ou données zdi. Le vecteur Zdn d’indice n réfère au vecteur caractéristique du pixel ou de la sous-séquence de pixels Pdvn. selon un mode de réalisation, J= NFM+NFR.
Dans un mode de réalisation, le module XTR' réalise un traitement des valeurs extraites, pour générer le vecteur Zdn. Le module XTR' 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. En particulier, si le module SE' n’est pas utilisé et si les cartes de caractéristiques sont à des résolutions inférieures à celle des images de la séquence, le module XTR' peut prendre en compte les coordonnées des valeurs dans les cartes de résolutions inférieures.
On notera que l’un au moins des modules SE' ou XTR' doit effectuer une quantification inverse des valeurs extraites des cartes de caractéristiques courantes de la sous-séquence courante, si une quantification a été effectuée au codeur.
Le module MLP’ contient un réseau de neurones dit de synthèse, défini par K paramètres Wdk, apte à traiter le vecteur Zdn, ou J-Uplet, en entrée, pour générer en sortie un vecteur représentatif de l’échantillon ou de la sous-séquence d’échantillons Pdvn à décoder. Le réseau de neurones de synthèse contient selon un mode de réalisation un MLP, ou Multi Layer Perceptron, constitué d’une couche d’entrée adaptée au format d’entrée (le J-uplet), optionnellement une ou plusieurs couche(s) cachée(s), et une couche de sortie adaptée au format de sortie du vecteur de sortie, de manière générale un vecteur comportant NC (nombre de composantes) éléments pour chaque échantillon. Il peut aussi comprendre un réseau de neurones de convolution. Selon un mode de réalisation, K=3 et le vecteur de sortie est le triplet (R, G, B) ou (Y, U, V) de chaque pixel Pdvn décodé. Le module MLP’ est de structure identique au module MLP, et ses paramètres sont soit identiques si le codage de ses paramètres Wk est sans perte, soit différents si le codage est réalisé avec pertes.
Lorsque tous les échantillons Pdvn de la sous-séquence v ont été décodés, on dispose d’un signal reconstruit I(Pdvn), selon un mode de réalisation une image Iv comportant N échantillons décodés sous la forme de N vecteurs Pdvn, selon un autre mode une sous-séquence d’images Iv comportant chacune N échantillons décodés sous la forme de N vecteurs Pdvn.
Le dispositif de décodage DEC peut être mis en œuvre au moyen d’un dispositif électronique comprenant un processeur et une mémoire, non représentés ; chacun des modules mentionnés ci-dessus peut alors être réalisé par la coopération du processeur et d’instructions de programme d’ordinateur mémorisées dans la mémoire susmentionnée et conçues pour effectuer les fonctionnalités du module concerné, notamment comme décrit ci-dessous, lorsque ces instructions sont exécutées par le processeur
La illustre un exemple de réseau de neurones artificiels de synthèse utilisé au codage et au décodage selon un mode de réalisation de l’invention.
Le réseau de neurones artificiels de synthèse utilisé au codage, MLP, et le réseau de neurones artificiels de synthèse utilisé au décodage, MLP', sont définis par une structure identique, comprenant par exemple une pluralité de couches de neurones artificiels, et par un ensemble de poids et fonctions d’activation associés respectivement aux neurones artificiels du réseau concerné.
Une représentation vectorielle d’un échantillon courant (un vecteur Zn ou Zdn issu des cartes de caractéristiques FMvi/FMSvi et FRvj / FRSvj au codeur ou FMdvi/FMS’viet FRdvj / FRS'vj au décodeur) est appliquée en entrée (c’est-à-dire sur une couche d’entrée) du réseau de neurones artificiels de synthèse MLP ou MLP'. Le vecteur d'entrée comporte des valeurs issues des cartes courantes (Zvn,Zdvn) et des valeurs issues des cartes de référence (Zrn,Zdrn).
De manière générale, le réseau de neurones artificiels MLP/MLP' produit en sortie une pluralité de vecteurs P’vn ou Pdvn représentatifs des échantillons reconstruits (au codage) ou décodés (au décodage), selon un mode de réalisation les composantes de couleur (R, G, B ou Y,U,V) constitutives des pixels couleur de la sous-séquence d’images.
Sur la , la sous-séquence d’images correspond à une image, chaque sous-séquence d’échantillons comporte donc un seul échantillon et le vecteur correspondant est noté P’1n ( au codeur) ou Pd1n(au décodeur). Selon l'exemple représenté en , 4 valeurs sont extraites de chaque ensemble en entrée. Le réseau de neurones artificiels de synthèse produit en sortie les composantes constitutives d’un pixel de l'image.
La concaténation de tous ces pixels reconstruits dans l'image constitue l’image décodée, ou reconstruite.
Au codeur, le réseau de neurones artificiels de synthèse MLP est entraîné sur l’image, de sorte à minimiser les différences entre la représentation en entrée de la sous-séquence courante I (Pvn) et sa représentation I (P’vn) en sortie, tout en minimisant également la quantité de données à encoder. Le module EVAL effectue une mesure de performance en ce sens. Une fois que l’entraînement du codeur est terminé, les paramètres du réseau sont encodés, soit sans pertes, auquel cas le réseau de neurones MLP’ est identique à MLP, soit avec pertes, auquel cas le réseau MLP’ peut être légèrement différent de MLP.
La illustre un exemple de réseau de neurones artificiels de synthèse utilisé au codage et au décodage selon un autre mode de réalisation de l’invention.
La est identique à la pour ce qui concerne l'entrée du réseau de neurones.
De manière générale, le réseau de neurones artificiels MLP/MLP' produit en sortie une pluralité de vecteurs P’vn ou Pdvn représentatifs des échantillons reconstruits (au codage) ou décodés (au décodage), selon un mode de réalisation les composantes de couleur (R, G, B ou Y,U,V) constitutives des pixels couleur de la sous-séquence d’images.
Sur la , la sous-séquence d’images correspond à deux images, une sous-séquence d’échantillons comporte donc deux échantillons et les deux vecteurs (R, G, B) ou (Y, U, V) correspondants sont notés P’1n/Pd1n.et P’2n/Pd2n.La concaténation de tous ces pixels reconstruits dans les deux images constitue la sous-séquence décodée, ou reconstruite.
La illustre un exemple de sélection de cartes de référence dans une séquence vidéo.
La séquence représentée sur la comporte 4 images, numérotées de 1 à 4. Par exemple, il s'agit d'une période Intra d'un codeur vidéo standard, ou d'un GOP, etc. Elle est constituée de 3 sous-séquences v=1, v={2,3} et v=4. Les cartes de références FRj(resp. FRdj) de la séquence sont au nombre de 3 (NFR = 3) et de résolutions différentes.
La sous-séquence v={2,3} est codée (resp. décodée) en utilisant 3 cartes courantes FM{2,3}i=1,2,3 (resp. FMd{2,3}i=1,2,3) et une carte de référence FR{2,3}j=1(resp. FRd{2,3}j=1) de la séquence. Au total, 4 cartes de caractéristiques sont présentées (après avoir été éventuellement transformées par le module SE/SE', puis leurs vecteurs caractéristiques extraits par le module XTR/XTR') à l'entrée du réseau de synthèse MLP (resp. MLP') qui synthétise les échantillons des images codées (resp. décodées) 2 et 3.
La sous-séquence v={4} est codée (resp. décodée) en utilisant 3 cartes courantes FM4i=1,2,3 (resp. FMd4i=1,2,3) et trois cartes de référence FR4j=1,2,3(resp. FRd4j=1,2,3) de la séquence. Au total, 6 cartes de caractéristiques sont présentées (après avoir été éventuellement transformées par le module SE/SE', puis leurs vecteurs caractéristiques extraits par le module XTR/XTR') à l'entrée du réseau de synthèse MLP (resp. MLP') qui synthétise les échantillons de l'image codée (resp. décodée) numéro 4.
Les exemples numériques choisis sont indicatifs.
La est un logigramme représentant un exemple de procédé de codage qui peut être mis en œuvre par le dispositif de codage de la .
Selon un mode de réalisation, la sous-séquence courante est une séquence d’images bidimensionnelles, chaque sous-séquence d’échantillon à coder est donc un ensemble de pixels Pvn de coordonnées (xn, yn) dans les images respectives I(Pvn) de la séquence à coder. Selon un mode de réalisation, la sous-séquence courante comporte une seule image.
L’encodage se déroule en deux phases principales :
Dans une première phase, dite phase de construction, un premier apprentissage est réalisé à l'étape d'initialisation E0 pour construire, coder et décoder un groupe d'images de référence FRcjde la séquence SV. Selon un mode de réalisation, SV comporte une série d’images, par exemple des images temporelles d’une séquence vidéo. Selon un mode de réalisation, les images sont des composantes multivues ou 3D d’une image ou séquence d’images multivues ou 3D. Selon un mode de réalisation, les images correspondent à une période Intra ou un GOP d'un codeur vidéo classique.
Ces cartes peuvent être insérées dans le flux B1 après codage. Selon un mode de réalisation, ces cartes sont générées avant le traitement des sous-séquences. Selon un autre mode de réalisation, elles sont générées au fil du traitement des sous-séquences, par optimisation, de la même manière que les cartes de caractéristiques courantes.
Pour une sous-séquence d’entrée v comprenant au moins une image I(Pvn), un apprentissage est réalisé, afin de déterminer les valeurs des cartes FMvi et des paramètres Wk pour optimiser une fonction de coût globale. L’apprentissage est par exemple réalisé par une descente de gradient, suivie d’une mise à jour des paramètres du réseau de neurones MLP et des valeurs des cartes de caractéristiques courantes et/ou de référence. Comme il est connu dans l’état de l’art, la fonction de coût peut être de type débit-distorsion, ou débit, ou distorsion, ou perceptuelle. Pour mesurer le débit R, il est nécessaire de simuler le codage des cartes FMvi, optionnellement des cartes FRvj, puis de mesurer le débit de codage associé (la taille du flux B1). Selon un mode de réalisation, on ne simule pas le codage des paramètres Wk car leur influence est moins importante que celle des cartes de caractéristiques. Selon un mode de réalisation, on simule aussi le codage des paramètres Wk et on mesure le débit associé (la taille du flux B2). Pour mesurer la distorsion D, il est nécessaire de simuler le codage puis le décodage d’une partie au moins de la séquence d’images, pour obtenir au moins une séquence de pixels P'vnrésultant d’une simulation de codage puis de décodage des échantillons d’indice n, puis de mesurer l'écart entre cette sous-séquence d’images I(Pvn) en entrée et une partie correspondante de la séquence I(P’vn) codée puis décodée.
Puis lors d’une deuxième phase, dite phase de codage, les cartes FMvi et les paramètres Wk sont encodés pour produire les valeurs codées FMcvi et Wcvk avant transmission ou stockage. Ils constituent la représentation compressée de la séquence d’entrée I(Pvn).
On va maintenant décrire les étapes d’un procédé selon un mode de réalisation de l’invention.
Lors d’une étape E20, une séquence d’entrée I(Pvn) à coder, comportant au moins une image comportant une pluralité de N échantillons Pvn, est fournie en entrée du procédé.
Lors d’une étape E21, NFM cartes de caractéristiques courantes et optionnellement de référence sont initialisées. Par la suite, les paramètres Wk du réseau de neurones MLP et les valeurs des cartes doivent être optimisés durant la phase de construction.
Selon un mode de réalisation, les cartes de caractéristiques sont initialisées par des valeurs constantes prédéfinies. Selon un autre mode de réalisation, les cartes de caractéristiques sont initialisées par un ensemble de valeurs réelles aléatoires. Les cartes de caractéristiques sont par la suite mises à jour, ou raffinées, lors d’une étape E22, par le module de mise à jour MAJ du codeur au cours de son apprentissage.
Lors d’une étape E23, NFR cartes de référence sont obtenues par le module REF, parmi le groupe des cartes de caractéristiques associées à la séquence. Le module REF constitue un ensemble de NFR cartes de caractéristiques de référence, notées FRvj, issues d'un groupe de cartes de caractéristiques de référence FRj, précédemment décodées, au nombre de NFRMAX (NFR <= NFRMAX). Par exemple, les cartes de caractéristiques de référence considérées pour la sous-séquence en cours de codage sont toutes celles du groupe de référence (FRvj= FRj) ou sont sélectionnées comme un sous-ensemble du groupe de référence. Dans ce dernier cas, elles peuvent être prédéterminées. Par exemple, on peut utiliser les cartes de caractéristiques de référence de même taille que les cartes de caractéristiques courantes. Leur référence peut alternativement être codée dans le flux sous forme d'un indicateur. Par exemple, la carte de référence utilisée pour le codage/décodage des images v={2,3} de la est l'image numéro 1 du groupe de cartes de référence. Cette indication peut être codée dans le flux.
L’ensemble des NFM cartes courantes et des NFR cartes de référence constitue un ensemble de cartes de caractéristiques pour le réseau de synthèse MLP.
Selon un mode de réalisation, les cartes de caractéristiques courantes et/ou de référence sont de même résolution que les images de la séquence d’entrée I(Pvn) et comportent donc chacune le même nombre de valeurs N qu’il y a d’échantillons Pvn à coder dans chaque image. Selon un mode de réalisation, les cartes de caractéristiques courantes et/ou de référence sont de résolution inférieure ou égale à celle des images de la séquence d’entrée I(Pvn) et comportent donc, pour au moins l’une d’entre elles, un nombre N’ de valeurs à coder inférieur à N. Selon une variante, la première carte courante (resp. carte de référence) est à la résolution des images et chaque carte suivante est à une résolution moitié de la précédente. Selon un mode de réalisation, plusieurs cartes sont de même résolution, inférieure à celle des images de la séquence d’entrée I(Pvn).
Lors d’une étape E24, selon un mode de réalisation, les NFM cartes de l'ensemble de cartes courantes FMvi et/ou les NFR cartes de référence FRvj sont transformées par le module SE pour générer des cartes transformées FMSvi / FRSvj à la résolution des images d'entrée. Dans ce mode, les vecteurs caractéristiques sont extraits de préférence des cartes transformées, et non directement des cartes courantes à coder et/ou des cartes de référence. Les cartes transformées ne sont ni stockées ni transmises, elles servent uniquement à la construction des vecteurs caractéristiques.
Selon un mode de réalisation, une ou plusieurs cartes supplémentaires, formant un groupe supplémentaire de cartes de caractéristiques supplémentaires, sont générées, et complètent l'ensemble de cartes de caractéristiques constitué. Elles servent à la construction du vecteur caractéristique mais ne sont ni stockées ni transmises.
Selon un mode de réalisation, NFM + NFR cartes FMSvi /FRSvj sont générées. Selon un mode de réalisation, chaque carte FMvi est transformée en une carte FMSvi. Selon un mode de réalisation, chaque carte FRvj de référence est transformée en une carte FRSvj.
Selon un mode de réalisation, au moins une carte FMvi /FRvj est 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 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 FMSvi et/ou FRSvj pour atteindre la résolution des images de la séquence d’entrée. Il peut être simple (par réplication du plus proche voisin) ou comporter une interpolation (linéaire, polynomiale, par filtrage, etc.). La transformation peut comporter un réseau de neurones de suréchantillonnage.
Lors d’une étape E25, des valeurs sont extraites par le module XTR :
- des cartes de caractéristiques courantes FMvi (ou éventuellement FMSvi transformées, et optionnellement supplémentaires).
- des cartes de caractéristiques de référence FRvj. ou éventuellement FRSvj transformées.
Cette extraction est réalisée en fonction des coordonnées (xn, yn) de la sous-séquence d’échantillons Pvn courants de la sous-séquence courante. Elle peut aussi être réalisée en fonction de la résolution de la carte considérée. Les séquences d’échantillons à coder sont par exemple traitées par ordre séquentiel, de n=1 à n=N.
Selon un mode de réalisation, le vecteur Zn caractéristique résulte directement de cette extraction.
Selon un mode de réalisation, le vecteur Zn caractéristique est construit par traitement des valeurs extraites. Le traitement peut comporter une quantification des valeurs extraites ou du vecteur Znconstitué, si nécessaire. Le traitement peut comporter d’autres opérations, comme un filtrage, une mise à l’échelle, l’application d’une fonction quelconque, de préférence monotone, etc. Dans un mode de réalisation, Zn est un J-uplet construit à partir de valeurs prélevées dans les cartes de caractéristiques courantes et de référence (et optionnellement supplémentaires) en appliquant le traitement à une ou plusieurs valeurs des cartes, par exemple un filtrage des valeurs voisines de la valeur ciblée dans une carte. Par exemple, dans une carte qui se trouve à la même résolution que le signal d’entrée, on peut extraire les valeurs situées aux coordonnées (xn, yn), (xn-1, yn), (xn, yn-1) et (xn-1, yn-1) et appliquer un traitement à ces valeurs (filtrages, moyennage, interpolation, etc.) pour obtenir la valeur finale (zi) de l’élément i du vecteur Zn relative à cette carte. Selon un autre exemple, dans une carte qui se trouve à une résolution moitié du signal d’entrée, on peut considérer les valeurs situées aux coordonnées (xn/2, yn/2), (xn/2-1, yn/2), (xn/2, yn/2-1) et (xn/2-1, yn/2-1) et appliquer un traitement à ces valeurs (filtrages, moyennage, interpolation, etc.) pour obtenir la valeur finale (zi) de l’élément i du vecteur Zvn ou Zrn relatif à cette carte de caractéristiques courante, de référence (ou supplémentaire).
Dans un mode de réalisation, Zn comporte autant de valeurs que de cartes en entrée.
Dans un mode de réalisation, Zn est un J-uplet comportant des valeurs situées aux coordonnées (xn, yn) d’un pixel courant Pvn, comme il sera illustré à l’appui de la . Le vecteur Zn d’indice n réfère au vecteur caractéristique du pixel ou de la séquence de pixels Pvn. Selon un mode de réalisation, J= NFM+NFR. Le vecteur Zn (zv1… zvNFM, zr1… zrNFR), comporte deux ensembles de valeurs : l'une (Zvn) est extraite des cartes de caractéristiques courantes de la sous-séquence v, et l'autre (Zrn) est extraite des cartes de caractéristiques de référence. Optionnellement il peut comporter des valeurs issues des cartes supplémentaires.
Dans un mode de réalisation, Zn est un J-uplet construit à partir de valeurs prélevées dans les cartes de caractéristiques courantes et de référence (et optionnellement supplémentaires) à des coordonnées qui peuvent être différentes selon les cartes. Par exemple, si les cartes sont à des résolutions différentes, les cordonnées sont adaptées (par une mise à l’échelle) pour correspondre à la résolution de chaque carte.
Lors d’une étape E26, le vecteur Zn est traité par le réseau de neurones MLP pour générer en sortie la sous-séquence d’échantillons Pvn à coder, selon un mode de réalisation les triplets (R, G,B) des échantillons P’vn (les échantillons Pvn codés puis décodés) des images de la sous-séquence.
Lors d’une étape E27, les cartes FMvi courantes sont codées par le module FMC du codeur. Durant la phase de construction, cette opération est une simulation de codage. Durant la phase de codage, cette opération est un codage effectif et les valeurs codées constituent le flux B1. La simulation peut être identique au codage effectif mais elle peut aussi être différente (par exemple, simplifiée). Pour ce codage, on peut utiliser toute technique connue visant à compresser les valeurs des cartes. Dans un mode de réalisation, les cartes de référence sont aussi codées à cette étape.
Dans un mode de réalisation, les cartes sont codées dans l’ordre (FMv1, FMv2,…, FMv4), et les variables de chaque carte dans un ordre prédéfini, par exemple lexicographique. Dans un mode de réalisation, les cartes de référence sont aussi codées dans l'ordre. Chaque carte subit un codage entropique. Le codage entropique produit un flux compressé B1 dont le débit est mesuré ultérieurement au cours d’une étape E29.
Lors d’une étape E28, les paramètres Wk du réseau de neurones MLP sont quantifiés et codés. Durant la phase de construction, cette opération est une simulation de codage. Durant la phase de codage, cette opération est un codage effectif et les valeurs codées constituent le flux B2. La simulation peut être identique au codage effectif mais elle peut aussi être différente (par exemple, simplifiée). On peut utiliser à cette fin toute technique connue, par exemple la norme de codage de réseaux de neurones proposée par le standard MPEG-7 partie 17, aussi appelée NNR (Neural Network Representation). On notera que dans ce cas, il faut choisir la quantité de dégradation que le codage apporte aux paramètres Wk. La structure et les paramètres Wk du réseau de neurones sont initialisés par exemple lors de la première itération de cette étape. Ces paramètres sont par la suite mis à jour, ou raffinés, au cours de la phase de construction, lors des itérations ultérieures du procédé.
Selon un mode de réalisation, les paramètres du réseau de neurones sont initialisés par des valeurs prédéfinies connues pour donner un résultat satisfaisant (par exemple, à la suite d’un entraînement sur un corpus de séquences d’images). Selon un autre mode de réalisation, les paramètres Wk du réseau de neurones sont initialisés par un ensemble de valeurs aléatoires.
Lors d’une étape E29, une mesure de performance est évaluée.
À cet effet, les débits de simulation de codage associés aux cartes de caractéristiques (simulation du flux B1 par codage des cartes FMvi / FRvj) et optionnellement aux paramètres du réseau de neurones (simulation du flux B2 par codage des paramètres Wk) sont mesurés.
Selon un mode de réalisation, la fonction de coût est de type débit-distorsion, notée (D+L*R), où D par exemple l’erreur quadratique mesurée entre les images d’entrée et les images décodées (ou l’erreur mesurée sur un sous-ensemble d’échantillon des images). Selon un autre exemple, D est calculé à partir d’une fonction perceptive telle que le SSIM (pour Structural SIMilarity), ou MSSSIM (pour Multi-scale Structural SIMilarity). Selon un mode de réalisation, R est le débit simulé du flux B1 ; selon un autre mode de réalisation, R est le débit total utilisé pour coder cette image, c’est-à-dire la somme des débits simulés de B1 et B2. L est un paramètre qui règle le compromis débit-distorsion. D’autres fonctions de coût sont possibles.
Tant que la fonction de coût n’a pas atteint son minimum, la mesure de performance n’est pas satisfaisante, et le procédé est réitéré à partir de l’étape E22. Alternativement, le procédé peut être interrompu au bout d’un temps prédéfini ou d’un nombre d’itérations prédéfini, de façon à en contrôler la complexité ou la durée. Cette minimisation peut être effectuée par un mécanisme connu comme une descente de gradient avec mise à jour des paramètres au cours de l’étape E22 pour les valeurs des cartes de caractéristiques et E27 pour les paramètres du réseau.
Lors d’une étape EF, si la fonction de coût a atteint son minimum, l’entraînement s’arrête. Si une version codée correspondant à la dernière simulation des paramètres du réseau de neurones et des cartes de caractéristiques est disponible, les flux B1 et B2 peuvent en être constitués. Selon un autre mode de réalisation, le codage effectif les paramètres mis à jour du réseau de neurones et des valeurs des cartes de caractéristiques (FMvi) est effectué à cette étape pour produire les paramètres encodés Wck et FMciqui constituent des flux B1 et B2. Selon un mode de réalisation, les cartes FRvjsont codées à la fin de l'apprentissage, lorsque toute la séquence a été traitée.
Les flux B1 et B2 peuvent être concaténés pour produire un flux final. Selon un mode de réalisation, le flux B2 des paramètres codés du réseau de neurones est stocké ou transmis avant le flux B1, afin de pouvoir être décodé avant le flux B1.
La est un logigramme représentant un exemple de procédé de décodage qui peut être mis en œuvre par le dispositif de décodage de la .
Le décodage décrit concerne une sous-séquence d’images comportant au moins une image de la séquence à décoder on suppose que le groupe de cartes de référence de la séquence FRcj, a été décodé par le module d'initialisation. Selon un mode de réalisation, on utilise une technique de prédiction d’une valeur de carte de caractéristiques par son voisinage, comme il a été décrit à l’appui de la . Dans un mode de réalisation, les cartes de référence sont décodées dans l’ordre, et les valeurs de chaque carte dans un ordre prédéfini, par exemple lexicographique.
Lors d’une étape E30, les flux B1 et B2 sont extraits du flux encodé. Ils contiennent respectivement, pour une sous-séquence courante de la séquence, les représentations codées des cartes courantes FMcvi, et des paramètres Wcvkdu réseau de neurones.
Lors d’une étape E31, les NFM cartes FMdvi de la sous-séquence courante sont générées par décodage des valeurs FMcvi. Pour ce décodage, on utilise par exemple un décodage entropique. Selon un mode de réalisation, on utilise une technique de prédiction d’une valeur de carte de caractéristiques par son voisinage, comme il a été décrit à l’appui de la . Dans un mode de réalisation, les cartes FMdvi sont décodées dans l’ordre (FMdv1, FMdv2,… FMdv4), et les valeurs de chaque carte dans un ordre prédéfini, par exemple lexicographique.
Lors d’une étape E32, NFR cartes de référence sont obtenues par le module REF', parmi le groupe des cartes de caractéristiques associées à la séquence. Le module REF' constitue un ensemble de NFR cartes de caractéristiques de référence, notées FRdvj, issues du groupe de cartes de caractéristiques de référence FRdj, précédemment décodées, au nombre de NFRMAX (NFR <= NFRMAX). Par exemple, les cartes de caractéristiques de référence considérées pour la sous-séquence en cours sont toutes celles du groupe de référence (FRvj= FRj) ou sont sélectionnées comme un sous-ensemble du groupe de référence. Dans ce dernier cas, elles peuvent être prédéterminées. Par exemple, on peut utiliser les cartes de caractéristiques de référence de même taille que les cartes de caractéristiques courantes. Leur référence peut alternativement être codée dans le flux sous forme d'un indicateur. Par exemple, la carte de référence utilisée pour le décodage des images v={2,3} de la est l'image numéro 1 du groupe de cartes de référence. Cette indication peut être lue et décodée dans le flux. Au contraire, toutes les cartes de référence sont utilisées pour le décodage de l'image v= 4 de la . Il n'est donc pas nécessaire de lire cette indication dans le flux.
L’ensemble des NFM cartes courantes et des NFR cartes de référence constitue un ensemble de cartes de caractéristiques pour le réseau de synthèse.
Selon des modes de réalisation tels que décrits pour le codeur :
- Les cartes de caractéristiques courantes et/ou de référence sont de même résolution que la séquence I (Pdvn) à reconstituer, c’est-à-dire qu’elles comportent N valeurs.
- Les cartes de caractéristiques courantes et/ou de référence sont à une résolution inférieure ou égale à celle de la sous-séquence I (Pdvn) à reconstituer. Selon une variante, la première carte courante (resp. carte de référence) est à la résolution des images et chaque carte suivante est à une résolution moitié de la précédente.
- Plusieurs cartes de caractéristique courantes et/ou de référence sont de même résolution, inférieure à la résolution de la sous-séquence.
Lors d’une étape E33, selon un mode de réalisation, les NFM cartes de l'ensemble de cartes courantes FMdvi et/ou les NFR cartes de référence FRdvj sont transformées par le module SE’ pour générer des cartes transformées FMS'vi / FRS'vj à la résolution des images à décoder. Cette étape est similaire à l’étape E24 qui a été décrite pour le codeur à l’appui de la , et les modes de réalisation s’appliquent. Notamment :
Selon un mode de réalisation, NFM + NFR cartes FMS'vi /FRS'vj sont générées.
Selon un mode de réalisation, chaque carte FMdvi est transformée en une carte FMS'vi. Selon un mode de réalisation, chaque carte FRdvj est transformée en une carte FRS'vj.
Selon un mode de réalisation, au moins une carte FMdvi /FRdvj est de résolution inférieure à celle des images à décoder et l’opération de transformation comporte un suréchantillonnage pour que la carte transformée comporte le même nombre d’échantillons que l’image d’entrée. Le suréchantillonnage consiste à rajouter des valeurs dans les cartes FMS'vi et/ou FRS'vj pour atteindre la résolution de l’image à décoder. Il peut être simple (par réplication du plus proche voisin) ou comporter une interpolation (linéaire, polynomiale, par filtrage, etc.) La transformation peut optionnellement comporter une quantification inverse des valeurs extraites, si nécessaire. Cependant la quantification inverse n’est pas obligatoire. La transformation peut comporter un réseau de neurones de suréchantillonnage.
Lors d’une étape E34, des valeurs sont extraites par le module XTR’ :
- des cartes de caractéristiques courantes FMdvi (ou éventuellement FMS’vi transformées, et optionnellement supplémentaires).
- des cartes de caractéristiques de référence FRdvj ou éventuellement FRS’vj transformées.
Cette extraction est réalisée en fonction des coordonnées (xn, yn) de la sous-séquence d’échantillons Pvn courants de la sous-séquence courante. Elle peut aussi être réalisée en fonction de la résolution de la carte considérée. Cette étape est similaire à l’étape E25 qui a été décrite pour le codeur à l’appui de la , et les modes de réalisation s’appliquent. Notamment :
Dans un mode de réalisation, Zdn comporte autant de valeurs que de cartes en entrée.
Selon un mode de réalisation, le vecteur Zdn caractéristique est construit par traitement des valeurs extraites. Le traitement peut comporter une quantification des valeurs extraites ou du vecteur Zdnconstitué, 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. Les exemples cités pour le codeur s'appliquent.
Dans un mode de réalisation, Zdn est un J-uplet comportant des valeurs situées aux coordonnées (xn, yn) d’un pixel courant Pdvn, comme il sera illustré à l’appui de la . Le vecteur Zdn d’indice n réfère au vecteur caractéristique du pixel ou de la séquence de pixels Pdvn. Selon un mode de réalisation, J= NFM+NFR. Le vecteur Zdn (zdv1...zdvNFM, zdr1...zdrNFR), comporte deux ensembles de valeurs : l'une (Zdvn) est extraite des cartes de caractéristiques courantes de la sous-séquence v, et l'autre (Zdrn) est extraite des cartes de caractéristiques de référence. Optionnellement il peut comporter des valeurs issues des cartes supplémentaires.
Dans un mode de réalisation, Zdn est un J-uplet construit à partir de valeurs prélevées dans les cartes de caractéristiques courantes et de référence (et optionnellement supplémentaires) à des coordonnées qui peuvent être différentes selon les cartes. Par exemple, si les cartes sont à des résolutions différentes, les cordonnées sont adaptées (par une mise à l’échelle) pour correspondre à la résolution de chaque carte.
Les échantillons à décoder sont par exemple traités par ordre séquentiel, de n=1 à n=N.
Lors d’une étape E35, les paramètres Wdvk du réseau de neurones de synthèse MLP’ du sont générés par décodage des valeurs Wcvk du flux B2. On peut utiliser à cette fin toute technique connue de décodage correspondant à celle de codage qui a été utilisée par le codeur. Le réseau de neurones de synthèse MLP’ est semblable au réseau de synthèse MLP, c’est-à-dire qu’il est de même structure et comporte les mêmes paramètres, au codage près, qui peut être réalisé avec ou sans pertes.
Lors d’une étape E36, le vecteur Zdn caractéristique est traité par le réseau de neurones de synthèse MLP' pour générer en sortie un vecteur représentatif de l’échantillon ou de la sous-séquence d'échantillons Pdvn à décoder, selon un mode de réalisation un ou plusieurs triplets qui sont injectés dans l’image décodée I (Pdvn) aux positions (xn, yn) des composantes couleur (Rd, Gd, Bd). Cette étape est similaire à l’étape E26 qui a été décrite pour le codeur à l’appui de la .
Lorsque tous les échantillons du signal ont été traités, la sous-séquence décodée courante correspondant par exemple à l’image I (Pdvn) est disponible.
Selon un mode de réalisation, le flux B2 est décodé avant le flux B1 (à l'exception des cartes de référence), afin de pouvoir disposer du réseau de neurones de synthèse MLP’ avant de commencer à décoder les échantillons.
La représente de manière illustrée un procédé de décodage utilisé dans un mode de réalisation de l’invention.
Dans ce mode de réalisation, les cartes décodées courantes FMdvi sont au nombre de 3. Dans un mode préféré, elles sont au nombre de 7.
Dans ce mode de réalisation, la première carte FMdv1 a la même résolution que l’image I(Pdvn) à décoder, et comporte donc WxH variables, où W représente la largeur de l’image en pixels, et H sa hauteur. La seconde carte FMdv2 est de résolution moitié (dans chaque dimension) de la carte FMdv1. Chaque carte supplémentaire est de résolution moitié de la carte précédente. Cette structure permet de réduire le nombre de variables des cartes de caractéristiques ce qui facilite le décodage tout en minimisant le coût de codage.
La carte FMdv2 est suréchantillonnée d’un facteur 2 par le module SE' dans chaque dimension, selon tout procédé de suréchantillonnage à la portée de l'homme du métier. La carte FMdv3 est suréchantillonnée d’un facteur 4 dans chaque dimension.
Dans ce mode de réalisation, les cartes décodées de référence FRdj sont au nombre de 3. Dans un mode préféré, elles sont au nombre de 7. Dans ce mode de réalisation, la première carte FRd1 a la même résolution que l’image, et comporte donc WxH variables, où W représente la largeur de l’image en pixels, et H sa hauteur. La seconde carte FMd2 est de résolution moitié (dans chaque dimension) de la carte FMd1. Chaque carte supplémentaire est de résolution moitié de la carte précédente. Cette structure permet de réduire le nombre de variables des cartes de caractéristiques ce qui facilite le décodage tout en minimisant le coût de codage.
Les trois cartes du groupe de référence sont sélectionnées par le décodeur pour constituer l'ensemble de référence. (FRdv1= FRd1 ;FRdv2 = FRd2 ;FRdv3= FRd3).
La carte FRd2est suréchantillonnée d’un facteur 2 dans chaque dimension par le module SE', selon tout procédé de suréchantillonnage à la portée de l'homme du métier. La carte FRd3est suréchantillonnée d’un facteur 4 dans chaque dimension.
Les cartes transformées FMS’vi et FRS’vj sont de même résolution que l’image à décoder, et comportent donc WxH valeurs, où W représente la largeur de l’image en pixels, et H sa hauteur.
Dans ce mode de réalisation, le vecteur Zdn est un 6-uplet (zv3, zv2,zv1,zr3, zr2, zr1) constitué des 3 valeurs des cartes FMS’vi situées aux coordonnées (xn, yn) du pixel courant Pdvn.et des 3 valeurs des cartes FRS’vj situées aux coordonnées (xn, yn) du pixel courant Pdvn. Le vecteur Zdn est optionnellement déquantifié puis traité par le réseau de neurones de synthèse MLP’ pour générer en sortie les triplets (R, G, B) représentatifs des échantillons Pdvn à décoder. Le triplet (R, G, B) est inséré dans chaque image décodée I (Pdvn) de la sous-séquence v aux coordonnées (xn, yn) dans les composantes couleur (Rd, Gd, Bd).
Selon une variante présentée en pointillés, les cartes sont au nombre de 7 : une carte supplémentaire notée FME’0 a été introduite. Dans ce mode de réalisation, le vecteur Zdn est un 7-uplet.
Cette carte supplémentaire comporte typiquement des données qui peuvent assister le réseau MLP' dans la tâche de reconstruction des images. Ainsi, les cartes ajoutées peuvent être une ou plusieurs parmi la liste suivante, non limitative :
– Une carte comportant en chaque point l’abscisse de ce point.
– Une carte comportant en chaque point l’ordonnée de ce point.
– Une carte comportant en chaque point un codage positionnel.
– Une carte représentant une image distincte des images en cours de traitement, susceptible d’apporter des informations sur les images à coder, par exemple une image ou séquence d’images précédemment traitée.
– Une carte contenant une donnée représentative de la différence temporelle entre les images de la vidéo en train d’être codée. Par exemple, si la première et la dernière image de la vidéo sont distantes de 8 images, tous les échantillons de la carte contiennent la valeur 8.
– Une carte représentant une carte de caractéristiques d’une image distincte des images en cours de traitement, susceptible d’apporter des informations sur les images à coder, par exemple une carte précédemment traitée.
– Une carte comportant la valeur d’un échantillon déjà décodé de la même carte, par exemple l’échantillon précédent dans l’ordre de décodage.

Claims (14)

  1. Procédé de codage d’une séquence d’images (Sv) comportant les étapes suivantes pour au moins une image courante à coder :
    - une étape de construction, comportant les sous-étapes suivantes :
    - construction (E21, E22) d’un ensemble de cartes de caractéristiques courantes (FMvi) représentatives de ladite au moins une image courante (v, I(Pvn)), comprenant au moins une carte de caractéristiques courante ;
    - construction (E23) d’un ensemble de cartes de caractéristiques (FRvj) de référence, comprenant au moins une carte de caractéristiques de référence codée puis décodée ;
    - pour au moins un échantillon, dit échantillon courant (Pvn), de ladite au moins une image courante, associé à une position (xn, yn) dans ladite au moins une image courante :
    - construction (E25) d’un vecteur caractéristique (Zn) à partir de ladite au moins une carte de caractéristiques de référence (Zrn) et de ladite au moins une carte de caractéristiques courante (Zvn), en fonction de ladite position (xn, yn) dudit au moins un échantillon courant (Pvn) ;
    - traitement (E26) dudit vecteur caractéristique (Zn) par un réseau de neurones artificiels (MLP), dit réseau de neurones de synthèse, défini par un ensemble de paramètres (Wvk), pour fournir un vecteur (P’vn) représentatif d’une valeur décodée dudit au moins un échantillon courant ;
    - mise à jour (E22, E29) d'au moins une valeur de ladite au moins une carte de caractéristiques courante et/ou d’au moins un paramètre dudit réseau, en fonction d’une mesure de performance de codage ;
    - une étape de codage (E24) dudit ensemble de cartes de caractéristiques courantes (FMvi) ;
    - une étape de codage (E28) dudit ensemble de paramètres (Wvk) dudit réseau de neurones de synthèse.
  2. Procédé de codage d’une séquence d’images selon la revendication 1, caractérisé en ce qu'il comporte en outre :
    - une étape de construction (FRj) et codage (FRcj) d’un groupe de cartes de caractéristiques de référence représentatives de la séquence comprenant ledit ensemble de cartes de caractéristiques de référence (FRvj).
  3. Procédé de décodage d’une séquence d’images (Sv) d’un flux binaire, comportant les étapes suivantes pour au moins une image courante (v) :
    - décodage (E35) d’un ensemble de paramètres (Wdvk) représentatifs d’un réseau de neurones (MLP’) de synthèse ;
    - décodage (E31) d’un ensemble de cartes de caractéristiques courantes (FMdvi) comprenant au moins une carte de caractéristiques courante représentative de ladite au moins une image courante;
    - obtention (E32) d’un ensemble de cartes de caractéristiques (FRdvj) de référence, comprenant au moins une carte de caractéristiques de référence décodée ;
    - pour au moins un échantillon, dit échantillon courant (Pdvn), de ladite au moins une image courante (v) à décoder, associé à une position (xn, yn) dans l'image :
    - construction (E34) d’un vecteur caractéristique (Zdn) à partir de ladite au moins une carte de caractéristiques de référence (Zdrn) et de ladite au moins une carte de caractéristiques courante (Zdvn), en fonction de ladite position (xn, yn) dudit au moins un échantillon courant, et :
    - traitement (E37) dudit vecteur (Zdn, ZRdn) par ledit réseau de neurones de synthèse (MLP’) pour fournir un vecteur représentatif d’une valeur décodée dudit au moins un échantillon courant (Pdvn).
  4. Procédé de décodage selon la revendication 3, caractérisé en ce qu'il comporte en outre :
    - une étape de décodage (E31) d’un groupe de cartes de caractéristiques (FRdj) de référence représentatives de la séquence et
    - obtention (E32) dudit ensemble de cartes de caractéristiques de référence (FRdvj) à partir dudit groupe (FRdj).
  5. Procédé de codage ou de décodage selon l'une des revendications précédentes, caractérisé en ce que l'ensemble de cartes de référence et l'ensemble de cartes courantes (FRdvj, FMdvi) contiennent le même nombre (NFM, NFR) de cartes de caractéristiques.
  6. Procédé de codage ou de décodage selon l'une des revendications précédentes, caractérisé en ce que ladite au moins une carte de référence est à la même résolution que ladite au moins une carte courante.
  7. Procédé de codage ou de décodage selon l'une des revendications précédentes, caractérisé en ce que ladite au moins une carte de référence est indiquée dans le flux binaire.
  8. Procédé de codage ou de décodage selon l'une des revendications précédentes, caractérisé en ce que ladite au moins une carte de référence est prédéterminée.
  9. Procédé de codage ou de décodage selon l'une des revendications précédentes, caractérisé en ce qu'il comporte en outre une étape de transformation dudit ensemble de cartes de caractéristiques courantes et/ou de référence pour obtenir un ensemble de cartes de caractéristiques transformées à la résolution de l'image courante, le procédé étant caractérisé en ce que ledit vecteur caractéristique est construit à partir desdites cartes de caractéristiques transformées.
  10. Procédé de décodage selon l’une des revendications 3 à 9, caractérisé en ce que ladite au moins une carte courante est décodée en fonction de ladite au moins une carte de référence et/ou d'un carte de caractéristique courante.
  11. Procédé de décodage selon la revendication 10 caractérisé en ce que le décodage est effectué par un réseau de neurones de prédiction.
  12. Dispositif de codage d’une séquence d’images (Sv), ledit dispositif étant configuré pour mettre en œuvre :
    - une étape de construction, comportant les sous-étapes suivantes :
    - construction (GEN, MAJ) d’un ensemble de cartes de caractéristiques courantes, (FMvi) représentatives de ladite au moins une image courante (v, I(Pvn)), comprenant au moins une carte de caractéristique courante ;
    - construction (INITc, REF) d’un ensemble de cartes de caractéristiques (FRvj) de référence, comprenant au moins une carte de caractéristiques de référence codée puis décodée ;
    - pour au moins un échantillon, dit échantillon courant (Pvn), de ladite au moins une image courante, associé à une position (xn, yn) dans ladite au moins une image courante :
    - construction (XTR) d’un vecteur caractéristique (Zn) à partir de ladite carte de caractéristiques au moins une carte de caractéristiques de référence (Zrn) et de ladite au moins une carte de caractéristiques courante (Zvn), en fonction de ladite position (xn, yn) dudit au moins un échantillon courant (Pvn) ;
    - traitement (MLP) dudit vecteur caractéristique (Zn) par un réseau de neurones artificiels, dit réseau de neurones de synthèse, défini par un ensemble de paramètres (Wvk), pour fournir un vecteur (P’vn) représentatif d’une valeur décodée dudit au moins un échantillon courant ;
    - mise à jour (E22, E29) d'au moins une valeur de ladite au moins une carte de caractéristiques courantes et/ou d’au moins un paramètre dudit réseau, en fonction d’une mesure de performance de codage,
    - une étape de codage (E24) dudit ensemble de cartes de caractéristiques courantes (FMvi) ;
    - une étape de codage (E28) dudit ensemble de paramètres (Wvk) dudit réseau de neurones de synthèse.
  13. Dispositif de décodage à partir d'un flux binaire d’une séquence d’images (SV), ledit dispositif étant configuré pour mettre en œuvre, pour au moins une image courante (v, I(Pdvn)) de la séquence :
    - décodage (NND) d’un ensemble de paramètres (Wdvk) représentatifs d’un réseau de neurones (MLP’) de synthèse ;
    - décodage (FMD) d’un ensemble de cartes de caractéristiques courantes comprenant au moins une carte de caractéristiques (FMdvi) courante représentative de ladite au moins une image courante;
    - obtention (INITd, REF') d’un ensemble de cartes de caractéristiques (FRdvj) de référence, comprenant au moins une carte de caractéristiques de référence décodée ;
    - pour au moins un échantillon, dit échantillon courant (Pdvn), de ladite au moins une image courante (v) à décoder, associé à une position (xn, yn) dans l'image :
    - construction (E34) d’un vecteur caractéristique (Zdn) à partir de ladite au moins une carte de caractéristiques de référence (Zdrn) et de ladite au moins une carte de caractéristiques courante (Zdvn), en fonction de ladite position (xn, yn) dudit échantillon courant, et :
    - traitement (E37) dudit vecteur (Zdn) par ledit réseau de neurones de synthèse (MLP’) pour fournir un vecteur représentatif d’une valeur décodée dudit au moins un échantillon courant (Pdvn).
  14. Programme d’ordinateur comportant des instructions pour l’exécution des étapes d'un procédé de codage ou de décodage selon la revendication 1 ou 3 lorsque ledit programme est exécuté par un ordinateur.
PCT/EP2024/062652 2023-06-22 2024-05-07 Procédé et dispositif de codage et décodage de séquences d'images Ceased WO2024260628A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP24724527.7A EP4732241A1 (fr) 2023-06-22 2024-05-07 Procédé et dispositif de codage et décodage de séquences d'images
CN202480049704.XA CN121605434A (zh) 2023-06-22 2024-05-07 用于对图像序列进行编码和解码的方法和设备
KR1020267001760A KR20260025406A (ko) 2023-06-22 2024-05-07 이미지 시퀀스를 코딩 및 디코딩하기 위한 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2306455A FR3150333A1 (fr) 2023-06-22 2023-06-22 Procédé et dispositif de codage et décodage de séquences d’images.
FRFR2306455 2023-06-22

Publications (1)

Publication Number Publication Date
WO2024260628A1 true WO2024260628A1 (fr) 2024-12-26

Family

ID=88689996

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2024/062652 Ceased WO2024260628A1 (fr) 2023-06-22 2024-05-07 Procédé et dispositif de codage et décodage de séquences d'images

Country Status (5)

Country Link
EP (1) EP4732241A1 (fr)
KR (1) KR20260025406A (fr)
CN (1) CN121605434A (fr)
FR (1) FR3150333A1 (fr)
WO (1) WO2024260628A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023280558A1 (fr) * 2021-07-06 2023-01-12 Nokia Technologies Oy Améliorations de performance de tâches de vision artificielle par l'intermédiaire d'un filtre à base de réseau neuronal appris

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023280558A1 (fr) * 2021-07-06 2023-01-12 Nokia Technologies Oy Améliorations de performance de tâches de vision artificielle par l'intermédiaire d'un filtre à base de réseau neuronal appris

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
CHEN TONG ET AL: "DeepCoder: A deep neural network based video compression", 2017 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING (VCIP), IEEE, 10 December 2017 (2017-12-10), pages 1 - 4, XP033325713, DOI: 10.1109/VCIP.2017.8305033 *
ÉMILIEN DUPONT ET AL.: "COmpression with Implicit Neural représentations", ARXIV:2103.03123
REZASOLTANI SHIMA ET AL: "Hyperspectral Image Compression Using Implicit Neural Representations", 2023 20TH CONFERENCE ON ROBOTS AND VISION (CRV), IEEE, 6 June 2023 (2023-06-06), pages 248 - 255, XP034412598, DOI: 10.1109/CRV60082.2023.00039 *
SIWEI MA ET AL: "Image and Video Compression With Neural Networks: A Review", 10 April 2019 (2019-04-10), pages 1 - 16, XP055765818, Retrieved from the Internet <URL:https://arxiv.org/pdf/1904.03567.pdf> [retrieved on 20210115] *
SUBIN KIM ET AL.: "Scalable Neural Video Représentations with Learnable Positional Features", NEURIPS, 2022

Also Published As

Publication number Publication date
CN121605434A (zh) 2026-03-03
FR3150333A1 (fr) 2024-12-27
KR20260025406A (ko) 2026-02-24
EP4732241A1 (fr) 2026-04-29

Similar Documents

Publication Publication Date Title
FR3143245A1 (fr) Procédé et dispositif de codage et décodage d’images.
EP3198876B1 (fr) Génération et codage d&#39;images intégrales résiduelles
WO2024240496A1 (fr) Procédé et dispositif de codage et décodage d&#39;images
WO2024260628A1 (fr) Procédé et dispositif de codage et décodage de séquences d&#39;images
WO2024260629A1 (fr) Procédé et dispositif de codage et décodage de séquences d&#39;images
FR3143247A1 (fr) Procédé et dispositif de codage et décodage de séquences d’images.
FR3143246A1 (fr) Procédé et dispositif de codage et décodage d’images.
FR3143248A1 (fr) Procédé et dispositif de codage et décodage d’images.
WO2025056651A1 (fr) Procédé et dispositif de codage et décodage de séquences d&#39;images
WO2022175626A1 (fr) Determination d&#39;un mode de codage d&#39;image
WO2025056653A1 (fr) Procédé et dispositif de codage et décodage d&#39;images
WO2024240497A1 (fr) Procédé et dispositif de codage et décodage d&#39;images.
WO2026003293A1 (fr) Procédé et dispositif de codage et décodage d&#39;un signal
WO2025120066A1 (fr) Procédé et dispositif de codage et décodage contextuel de séquences d&#39;images
WO2026087142A1 (fr) Procédé et dispositif de codage et décodage d&#39;images
WO2025180860A1 (fr) Procédé et dispositif de codage et décodage d&#39;images avec mécanisme de correction
WO2025180859A1 (fr) Procédé et dispositif de codage et décodage d&#39;images avec mécanisme de correction
WO2026003294A1 (fr) Procédé et dispositif de codage et décodage d&#39;un signal
FR3164089A1 (fr) Procédé et dispositif de codage et décodage d’images
WO2026003351A1 (fr) Procédé et dispositif de codage et décodage d&#39;un signal
WO2025056649A1 (fr) Procédé et dispositif de codage et décodage d&#39;images avec mécanisme d&#39;attention.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24724527

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 1020267001760

Country of ref document: KR

Free format text: ST27 STATUS EVENT CODE: A-0-1-A10-A15-NAP-PA0105 (AS PROVIDED BY THE NATIONAL OFFICE)

WWE Wipo information: entry into national phase

Ref document number: 1020267001760

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2024724527

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2024724527

Country of ref document: EP

Effective date: 20260122

ENP Entry into the national phase

Ref document number: 2024724527

Country of ref document: EP

Effective date: 20260122

ENP Entry into the national phase

Ref document number: 2024724527

Country of ref document: EP

Effective date: 20260122

WWP Wipo information: published in national office

Ref document number: 1020267001760

Country of ref document: KR