Method and device for coding and decoding image sequences
Patent Information
- Application Number
- EP2023818383
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-12-09
- Filing Date
- 2023-12-05
- Publication Date
- 2025-10-15
AI Technical Summary
Existing video compression techniques face complexity and inefficiency in encoding and decoding image sequences, particularly with the rise of neural network-based approaches that require significant memory and computational resources, hindering their adoption in practical applications.
A method that trains a neural network on characteristic vectors from image sequences to construct coding parameters, allowing for efficient compression by exploiting spatial and temporal redundancies, with a simple decoding process and a neural network structure that can be optimized for fewer parameters.
This approach enables effective compression of image sequences with a balance between compression efficiency and decoding simplicity, reducing the computational burden and memory requirements compared to conventional neural network-based methods.
Smart Images

Figure 1.1
Abstract
Description
Description Title of the invention: Method and device for coding and decoding image sequences. Prior art [1] The invention relates to the general field of coding digital image sequences. It relates more particularly to the compression of digital videos. [2] Digital videos are generally source-encoded to compress them in order to limit the resources required for their transmission and / or storage. There are many coding standards, such as the ITU / MPEG standards (H.264 / AVC, H.265 / HEVC, H.266 / VVC, etc.) and their extensions (MVC, SVC, 3D-HEVC, etc.). [3] 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. In existing video compression techniques, the processing of a block typically includes a prediction of the pixels of the block carried out 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. [4] As video formats continue to evolve to compress more and more and adapt to the variety of expected formats and communication networks, the possibilities for prediction are becoming ever greater and classic coding and decoding algorithms very complex. [5] In addition to these classic approaches proposed by compression standards (MPEG, ITU), approaches based on artificial intelligence, and in particular neural ones, tend to develop. [6] Some of these neural approaches can be seen as a simple extension of the notion of competition of the aforementioned compression techniques, such as the prediction and transformation mode competition in video coding. [7] Other approaches use the concept of "autoencoder". Autoencoders are learning algorithms based on artificial neural networks, which allow the construction of a new representation of a dataset. The architecture of an autoencoder consists of two parts: the encoder and the decoder. The encoder consists of a set of layers of neurons, which process the data in order to construct new representations called "encoded", also called "latent representations". In turn, the layers of neurons in 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 dataset.The performance of such autoencoder-based systems comes at the cost of a considerable increase in memory footprint and complexity compared to conventional approaches as proposed by compression standards. They can have millions of parameters and may require up to a million MACs (multiply-accumulate) to decode a single pixel. This makes such decoders significantly more complex than conventional decoders, which could hamper the adoption of learning-based compression. [8] More recently, a simple image encoding technique based on a neural network was described in the article "Compression with Implicit Neural representations" by Emilien Dupont et al. (arXiv:2103.03123). The proposed encoding technique consists of fitting a neural network to an image, quantizing the network weights and transmitting them. At decoding time, the neural network is evaluated at each pixel position to reconstruct the image. However, such a technique remains inefficient in terms of compression and requires coding the video frames independently. [9] There is therefore a need for a solution that allows a sequence of images to be coded / compressed in a simple and efficient manner. Statement of the invention
[0010] The invention relates to a method for coding a plurality of images according to claim 1 and a method for decoding a plurality of images according to claim 8.
[0011] For the purposes of the invention, encoding, or “coding”, means the operation which consists of representing a set of samples, or pixels, in a compact form carried by example by a digital bitstream. Decoding means the operation which consists of processing a digital bitstream to restore decoded samples.
[0012] By "image sequence" is meant a plurality of ordered two-dimensional images, for example temporally in the case of a video. According to another example, the images can be views of the same scene represented in multi-views. According to another example, the images can be a plurality of temporal and multi-view images (immersive video).
[0013] A "sample" is a value taken from an image in the sequence. Sampling a signal produces a series of discrete values called samples. In the case of an image signal, the sample is called a pixel, which can be, for example, a color pixel traditionally represented by a triplet of values, 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. A sequence of samples refers to a series of samples considered at the same coordinates in the respective series of images in the image sequence.
[0014] Feature maps are an abstract representation of a sequence of images, i.e., at least two images, containing a plurality of variable data, also called values, for example real numbers. These maps are also referred to as a "latent representation."
[0015] By "transformation of feature maps" is meant a mathematical operation that transforms the values of a first map into values of a second map. A first map, called the first group map, intended for coding, is arbitrary. A second map, called the transformed map, or the second group map, has the same resolution as the input images, i.e. it contains as many values as an input image (resp. to be decoded) contains samples (N). The transformation may include, for example, interpolation, oversampling, filtering, quantization, a Fourier transform, etc.
[0016] By "data 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 neural network. In the case of an image, such 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 samples to be encoded (resp. to be decoded). Once these values are taken from the feature maps, they can be processed to constitute the feature vector, before input into the neural network, for example by quantization, filtering, interpolation, etc.
[0017] By "neural network", or "synthetic neural network", we mean a neural network such as a convolutional neural network, a multi-layer perceptron, an LSTM (for "Long Short Term Memory" in English), etc. The neural network is defined for example by a plurality of layers of artificial neurons and by a set of activation, weighting and addition functions (for example, a layer can calculate y = f(Ax+b), where y and b are vectors of dimension N, x a vector of dimension M, A is a matrix of dimension MxN, and f is the activation function).
[0018] By "neural network parameter" we mean one of the values that characterizes the neural network, for example a weight associated with one of the neurons (filter coefficient, weighting, bias, value affecting the operation of non-linearity, etc.)
[0019] By "processing by a 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 sample to be encoded (resp. decoded). This output vector may include one or more data representative of the sample.
[0020] By "performance measurement" is meant a measurement between at least one value of a sample to be coded 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 of the first group. 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.
[0021] A "construction step" means a step that aims to construct the representative parameters of the image, before their actual coding. The construction sub-steps can be repeated as many times as necessary to obtain an acceptable performance measure.
[0022] Generally speaking, it is considered that the steps of an 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 than that indicated in the independent coding or decoding claim, or even in parallel.
[0023] The coding method according to the invention 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 each of the input images. These characteristic vectors are constructed from characteristic maps which may be at the resolution of the input images, or at a lower resolution. During the training, or construction, 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. When the training is finished, that is to say when the performance measurement obtained is satisfactory, the actual coding of the parameters of the neural network and the values of the characteristic maps can be carried out and stored or transmitted to the decoder.
[0024] Advantageously, the training process makes it possible to refine the parameters of the 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 throughput and the distortion undergone by the input images. The training of the values of the feature maps and the parameters of the neural network can be joint. Advantageously, the coding method according to the invention makes it possible to efficiently compress the image signal by exploiting the intra-image spatial redundancies but also the inter-image redundancies between the images of the sequence, whether it is a sequence of video images or a plurality of multi-view images, a series of medical images, etc.
[0025] Advantageously, the decoding process is simple since it is sufficient to decode the feature maps and the neural network to reconstruct a decoded version of an image sequence.
[0026] Such a neural network can advantageously be of very simple structure with few parameters.
[0027] According to embodiments of the coding or decoding method:
[0028] - The method comprises a step of transforming said first group of characteristic maps to obtain a second group of characteristic maps at the resolution of the images of the sequence, the method being characterized in that said characteristic vector is constructed from said characteristic maps of the second group.
[0029] Advantageously, according to this method, the characteristic maps are divided into two groups, one of which is reserved for the extraction of characteristic 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 must be able to facilitate the process of extraction and construction of the characteristic vector.
[0030] - According to a variant, at least one of the characteristic maps of the first group has a lower resolution than that of said images to be coded (resp. decoded) and the transformation operation includes oversampling. Advantageously, according to this mode, the compression of the characteristic maps is more efficient since at least one of the characteristic maps of the first group, to be coded (resp. decoded) has fewer values than if it were at the resolution of the images. For example, one of the characteristic maps of the first group may be at 1 / 2 resolution, that is to say that it has half as many values on the abscissa and ordinate as the input image has samples, i.e. in total 4 times fewer values than a characteristic map at the resolution of the image. On the other hand, the characteristic map of the second group which corresponds to a transformation of this map of the first group has a resolution identical to that of the images.The transformation therefore includes in this case at least one oversampling operation to obtain the same number of values in this transformed map as one of the input images (resp. to be decoded) has samples.
[0031] - At least one of said feature maps of the first group has the same resolution as the images to be coded (resp. decoded).
[0032] Advantageously, according to this mode, at least one of the characteristic maps, at the same resolution as the input images to be coded (resp. to be decoded) allows significant fidelity and respect for the details of the initial resolution of the images of the sequence. According to one embodiment, the transformation in this case preserves the number of values of the transformed characteristic map. It can be reduced to identity (no processing is carried out on the values of the map of the first group) or include a filtering operation, quantization, a Fourier transformation, etc. During coding, quantization 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 quantize them before encoding them and / or providing them as input to the neural network. During decoding, however, inverse quantization is not always necessary, depending on the implementation.
[0033] - The construction of said characteristic vector comprises a sub-step of extracting a value from said at least one characteristic map at a position identical to that of the current samples in the images to be coded (resp. decoded).
[0034] Advantageously, it is possible to extract a value from a feature map of the first or second group, at the same position as the samples in the images of the sequence (input images for coding, images to be decoded for decoding), to constitute an element of the feature vector. This process is simple to implement. For example, if we have J feature maps as input, with the same resolution as the images of the sequence, a simple extraction of the values of the maps at the coordinates of the current samples (at the same abscissa and the same coordinate in the feature map) makes it possible to directly construct the feature vector of J elements.
[0035] - The construction of said characteristic vector comprises the following sub-steps: - extracting a plurality of values from said feature maps of said first group as a function of said position of said current samples; - processing of said extracted values to obtain the characteristic vector.
[0036] Advantageously, according to this mode, the characteristic vector is extracted from the characteristic maps, which may be of any kind, and in particular at a resolution lower than that of the images to be coded (resp. decoded), before undergoing processing. Such processing may, for example, correspond to a quantification of the extracted data, or to scaling, or to filtering, etc. During coding, quantification is essential for the proper functioning of the system if the characteristic maps contain, for example, floating point or real values. It is necessary to quantify them before coding them and / or providing them as input to the neural network. During decoding, however, inverse quantification is not necessary, depending on the embodiments.
[0037] - The method comprises a step of constructing a group of additional feature maps, and the feature vector is further constructed from said additional feature maps. Advantageously, these additional maps of a third group, constructed identically at the encoder and at the decoder, are neither stored nor transmitted at the encoder, nor decoded at the decoder. They thus allow additional data to be used to improve compression without degrading the flow rate. For example, they can include coordinates, causal data available in the maps of the first or second group, data concerning other images already processed by the encoder or decoder, etc.
[0038] Alternatively, an additional map contains a value representing the temporal distance between frames in the video.
[0039] - The coding (resp. decoding) of said first group of feature maps comprises an entropic coding (resp. decoding) sub-step. Advantageously, entropic coding makes it possible to exploit the redundancies of the images which may persist in the feature maps, the images of the sequence thus being compressed more efficiently.
[0040] Correlatively, the invention also relates to a coding device and a decoding device for image sequences.
[0041] The characteristics and advantages of the coding or decoding method apply in the same way to the coding or decoding device according to the invention and vice versa.
[0042] The invention also relates to a computer program on a recording medium, this program being capable of being implemented in a computer or a control 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.
[0043] 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. For example, 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. Furthermore, 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.
[0044] The program according to the invention can in particular be downloaded from an Internet-type network.
[0045] Alternatively, 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. Brief description of the drawings
[0046] Other characteristics and advantages of the present invention will emerge from the description given below, with reference to the appended drawings which illustrate exemplary embodiments thereof which are not limiting in nature. [Fig. 1] Figure 1 schematically represents a coding device used in the context of the invention; [Fig. 2] Figure 2 schematically represents a decoding device used in the context of the invention; [Fig. 3] Figure 3 illustrates an example of a synthetic artificial neural network used in the context of the invention for coding and decoding; [Fig. 4] Figure 4 is a flowchart representing an example of an encoding method that can be implemented by the encoding device of Figure 1; [Fig. 5] Figure 5 illustrates an encoding method used in one embodiment of the invention; [Fig. 6] Figure 6 is a flowchart representing an example of a decoding method that can be implemented by the decoding device of Figure 2; [Fig. 7] Figure 7 illustrates a decoding method used in one embodiment of the invention. Description of the embodiments
[0047] Figure 1 schematically represents an ENC coding device.
[0048] This ENC coding device includes a GEN module for generating feature maps, a SE transformation module, an XTR data extraction module, a TT processing and quantization module, an MLP module corresponding to a network of artificial neurons, an NNC module for coding neural networks, an FMC module for coding feature maps, an EVAL module for evaluating a performance function, an MAJ update module, an optional FME module for generating additional feature maps.
[0049] The ENC coding 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.
[0050] The ENC coding device of Figure 1 receives as input a sequence of at least two images to be coded, denoted I(Pvn), each comprising respectively a plurality of samples Pvn. The index v indicates the image number in the sequence of V images. The index n indicates the pixel number in an image of N pixels. The image I(Pvn) can represent a two-dimensional image and the sequence a plurality of two-dimensional images (video sequence, stereoscopic, multiscopic components, series of medical images, etc.). In one embodiment, 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) components, or, alternatively, a luminance component and at least one chrominance component. The location of each pixel is defined by its abscissa and ordinate coordinates (x n and there n) in the image. In one embodiment, the sequence is a sequence of grayscale images represented using a two-dimensional representation, such as a pixel matrix, each pixel having a grayscale, or luminance, component. In this case the vector representing the pixel is reduced to a single component.
[0051] As will be described in more detail later with reference to Figures 4 to 7:
[0052] The feature map generation module GEN is configured to generate a plurality of M feature maps of a first group, denoted FMi, from the input image sequence I(P V n). The optional FME module can also generate one or more additional maps, L in number, which will neither be stored nor transmitted, noted FMEi.
[0053] In one embodiment, the SE module performs a transformation of the first group of feature maps to generate a second group of feature maps at the same resolution as the images of the input sequence. The SE module, optionally, may perform a quantization of the values of the maps of the first group by using a quantizer Q to generate an ordered collection of quantized values. Recall that quantization of a value refers to mapping that value to a member of a discrete set of possible code symbols. For example, the set of possible code symbols may consist of integer values, and the quantization system performs a simple rounding of a real value to an integer value. According to another example, the quantization consists of multiplication by a given value and then rounding.Then the SE module performs a transformation of the values of at least one of the feature maps, for example oversampling, interpolation, filtering, etc. At the end of the transformation, a transformed feature map of the second group is of the same resolution as the images of the input sequence. Advantageously, according to this mode, the feature maps that are coded can be of lower resolution than that of the images to be coded, while the maps of the second group, which are used for the construction of the feature vectors, are at the same resolution as the image sequence, which facilitates extraction.
[0054] In one embodiment, the SE module is absent, in this case the values which will be used to construct the characteristic vector are extracted from the first group of characteristic maps. The XTR module performs an extraction of values in the characteristic maps FMi (and / or FMSi and / or FMEi, according to one of the embodiments described previously), for a sequence of current samples Pv n to be coded, depending on its coordinates in the respective input images. For example, if we seek to code the samples Pm at the coordinates (x n , y n ) of image number 1 and P2n at coordinates (x n , y n ) of image number 2 of the sequence, the XTR module performs an extraction of values in the maps at positions imposed by the coordinates (x n , y n ) of current pixels.
[0055] In one embodiment, the extracted values constitute the vector Z n . Zn is a J-tuple, that is, it has J elements, or data Zi. The index n refers to the characteristic vector of the sequence of current samples, or pixels, P' vn .
[0056] In one embodiment, the optional TT module performs processing of the extracted values to generate the vector Z n . The TT module can perform quantification of the data extracted from the set of feature maps. The processing may include other operations, such as filtering, scaling, etc. In particular, if the SE module is not used and the feature maps of the first group are at lower resolutions than the images in the sequence, the TT module can take into account the coordinates of the values in the lower resolution maps.
[0057] Note that at least one of the SE or TT modules must perform a quantification of the feature maps.
[0058] The MLP module is a neural network defined by K parameters Wk, capable of processing the vector Z n , or J-Uplet, as input, to generate as output a sequence of vectors representative of a sequence of samples P' vn to be coded. The neural network is, 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 vectors, generally a plurality of vectors each comprising A elements. According to one embodiment, A is equal to 3 and an output vector is a triplet (R, G, B) of one of the N pixels P' vn of image v, encoded then decoded.
[0059] The NNC module performs the coding of the neural network, in particular of its Wk parameters. During the training process, or construction, of the coding, that is to say as long as the performance evaluation step is not satisfactory, the NNC module performs a coding simulation, followed by a decoding, intended for the evaluation module. It updates the parameter values according to the results of a performance measurement carried out by the EVAL module. Subsequently, it performs the actual coding of the Wk neural network parameters. The coded parameters are denoted Wck. As is known, the coding simulation can be identical to the actual coding, or produce an approximation thereof.
[0060] The FMC module performs the coding of the FMi maps, i.e. the values of the feature maps of the first group (excluding the additional FMEi maps and the maps of the second group, optionally resulting from oversampling by the SE module). During the process of training, or building, the coding, i.e. as long as the performance evaluation step is not satisfactory, the FMC module performs a coding simulation, followed by decoding, for the evaluation module. Subsequently, it performs the actual coding of the values of the FMi maps. The coded maps are denoted FMci. In a known manner, the coding simulation can be identical to the actual coding, or produce an approximation thereof. The coding module quantifies, if necessary, the latent representation of the values of the maps in the first group using a quantifier to generate an ordered collection of quantized values. Then the encoding module compresses the quantized data, for example using entropy-type encoding.
[0061] 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 gradient descent, or any other method within the reach of a person skilled in the art.
[0062] The MAJ module updates the values of the FMi cards to be encoded based on the results of the performance function.
[0063] Figure 2 schematically represents a DEC decoding device.
[0064] The DEC coding device of Figure 2 receives as input a first group of encoded data organized into M FMci feature maps (also called FM layers) and the encoded Wck parameters of the neural network. It decodes the N sequences of samples Pdvn of the V images of the sequence to be decoded.
[0065] This DEC decoding device includes a neural network decoding NND module, a feature map decoding FMD module, a data extraction XTR' module, an inverse transformation SE' module, an inverse processing and quantization TT' module, an MLP' module corresponding to a neural network, an optional FME' module for generating additional feature maps. It produces as output a sequence of decoded images, denoted I(Pd vn ), each comprising respectively a plurality of decoded samples Pd vn .
[0066] The maps decoded by the FMD module, numbering M, are denoted FMdi. The parameters decoded by the NND module are denoted Wdk.
[0067] The decoder can also generate one or more additional maps, noted FME'i, numbering L, identical to the additional FMEi maps generated by the encoder.
[0068] In one embodiment, the module SE' performs a transformation of the first group of decoded FMdi feature maps to generate a second group of feature maps at the same resolution as the images to be decoded, denoted FMS'i. The module SE' optionally performs an inverse quantization corresponding to the quantization performed at the encoder. The inverse quantization is not necessary if the quantizer Q of the encoder has performed a simple rounding of the real values submitted to it. The quantization inverse is not necessary either if the neural network is able to take into account a quantization of its input data. Otherwise, the decoder performs the inverse operation of the quantizer Q. Then the SE' module performs a transformation of the values of the feature maps, for example upsampling, interpolation, filtering, etc., similar to that performed by the encoder. At the end of the transformation, a transformed feature map of the second group is of the same resolution as the images of the sequence to be decoded.
[0069] In one embodiment, the SE' module is absent, in this case the values which will be used to construct the characteristic vector are extracted from the first group of characteristic maps.
[0070] The XTR' module is identical to the XTR module of Figure 1. It performs an extraction of values from the M FMdi characteristic maps, (and / or FMS'i and / or FME'i, according to one of the embodiments described previously), for a sequence of current samples Pd vn to be decoded, based on the coordinates of the samples in the respective images to be decoded. In one embodiment, J=M. In one embodiment, J=M+L.
[0071] In one embodiment, the extracted values constitute the vector Zd n . Zd n is a J-tuple, that is, it has J elements, or zdi data.
[0072] In one embodiment, the optional TT' module performs processing of the extracted values, to generate the vector Zd n. The TT module can perform inverse quantization of the data extracted from the feature map set. The processing may include other operations, such as filtering, scaling, etc., similar to those performed by the encoder.
[0073] The MLP' module is a neural network defined by K parameters Wdk, capable of processing the vector Zd n , or J-Uplet, as input, to generate as output a sequence of vectors representative of a sequence of samples Pd vn , each comprising A elements. According to one embodiment, A=3 and an output vector is the triplet (R, G, B) of one of the N pixels Pd vn of the image v to be decoded. The MLP' module has the same structure as the MLP module, and its parameters are either identical if the coding of its parameters Wk is lossless, or different if the coding is lossy.
[0074] When all Pd sample sequences vnhave been decoded, we have a sequence of reconstructed images, according to the example V images I(Pd vn ) each comprising N samples.
[0075] The decoding device DEC 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 carry out the functionalities of the module concerned, in particular as described below, when these instructions are executed by the processor
[0076] Figure 3 illustrates an example of a synthetic artificial neural network used in embodiments of the invention for encoding and decoding.
[0077] The MLP synthetic artificial neural network for coding and the MLP' synthetic artificial neural network for decoding 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.
[0078] A vector representation of a sequence of current samples (a vector Z n or Zdn from the FMi / FMSi and FMEi or FMdi / FMS'i and FME'i feature maps) is applied as input (i.e. on an input layer) of the MLP or MLP' synthetic artificial neural network. The artificial neural network produces as output a plurality of P' vectors vn or Pd vnrepresentative of the reconstructed (at coding) or decoded (at decoding) samples, according to one embodiment the color components (R, G, B or Y, U, V) constituting the color pixels of an image sequence. In Figure 3, the image sequence corresponds to two images, each sample sequence comprises two samples and the corresponding vectors are noted Pdi n and Pd2n.
[0079] The concatenation of all the reconstructed pixels in each of the images in the output sequence constitutes the sequence of decoded (at the decoder), or reconstructed (at the encoder) images.
[0080] At the encoder, the MLP synthesis artificial neural network is trained on the image sequence, so as to minimize the differences between the input representation of the current image sequence I(P vn ) and its representation I(P' Vn) in output, while also minimizing the amount of data to be encoded. The EVAL module performs a performance measurement in this regard.
[0081] Once training is complete, the network parameters are encoded, either lossless, in which case the MLP' neural network is identical to MLP, or lossy, in which case the MLP' network may be slightly different from MLP.
[0082] Figure 4 is a flowchart representing an example of an encoding method that can be implemented by the encoding device of Figure 1.
[0083] According to this embodiment, the sequence is a sequence of two-dimensional images, each sample sequence to be coded is therefore a set of pixels P vn of coordinates (x n , y n ) in the respective images I(P V n) of the sequence to be coded.
[0084] Encoding takes place in two main phases:
[0085] In a first phase, called the construction phase, learning is performed in order to determine, for an input sequence I(Pvn), the values of the FMi maps and the Wk parameters to optimize a global cost function. Learning is for example performed by gradient descent, followed by an update of the parameters of the MLP neural network and the values of the FMi feature maps. As is known in the state of the art, the cost function can be of the rate-distortion, or rate, or distortion, or perceptual type. To measure the rate R, it is necessary to simulate the coding of the FMi maps, then to measure the associated coding rate (the size of the stream B 1). According to one embodiment, the coding of the Wk parameters is not simulated because their influence is less important than that of the feature maps. According to one embodiment, the coding of the Wk parameters is also simulated and the associated rate is measured (the size of the stream B2).To measure the distortion D, it is necessary to simulate the coding then the decoding of at least part of the image sequence, to obtain at least one sequence of pixels P'. vn resulting from a simulation of coding then decoding of the samples of index n, then measuring the difference between this part of the sequence of images I(P vn ) as input and a corresponding part of the sequence I(P' vn ) encoded then decoded.
[0086] Then, in a second phase, called the coding phase, the FMi maps and the Wk parameters are encoded to produce the coded values FMd and Wck before transmission or storage. They constitute the compressed representation of the input sequence I(P V n).
[0087] We will now describe the steps of a method according to one embodiment of the invention.
[0088] During a step E20, an input sequence I(P Vn) to be coded, comprising at least two images, each of them comprising a plurality of N samples P n , is provided as input to the method. According to one embodiment, these images are temporal images of a video sequence. According to one embodiment, these images are images of a series of images, for example medical images. According to one embodiment, these images are multi-view or 3D components of a multi-view or 3D image or sequence of images.
[0089] In step E21, the M FMi maps of the first group are initialized. Subsequently, the Wk parameters of the MLP neural network and the values of the FMi maps must be optimized during the construction phase.
[0090] According to one embodiment, the FMi maps are of the same resolution as the images of the input sequence I(P vn ) and therefore each have the same number of values N as there are samples P vn to code in each image v.
[0091] According to one embodiment, the FMi maps have a resolution lower than or equal to that of the images of the input sequence I(P vn ) and therefore include, for at least one of them, a number N' of values to be coded less than N. According to a variant, the first FMi card is at the resolution of the images and each following card is at a resolution half that of the previous one.
[0092] According to one embodiment, several FMi cards have the same resolution, lower than that of the images of the input sequence I(Pvn).
[0093] According to one embodiment, the FMi maps are transformed to provide a second group of transformed feature maps FMSi. In this mode, the feature vectors are preferably extracted from the transformed maps of the second group, and not directly from the maps of the first group. In this mode, the feature vectors are therefore extracted indirectly from the maps of the first group. The maps of the second group are neither stored nor transmitted, they are used only for the construction of the feature vectors.
[0094] According to one embodiment, the FMi cards are initialized by predefined constant values.
[0095] According to another embodiment, the feature maps are initialized by a set of random real values.
[0096] According to one embodiment, one or more FMEi maps, forming an additional group of L additional feature maps, are generated, and complete the first group. They are used to construct the feature vector but are neither stored nor transmitted.
[0097] The FMi characteristic maps of the first group are subsequently updated, or refined, during a step E22, by the MAJ update module of the encoder during its learning.
[0098] In a step E23, the FMi maps of the first group are coded by the FMC module of the encoder. During the construction phase, this operation is a coding simulation. During the coding phase, this operation is an actual coding and the coded values constitute the stream B 1. The simulation can be identical to the actual coding but it can also be different (for example, simplified). For this coding, any known technique aimed at compressing the values of the maps can be used.
[0099] In one embodiment, the FMi cards are coded in order (FMi, FM2,..., FM4), and the variables of each card in a predefined order, for example lexicographic. Each card undergoes entropy coding. The entropy coding produces a compressed stream B 1 whose bit rate is subsequently measured during a step E29.
[0100] During a step E24, according to one embodiment, the M maps of the first group FMi are transformed by the module SE to generate maps of the second group FMSi at the resolution of the images of the input sequence.
[0101] According to one embodiment, M FMSi maps are generated.
[0102] According to one embodiment, each FMi card is transformed into an FMSi card.
[0103] According to one embodiment, at least one FMi map has a lower resolution than the images of the sequence to be coded and the transformation operation comprises oversampling so that the transformed FMSi map has the same number of samples as the images of the sequence. Oversampling consists of adding values to the FMSi maps to achieve the resolution of the images of the input sequence. It can be simple (by nearest neighbor replication) or include interpolation (linear, polynomial, by filtering, etc.).
[0104] During an E25 step, values are extracted by the XTR module from the transformed FMi or possibly FMSi cards, and optionally additional FMEi cards. This extraction is performed according to the coordinates (x n , y n ) of the sample sequence P vncurrents of the input images. It can also be performed according to the resolution of the map considered. The sequences of samples to be coded are, for example, processed in sequential order, from n=1 to n=N.
[0105] According to one embodiment, the vector Z n characteristic results directly from this extraction.
[0106] According to one embodiment, during a step E26, the vector Z n characteristic is constructed by the TT module from the values extracted from the FMi or FMSi maps and optionally FMEi for each sequence of samples P vn of coordinates (x n , y n ) of the input images. Processing may include quantization of the extracted values or of the Z vector n constituted, if necessary. The processing may include other operations, such as filtering, scaling, applying any function, preferably monotonic, etc.
[0107] In one embodiment, Z n has as many values as there are FMi or FMSi (and optionally FMEi) input cards. In this case we have J=M(+L).
[0108] In one embodiment, Z n is a J-uplet (zi, Z2, . . . , zj), consisting of the values of the maps FMi or FMSi (and optionally FMEi) located at the coordinates (x n , y n ) of a current pixel P vn , as will be illustrated in support of Figure 5.
[0109] In one embodiment, Z n is a J-tuple constructed from values taken from FMi (and optionally FMEi) maps at coordinates that may be different between maps. For example, if the FMi (and / or FMEi) maps are at different resolutions because they have been downsampled, the coordinates are adapted (by scaling) to match the resolution of each map.
[0110] In one embodiment, Z n is a J-tuple constructed from values taken from FMi (and optionally FMEi) maps by applying processing to one or more values of the maps, for example filtering the values close to the targeted value in a map. For example, in an FMi map that is at the same resolution as the input signal, we can extract the values located at the coordinates (x n , y n ), (x n -l, y n ), (x n , y n -l) and (xn-1, yn-l) and apply processing to these values (filtering, averaging, interpolation, etc.) to obtain the final value (zi) of element i of vector Z n relative to this FMi or FMEi card. According to another example, in an FMi card which is at half resolution of the input signal, we can consider the values located at the coordinates (x n / 2, y n / 2), (x n / 2-l, y n / 2), (xn / 2, yn / 2- 1) and (xn / 2-1, y n / 2- 1) and apply processing to these values (filtering, averaging, interpolation, etc.) to obtain the final value (z0 of element i of vector Z n relating to this FMi or FMEi card.
[0111] During a step E27, the vector Z n is processed by the MLP neural network to generate the output sample sequence P vn to code, according to one embodiment, the triplets (R, G, B) of the samples P' vn (the P samples vn coded then decoded).
[0112] The structure and Wk parameters 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 process.
[0113] According to one embodiment, 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).
[0114] According to another embodiment, the parameters Wk of the neural network are initialized by a set of random values.
[0115] In step E28, the Wk parameters of the MLP neural network are quantized and coded. During the construction phase, this operation is a coding simulation. During the coding phase, this operation is an actual coding and the coded values constitute the B2 stream. 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). Note that in this case, the amount of degradation that the coding brings to the Wk parameters must be chosen.
[0116] During step E29, a performance measure is evaluated.
[0117] For this purpose, the coding simulation rates associated with the feature maps of the first group (simulation of the B 1 flow by coding the FMi maps) and optionally with the parameters of the neural network (simulation of the B 2 flow by coding the Wk parameters) are measured.
[0118] According to one embodiment, the cost function is of the rate-distortion type, denoted (D+L*R), where D for example the quadratic error measured between the input images and the decoded images (or the error measured on a sample subset of the images). According to another example, D is calculated from a perceptual function such as the SSIM (for Structural SIMilarity), or MSSSIM (for Multi-scale Structural SIMilarity). In one embodiment, R is the simulated bitrate of stream B 1 ; in another embodiment, R is the total bitrate used to encode this image, i.e., the sum of the simulated bitrates of B 1 and B2. L is a parameter that adjusts the bitrate-distortion tradeoff. Other cost functions are possible.
[0119] As long as the cost function has not reached its minimum, the performance measure is not satisfactory, and the method is repeated from step E22. This minimization can be performed by a mechanism known as gradient descent with parameter updates during step E22 for the feature map values and E27 for the network parameters.
[0120] In an EF step, if the cost function has reached its minimum, training stops. If an encoded version corresponding to the last simulation of the neural network parameters (Wk) and feature maps (FM0) is available, streams B1 and B2 can be formed from them. According to another embodiment, the actual encoding of the updated neural network parameters (Wk) and feature map values (FM0) is performed at this step to produce the encoded parameters Wck and FMd which constitute streams B1 and B2.
[0121] The B1 and B2 streams may be concatenated to produce a final stream. According to one embodiment, the B2 stream of encoded parameters of the neural network is stored or transmitted before the B1 stream, so that it can be decoded before the B1 stream.
[0122] Figure 5 illustrates an encoding method used in one embodiment of the invention.
[0123] In this illustration, a sequence of two images I(Pin) and I(P2n) is to be coded. Generally, a sequence of V images I(P vn ) is applied as input to the coding process and device. In this illustration, the samples, or pixels, are processed in sequences of two, with two pixels being taken from the respective images at a position denoted (x n , y n ), with n varying from 1 to N. (Pin is taken from image 1 at position (x n , y n ) and P2n is taken from image 2 at position (x n , y n )).
[0124] In this embodiment, there are 4 FMi maps generated. In a preferred embodiment, there are 7.
[0125] The first FMi map has the same resolution as image I, and therefore has N=WxH variables, where W represents the image width in pixels, and H its height. The second FM2 map has half the resolution (in each dimension) of the FMi map. Each additional map has half the resolution of the previous map. This structure allows reducing the number of variables in the feature maps, which facilitates coding and training while minimizing the coding cost.
[0126] The FM2 map is oversampled by the SE module by a factor of 2 in each dimension, according to a method illustrated in Figure 6. The FM3 map is oversampled by a factor of 4 in each dimension, and the FM4 map by a factor of 8 in each dimension.
[0127] The resulting FMSi maps are of the same resolution as the I(P) images vn), and therefore each have WxH values, where W represents the width of the image in pixels and H its height (N=WxH).
[0128] According to this embodiment, the FMi layers are quantized by the SE module.
[0129] Other types of structure are possible, for example one can use a reduction rate different from half between cards (a quarter, or a third, etc.).
[0130] According to a variant presented in dotted lines, the feature maps are 5 in number: an additional FMEo map has been introduced, which will not be coded or transmitted. This additional map typically contains data that can assist the MLP network in the task of image reconstruction. Thus, the added maps can be one or more from the following non-exhaustive list:
[0131] - A map showing the abscissa of that point at each point.
[0132] - A map showing the ordinate of that point at each point.
[0133] - A map with positional coding at each point (as described for example at the Internet address https: / / skosmos.loterre.fr / P66 / fr / page / -K0D65X2X-X).
[0134] - A map representing an image distinct from the images being processed, capable of providing information on the images to be coded, for example a previously processed image or sequence of images.
[0135] - A map containing data representing the time difference between frames in 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.
[0136] - A map representing a feature map of an image distinct from the images being processed, capable of providing information on the images to be coded, for example a previously processed map.
[0137] - A card containing the value of an already decoded sample from the same card, for example the previous sample in the decoding order.
[0138] In this embodiment, the vector Z n is a 4-tuple (Z1...Z4) consisting of the values extracted from the FMSi maps located at the coordinates (x n , y n ) of the current pixel sequence P vii. The vector Z n consisting of the extracted (quantized) values of the FMSi maps is processed by the MLP neural network to generate as output a sequence of vectors, according to the example two triplets representative of the samples Pin and P2n to be coded. The output vectors are in this embodiment the triplets (R, G, B) of the pixels P'in and P'2n encoded then decoded. The triplets are inserted into the decoded images I(P'in) and I(P'2n) at positions (x n , y n ) of the color components (R', G', B') of the two images.
[0139] In another embodiment, not shown, the vector Z n is extracted directly from the FMi layers, at positions recalculated according to the size of the maps, then the extracted values are optionally processed and quantified after extraction.
[0140] According to the variant shown in dotted lines, the vector Z n is a 5-tuple (Z0...Z4), the value zo being extracted from the additional map FMEo.
[0141] Figure 6 is a flowchart representing an example of a decoding method that can be implemented by the decoding device of Figure 2.
[0142] During a step E30, the streams B1 and B2 are extracted from the encoded stream BS. They contain respectively the coded representations of the maps of the first group FMci and the parameters Wc k .
[0143] During a step E31, the M FMdi maps are generated by decoding the FMci values. For this decoding, any known technique similar to that used in the encoder can be used, preferably entropy decoding. In one embodiment, the FMdi maps are decoded in order (FMdi, FMd2,... FMd4), and the variables of each map in a predefined order, for example lexicographic.
[0144] According to embodiments as described for the encoder:
[0145] - The FMdi maps are of the same resolution as the images of sequence I (Pd vn ) to be reconstructed, that is to say that they include N=WxH values.
[0146] - The FMdi maps are of resolution lower than or equal to that of the images of sequence I (Pd vii) to be reconstructed.
[0147] - Several FMdi maps are of the same resolution, lower than that of the images in the sequence.
[0148] During a step E32, according to one embodiment, one or more FME'i maps, forming an additional group of L additional feature maps, are generated and complete the first group. They are not decoded but generated by the decoder in a manner identical to the generation of the encoder. They typically comprise data that can assist the MLP' network in the task of reconstructing the images of the sequence. The non-limiting list of possible additional feature maps described in support of FIG. 5 for the encoder applies here.
[0149] During a step E33, according to one embodiment, the M maps of the first group FMdi are transformed by the module SE to generate maps of the second group FMS'i at the resolution of the images of the input sequence.
[0150] According to one embodiment, M FMS'i maps are generated.
[0151] According to one embodiment, each FMdi card is transformed into an FMSi card.
[0152] According to one embodiment, at least one FMdi map has a lower resolution than the images of the sequence to be coded and the transformation operation includes oversampling so that the transformed FMS'i map includes the same number of samples as the images of the input sequence. As in the encoder, oversampling consists of adding values to the FMS'i maps to achieve the resolution of the images of the input sequence. It can be simple (by nearest neighbor replication) or include interpolation (linear, polynomial, by filtering, etc.)
[0153] The transformation can optionally include inverse quantization of the extracted values, if necessary. However, inverse quantization is not mandatory.
[0154] During a step E34, values are extracted by the XTR' module from the transformed FMdi or possibly FMS'i maps, and optionally additional FME'i. This extraction is carried out according to the coordinates (x n , y n ) of the current sample sequence P vn to decode images from the sequence. It can also be done according to the resolution of the map considered. The sequences of samples to be decoded are for example processed in sequential order, from n=1 to n=N.
[0155] According to one embodiment, the vector Zd n characteristic results directly from this extraction.
[0156] In particular, in one embodiment, Zd n is a J-uplet (zi, Z2, . . . , zj), consisting of the values of the maps FMdi or FMS'i (and optionally FME'i) located at the coordinates (x n , y n ) of a current pixel Pd vn, as will be illustrated in support of Figure 7.
[0157] According to one embodiment, during a step E35, a vector Zd n is constructed by the TT' module from the values extracted from the FMdi maps of the first group or from the FMS'i maps of the second group and possibly FME'i of the additional group, for each sequence of samples Pd vn of coordinates (x n , y n ) of the input images to be decoded, depending on the coordinates (x n , y n ). This step is identical to step E26 which was described for the encoder in support of Figure 4 and the described embodiments apply. The extraction may include an inverse quantization of the extracted values or of the vector Zd n constituted, if necessary.
[0158] In a step E36, the Wdk parameters of the MLP' neural network are generated by decoding the Wck values 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' neural network is similar to the MLP 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.
[0159] According to one embodiment, the stream B2 is decoded before the stream B1, in order to be able to have the neural network available before starting to decode the sample sequences.
[0160] During a step E37, the vector Zd n is processed by the MLP' neural network to generate the output sequence of samples Pd vn current to decode, according to one embodiment the triplets (R, G, B) of the samples Pd vn . The samples are inserted into the decoded images I(Pdvn ) at positions (x n , y n ) of the color components (Rd, Gd, Bd) of the respective images of the sequence. This step is identical to step E27 which was described for the encoder in support of figure 4.
[0161] When all sample sequences have been processed, the corresponding decoded image sequence is available.
[0162] Figure 7 illustrates a decoding method used in one embodiment of the invention.
[0163] In this illustration, a sequence of two images I(Pdi n ) and I(Pd2n) is to be decoded. Generally, a sequence of V images I(Pd vn ) is decoded by the decoding method and device. In this illustration, the samples, or pixels, are processed in sequences of two, with two pixels being decoded and reconstructed in the respective images at a position denoted (xn, y n), with n varying from 1 to N. (Pdi n is inserted into image 1 at position (x n , y n ) and Pd2n is inserted into image 2 at position (x n , yn)).
[0164] In this embodiment, there are 4 FMdi cards. In a preferred embodiment, there are 7.
[0165] In this embodiment, the first FMdi map has the same resolution as the image I, and therefore has WxH variables, where W represents the width of the image in pixels, and H its height. The second FMd2 map has half the resolution (in each dimension) of the FMdi map. Each additional map has half the resolution of the previous map. This structure makes it possible to reduce the number of variables in the feature maps, which facilitates decoding while minimizing the coding cost.
[0166] The FMd2 map is oversampled by the SE' module by a factor of 2 in each dimension, according to any oversampling method within the reach of a person skilled in the art. The FMds map is oversampled by a factor of 4 in each dimension, and the FMd4 map by a factor of 8 in each dimension.
[0167] FMS'i cards have 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.
[0168] In this embodiment, the vector Zd n is a 4-tuple (Z1...Z4) consisting of the values of the FMS'i maps located at the coordinates (x n , y n ) of the current pixel sequence Pd vn . The vector Zd n is optionally dequantized and then processed by the MLP' neural network to generate as output the respective triplets (R, G, B) or (Y, U, V) of the two samples Pd vn (Pdi nand Pd2n) to be decoded. The triplets (R, G, B or Y,U,V) are inserted into the respective decoded images I(Pdi n ) and I(Pd2n) at the coordinates (x n , y n ) in the color components (Rd, Gd, Bd) or (Yd, Ud, Vd) of the images.
[0169] According to a variant presented in dotted lines, there are 5 cards: an additional card FME'o has been introduced. In this embodiment, the vector Zd n is a 5-tuple.
Claims
Claims
1. Method for coding a sequence of at least two images (I(P V n), I(Pin), I(P2n)) including samples (Pv n , Pin,, P2n) to be coded comprising the following steps: - a construction stage, comprising the sub-stages of: - construction (E21, E22) of a first group of characteristic maps (FM0; - for a sequence of samples, called current samples (P vn , Pin,P2n), of said respective images of the sequence, associated with a position (x n , y n ) in the said respective images: - construction (E25) of a characteristic vector (Z n ) from said feature maps (FMi) of said first group, as a function of said position (x n , y n ) of said current samples (Pin, P211), and; - processing (E27) of said vector (Z n) by an artificial neural network (MLP) defined by a set of parameters (Wk), to provide a sequence of vectors representing respectively decoded values (P'in, P'2n) of said current samples; - updating (E22, E27) at least one value of one of said characteristic maps of said first group and / or at least one parameter of said network, as a function of a coding performance measurement, - a coding step (E23, E28, EF) of said first group of characteristic maps (FMi) and of said set of parameters (Wk).
2. Method for coding a sequence of images according to claim 1, characterized in that it comprises a step of transforming (E24) said first group of characteristic maps (FMi) to obtain a second group of characteristic maps (FMSi) at the resolution of the images of the input sequence, and in that said characteristic vector (Zn) is constructed from said transformed characteristic maps (FMSi) of the second group obtained from said characteristic maps (FMi) of said first group.
3. Coding method according to claim 2, characterized in that at least one of said characteristic maps of the first group (FMi) is of lower resolution than that of said images to be coded and in that the transformation operation comprises oversampling.
4. Coding method according to one of the preceding claims, characterized in that the construction of said vector (Z n ) characteristic comprises a sub-step of extracting a value from said at least one characteristic map (FMi, FMSi.) at an identical position (x n , y n ) to that of the current samples (P vn ) in said images to be coded.
5. Coding method according to claim 1, characterized in that the construction of said characteristic vector (Zn) comprises the following sub-steps: - extracting a plurality of values from said feature maps of said first group (FMi) as a function of said position (x n , y n ) of said current samples (Pvn); - processing (E26) of said extracted values to obtain the characteristic vector.
6. Coding method according to one of the preceding claims, characterized in that it comprises a step of constructing (E21, E22) an additional group of characteristic maps (FMEi), and in that the characteristic vector is further constructed from said characteristic maps of the additional group.
7. Coding method according to one of the preceding claims, characterized in that the coding of said first group of characteristic maps comprises an entropy coding sub-step.
8. Method for decoding a sequence of at least two images (I(Pd vn ), I(Pdin), I(Pd2n)) comprising samples (Pvn, Pin, P2n) to be decoded comprising the following steps: - decoding (E31) of a first group of characteristic maps (FMdi); - decoding (E36) of a set of parameters (Wdk) representative of a neural network (MLP'); - for a sequence of samples, called current samples (Pd vn ), of said respective images of the sequence to be decoded, associated with a position (x n , y n ) in the said respective images: - construction (E34) of a characteristic vector (Zd n ) from the characteristic maps of said first group (FMdi), as a function of said position (x n , y n ) of said current samples, and: - processing (E37) of said vector (Zd n ) by an artificial neural network (MLP') defined by the decoded parameters (Wdk) to provide a sequence of vectors representing respectively said current samples (Pd vn ).
9. Decoding method according to claim 8, characterized in that it comprises a step of transforming (E33) said first group of decoded characteristic maps (FMdi) to obtain a second group of characteristic maps (FMS'i) at the resolution of the images of the input sequence and in that said characteristic vector (Zd n ) is constructed from said transformed feature maps (FMS'i) of the second group obtained from said decoded feature maps (FMdi) of said first group.
10. Decoding method according to claim 9, characterized in that at least one of said characteristic maps of the first group (FMdi) is of lower resolution than that of said images to be decoded and in that the transformation operation comprises oversampling.
11. Decoding method according to one of claims 8 to 10, characterized in that the construction of said vector (Zd n ) characteristic comprises a sub-step of extracting (E34) a value from said at least one characteristic map (FMdi, FMS'i) at an identical position (x n , y n ) to that of the current samples (Pd vn ) in the said images to be decoded.
12. Decoding method according to claim 8, characterized in that the construction of said characteristic vector (Zd n ) includes the following sub-steps: - extracting a plurality of values from said feature maps of said first group (FMdi) as a function of said position (x n , y n ) of said current samples (Pd vn ) ; - processing (E35) of said extracted values to obtain the characteristic vector.
13. Decoding method according to one of claims 8 to 12, characterized in that it comprises a step of constructing (E32) an additional group of characteristic maps (FME'i) and in that the characteristic vector is further constructed from said characteristic maps of the additional group.
14. Decoding method according to one of claims 8 to 13, characterized in that the decoding (E31) of said first group of characteristic maps comprises an entropic decoding sub-step.
15. Device for coding a sequence of at least two images (I(Pvn), I(Pin), I(P2n)) comprising samples (Pv n , Pin, P2n) to be coded, characterized in that said device is configured to implement: - construction (GEN, MAJ) of a first group of characteristic maps (FMQ; - for a sequence of samples, called current samples (Pvn , Pin, P2n), of said respective images of the sequence, associated with a position (x n , yn) in said respective images: - construction (XTR) of a characteristic vector (Z n ) from said feature maps (FM0 of said first group, as a function of said position (x n , yn) of said current samples (Pin, P2n); - processing (MLP) of said vector (Zn) by an artificial neural network (MLP) defined by a set of parameters (Wk), to provide a sequence of vectors representing respectively decoded values (P' in, P'2n) of said current samples; - updating (MAJ, NND) at least one value of one of said characteristic maps and / or at least one parameter of said network, based on a coding performance measurement; - a coding step (FMC, NNC) of said first group of characteristic maps (FMi) and of said set of parameters (Wk).
16. Device for decoding a sequence of at least two images (I(Pd VI1X I(Pdin), I(Pd2n)) comprising samples (Pd vn , Pdi n , Pd2n) to be decoded, characterized in that said device is configured to implement: - decoding (FMD) of a first group of characteristic maps (FMdi); - decoding (NND) of a set of parameters (Wdk) representative of a neural network (MLP'); - for a sequence of samples, called current samples (Pd vn ), of said respective images of the sequence to be decoded, associated with a position (x n , y n ) in the said respective images: - construction (E34, XTR') of a characteristic vector (Zd n ) from the characteristic maps of said first group (FMdi), as a function of said position (x n , y n ) of said current samples, and: - processing (E36, MLP') of said vector (Zd n ) by an artificial neural network (MLP') defined by the decoded parameters (Wdk) to provide a sequence of vectors representing respectively said current samples (Pd vn ).
17. A computer program comprising instructions for carrying out the steps of an encoding or decoding method according to claim 1 or 8 when said program is executed by a computer.