EP4295574A1 - Prédiction pondérée d'image, codage et décodage d'image utilisant une telle prédiction pondérée - Google Patents

Prédiction pondérée d'image, codage et décodage d'image utilisant une telle prédiction pondérée

Info

Publication number
EP4295574A1
EP4295574A1 EP22710422.1A EP22710422A EP4295574A1 EP 4295574 A1 EP4295574 A1 EP 4295574A1 EP 22710422 A EP22710422 A EP 22710422A EP 4295574 A1 EP4295574 A1 EP 4295574A1
Authority
EP
European Patent Office
Prior art keywords
prediction
pixels
current
bro
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP22710422.1A
Other languages
German (de)
English (en)
Inventor
Pierrick Philippe
Théo LADUNE
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
Publication of EP4295574A1 publication Critical patent/EP4295574A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Definitions

  • the present invention relates generally to the field of image processing, and more specifically to the coding and decoding of digital images and sequences of digital images.
  • the coding/decoding of digital images applies in particular to images from at least one video sequence comprising:
  • the present invention applies similarly to the coding/decoding of 2D or 3D type images.
  • the invention can in particular, but not exclusively, be applied to video coding implemented in current AVC, HEVC, WC video coders and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.) , and the corresponding decoding.
  • a prediction block BP associated with a block being coded is directly linked to at least one reference block BRo of the image to which the block being coded belongs or of an already decoded image, conventionally called reference image .
  • the reference block BRo is moved for each spatial position (x,y) of the pixels thereof.
  • a motion-compensated reference block BCo is then obtained.
  • the relationship between the prediction block BP and the motion-compensated reference block BCo is then expressed as follows:
  • BP(x, ) (1 - w) * BC Q (X, )
  • w is a weighting parameter of the prediction, which is 0 most of the time, but which can be adjustable as explained below.
  • each pixel of the prediction block BP is the result of a weighting of the pixels of the two motion-compensated reference blocks BCo and BCi. More precisely, if for example, the prediction is implemented line by line, and from left to right:
  • the 1st pixel at the top left of the prediction block BP is the result of a weighting of the 1st pixel at the top left of the motion-compensated reference block BCo and the 1st pixel at the top left of the reference block BCi motion compensated
  • the prediction block BP is calculated according to the following relationship:
  • linear weighting is applied uniformly to the image being encoded.
  • the weighting parameter w y is fixed, and is signaled to the decoder, for each sub-image or “slice” of the image being encoded.
  • the balanced weighting 0.5 / 0.5
  • the PPS information for “Picture Parameter Set” in English
  • a BP prediction block is calculated according to the following relationship:
  • BP x,y (1 — w) * BC 0 (x,y ) + w * BO ⁇ c,g)
  • the weighting parameter w can take 5 values: 0.5, 0.625, 0.375, 1.25, - 0.25.
  • the weighting parameter i/i/ is associated with a relatively small number of values, which induces a lack of precision in the weighted prediction applied.
  • the encoder conforming to the aforementioned standards must systematically encode and transmit to the decoder the value of the weighting parameter w which has been selected, which increases the signaling cost.
  • One of the aims of the invention is to remedy the drawbacks of the aforementioned state of the art by improving the precision of the weighted prediction of the art earlier, in favor of a reduction in the cost of signaling the information linked to this prediction.
  • an object of the present invention relates to a method for predicting at least one current set of pixels, implemented by a prediction device, in which said at least one current set of pixels is predicted from at least one reference pixel set, using a pixel prediction weighting function, characterized in that the pixel prediction weighting function of said at least one current pixel set is associated with at least one weighting value calculated from an analysis of at least one set of reference pixels.
  • Such a prediction method according to the invention advantageously makes it possible to rely only on one or more sets of reference pixels, in other words one or more sets of pixels already decoded at the time of the prediction, to estimate the weighting of predicting a current set of pixels.
  • this or these sets of reference pixels are available at the time of the prediction of the current set of pixels, the estimation of the weighting of the prediction is improved because it is more spatially precise than that implemented in the prior art. which requires an approximation or quantification of the weight value(s) of the prediction.
  • the prediction weighting function is modified using at least one modification parameter which results from an analysis of said at least one set of current pixels.
  • Such an embodiment advantageously makes it possible to apply a correction to the prediction weighting function which has been calculated, when the current set of pixels contains an element which was not present/predictable in the set or sets of pixels of reference.
  • the invention also relates to a device for predicting at least one set of current pixels, comprising a processor which is configured to predict said at least one set of current pixels from at least one set of reference pixels, at the using a pixel prediction weighting function.
  • Such a prediction device is characterized in that the prediction weighting function of the pixels of said at least one set of current pixels is associated with at at least one weighting value calculated from an analysis of at least one set of reference pixels.
  • the prediction device is a neural network.
  • the use of a neural network advantageously optimizes the quality of the weighted prediction.
  • Such a prediction device is in particular able to implement the aforementioned prediction method.
  • the invention also relates to a method for coding at least one current set of pixels, implemented by a coding device, comprising the following:
  • Such a coding method is characterized in that the set of prediction pixels is obtained using the prediction method according to the aforementioned invention.
  • Such a coding method is advantageous in that it does not require the coding of one or more prediction weight values of the prediction weight function. As a result, this or these prediction weighting values do not need to be transmitted by the encoder to a decoder of the current set of pixels, which makes it possible to reduce the cost of signaling the information transmitted between the encoder and the decoder in favor of a better quality of the image related to the improved precision of the prediction. Furthermore, any weighting value associated with the prediction weighting function need not be approximated or quantized in order to be transmitted to the decoder, which makes it possible to make this weighting value continuous for the set pixels to predict. According to a particular embodiment, the coding method comprises the following:
  • the invention also relates to a device for coding or encoder of at least one current set of pixels, comprising a processor which is configured to implement the following: - calculating a signal representative of a difference between said at least one set of current pixels and a set of prediction pixels resulting from a prediction of said at least one set of current pixels,
  • Such a coding device is characterized in that the set of prediction pixels is obtained using the prediction device according to the aforementioned invention.
  • Such a coding device is in particular capable of implementing the aforementioned coding method.
  • the invention also relates to a method for decoding at least one current set of pixels, implemented by a decoding device, comprising the following:
  • Such a decoding method is characterized in that the set of prediction pixels is obtained using the prediction method according to the aforementioned invention.
  • the advantage of such a decoding method lies in the fact that the prediction weighting function is calculated autonomously by the decoder from one or more sets of available reference pixels, without the decoder needing to read particular information in the data signal received from the encoder.
  • the at least one weighting value of the prediction weighting function because it is neither encoded nor transmitted in a data signal, can be made continuous, without having need to be approximated or quantified, as is the case in the prior art.
  • such a decoding method further comprises the following:
  • the invention also relates to a device for decoding or decoding at least one current set of pixels, comprising a processor which is configured to implement the following:
  • Such a decoding device is characterized in that the set of prediction pixels is obtained using the prediction device according to the aforementioned invention.
  • Such a decoding device is in particular able to implement the aforementioned decoding method.
  • the invention also relates to a method for constructing at least one set of pixels from at least one set of reference pixels, implemented by a video data processing device.
  • Such a construction method is characterized in that the set of pixels is constructed using a pixel prediction weighting function, such as the prediction function used in the aforementioned prediction method of the invention.
  • the prediction weighting function of the invention is not limited to the sole context of an image prediction whether or not generating a prediction residual and can be advantageously used in the case of an interpolation or a synthesis of images from one or more already decoded reference images.
  • the invention also relates to a computer program comprising instructions for implementing the prediction method according to the invention, as well as the coding or decoding method integrating the prediction method according to the invention, or even the method aforementioned construction, according to any one of the particular embodiments described above, when said program is executed by a processor.
  • Such instructions can be stored durably in a non-transitory memory medium of the prediction device implementing the aforementioned prediction method, of the coder implementing the aforementioned coding method, of the decoder implementing the aforementioned decoding method, of the device video processing implementing the aforementioned construction method.
  • This program may 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 partially compiled form, or in any other desirable form.
  • the invention also relates to a recording medium or information medium readable by a computer, and comprising instructions of a computer program as mentioned above.
  • the recording medium can be any entity or device capable of storing the program.
  • the medium may comprise a storage means, such as a ROM, for example a CD ROM, a DVD-ROM, a synthetic DNA (deoxyribonucleic acid), etc... or a microelectronic circuit ROM, or even a magnetic recording medium, for example a USB key or a hard disk.
  • the recording medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can in particular be downloaded from an Internet-type network.
  • the recording medium may be an integrated circuit in which the program is incorporated, the circuit being suitable for executing or for being used in the execution of the aforementioned prediction method, coding, decoding or construction method.
  • FIG. 1 represents the main steps of an image prediction method according to the invention
  • FIG. 2A represents a type of prediction used in the prediction method of FIG. 1, in a first particular embodiment of the invention
  • FIG. 2B represents a type of prediction used in the prediction method of FIG. 1, in a second particular embodiment of the invention
  • FIG. 3A represents a prediction device implementing the prediction method of FIG. 1, in a first embodiment
  • FIG. 3B represents a prediction device implementing the prediction method of FIG. 1, in a second embodiment
  • FIG. 4 represents in more detail certain steps of the prediction method implemented by the prediction device of FIG. 3A,
  • figure 5A represents a first example of displacement of a predicted version of a current set of pixels with respect to two sets of reference pixels
  • figure 5B represents a second example of displacement of a predicted version of a current set of pixels with respect to two sets of reference pixels
  • FIG. 5C represents a third example of displacement of a predicted version of a current set of pixels with respect to two sets of reference pixels
  • FIG. 5D represents a motion compensation implemented in the case of the type of displacement of FIG. 5A, in a particular embodiment of the invention.
  • FIG. 5E represents a weighted prediction implemented at the end of the motion compensation of FIG. 5D, in a particular embodiment of the invention
  • FIG. 5F represents a summed weighting implemented at the end of the weighted prediction of FIG. 5E, in a particular embodiment of the invention
  • FIG. 5G represents a compensated weighting implemented after the summed weighting of FIG. 5F, in a particular embodiment of the invention
  • FIG. 5H represents the obtaining of a predicted version of a current set of pixels from the compensated weighting illustrated in FIG. 5G, in a particular embodiment of the invention
  • FIG. 6 represents the main steps of an image coding method implementing the prediction method of FIG. 1, in a particular embodiment of the invention.
  • FIG. 7A represents a coder implementing the coding method of FIG. 6, in a first embodiment
  • FIG. 7B represents a coder implementing the coding method of FIG. 6, in a second embodiment
  • FIG. 8 represents the main steps of an image decoding method implementing the prediction method of FIG. 1, in a particular embodiment of the invention.
  • FIG. 9A represents a decoder implementing the decoding method of FIG. 8, in a first embodiment
  • FIG. 9B represents a decoder implementing the decoding method of FIG. 8, in a second embodiment
  • FIG. 10 represents the steps of an image coding method implementing a modification of the prediction method of FIG. 1, in a particular embodiment of the invention
  • FIG. 11 represents an encoder implementing the coding method of FIG. 10, in a particular embodiment of the invention.
  • FIG. 12 represents the steps of an image decoding method implementing a modification of the prediction method of FIG. 1, in a particular embodiment of the invention
  • figure 13 represents a decoder implementing the decoding method of figure 12, in a particular embodiment of the invention.
  • FIG. 14 represents an encoder implementing the coding method of FIG. 10, in another particular embodiment of the invention.
  • FIG. 15 represents a decoder implementing the decoding method of FIG. 12, in another particular embodiment of the invention.
  • FIG. 15 represents a decoder implementing the decoding method of FIG. 12, in another particular embodiment of the invention.
  • Detailed description of different embodiments of the invention Examples of implementations of an image prediction method
  • Weighted image prediction method General principle of the invention
  • a 2D or 3D type image prediction method is described below which is capable of being implemented in any type of video encoder or decoder, for example conforming to the AVC, HEVC, WC standard and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), or other, such as for example a convolutional neural network or CNN (for "convolutional neural network” in English).
  • the prediction method according to the invention uses at least one set of reference pixels BRo, that is to say a set of reference pixels which has already been coded and decoded and which is therefore available at the time of the prediction.
  • a characteristic of the prediction method according to the invention is that a set of current pixels B c is not considered for the prediction since it is not available at the time of the prediction.
  • set of current pixels B c means:
  • the set of reference pixels BRo can belong to a current image ⁇ which contains the current set of pixels B c .
  • the current set of pixels B c is predicted with respect to the set of reference pixels BRo using an Intra prediction, for example Intra or IBC (for “Intra Block Copy”) .
  • the current set of pixels B c can be predicted with respect to the set of reference pixels BRo and to one or more other sets of reference pixels belonging to the current image h.
  • the set of reference pixels BRo can belong to an already coded and decoded reference image which temporally precedes or follows the current image h.
  • the current set of pixels B c is predicted with respect to the set of reference pixels BRo using an Inter prediction.
  • the current pixel set Bc can be predicted with respect to the reference pixel set BRo using a inter prediction of the unidirectional type P, the set of reference pixels BRo belonging for example to the immediately preceding MRI image but which can of course belong to another reference image, such as for example the image IRi-2 or other reference images preceding in the coding order the image IRi-2.
  • one or more other sets of reference pixels can be used together with the set of reference pixels BRo to predict the current set of pixels B c .
  • the current set of pixels B c can also be predicted using a type B bidirectional type inter prediction, with respect to the set of reference pixels BRo located in an image of reference which precedes the current image and with respect to at least one other set of reference pixels BRi located in a reference image which follows the current image
  • the set of reference pixels BRo is located in the reference image IRi-2 and the set of reference pixels BRi is located in the reference image IRi +i . Still within the framework of such type B inter prediction, and as represented in FIG.
  • the current set of pixels B c can be predicted with respect to two sets of reference pixels BRo, BRi each located in an image which precedes the current image
  • the set of reference pixels BRo is located in the reference image IRi-2 and the set of reference pixels BRi is located in the reference image MRI.
  • one or more other sets of reference pixels can be used jointly with the sets of reference pixels BRo and BRi to calculate the set of current prediction pixels BP C .
  • the set or sets of reference pixels BRo, BRi, etc. have the same geometry as the current set of pixels B c to be predicted.
  • this set of reference pixels it is also possible, depending on the context of the prediction, to oversize this set of reference pixels so as to cover an area greater than or equal to that of the current set of pixels B c to be predicted.
  • such a prediction method comprises the following:
  • said at least one set of reference pixels BRo is analyzed.
  • Such an analysis implements a motion estimation comprising an estimation of the pixel shift between said at least one set of reference pixels BRo which has been previously moved and a predicted version BP C of a set of current pixels B c which does not is not available at the time of the prediction.
  • This motion estimation implements conventional motion compensation, following which a set of motion-compensated pixels BRCo is obtained.
  • displacement information is obtained, such as a displacement vector Vo which describes the displacement from BRo to BRCo.
  • a weighting value wo is calculated for each pixel of the set of motion compensated pixels BRCo, according to the result of the analysis performed in P1.
  • a predicted version BP C of a current set of pixels B c is calculated according to the following function, for each coordinate (x,y) of a pixel considered from the set of motion-compensated reference pixels BRCo:
  • BP c ⁇ x,y w 0 (x,y) * BRC 0 (x,y ) + w 1 (x,y) * BRC ⁇ xy)
  • the prediction method which has just been described above can then be implemented for each set of current pixels to be predicted, considered unavailable at the time of the prediction.
  • FIG. 3A presents a prediction device PRED1 suitable for implementing the prediction method illustrated in FIG. 1, according to a first embodiment of the invention. According to this first embodiment, the actions executed by the prediction method are implemented by computer program instructions.
  • the prediction device PRED1 has the classic architecture of a computer and notably comprises a memory MEM_P1, a processing unit UT_P1, equipped for example with a processor PROC_P1, and controlled by the computer program PG_P1 stored in memory MEM_P1.
  • the computer program PG_P1 comprises instructions for implementing the actions of the prediction method as described above, when the program is executed by the processor PROC_P1.
  • the code instructions of the computer program PG_P1 are for example loaded into a RAM memory (not shown) before being executed by the processor PROC_P1.
  • the processor PROC_P1 of the processing unit UT_P1 notably implements the actions of the prediction method described above, according to the instructions of the computer program PG_P1.
  • the prediction device receives as input E_P1 one or more sets of reference pixels BRo, BRi,..., calculates the and/or the corresponding displacement vectors Vo, Vi,..., as well as the and/or the values corresponding weightings wo, i//i..., and delivers at output S_P1 the aforementioned set of prediction pixels BP C.
  • FIG. 3B presents a prediction device PRED2 suitable for implementing the prediction method illustrated in FIG. 1, according to a second embodiment of the invention.
  • the prediction device PRED2 is a neural network, such as for example a convolutional neural network, a multilayer perceptron, an LSTM (for “Long Short Term Memory”), etc., denoted RNC1 which, from one or more sets of reference pixels BRo, BRi,... received as input, jointly implements steps P1 to P2 of the weighted prediction method of FIG. 1, to deliver output :
  • a neural network such as for example a convolutional neural network, a multilayer perceptron, an LSTM (for “Long Short Term Memory”), etc.
  • a computer CAL receives this information as input to calculate the set of prediction pixels BP C according to the aforementioned relationship:
  • the convolutional neural network RNC1 performs a succession of layers of filtering, non-linearity and scaling operations. Each filter used is parameterized by a convolution kernel and the nonlinearities are parameterized (ReLU, leaky ReLU, GDN (generalized divisive normalization), etc.).
  • the neural network RNC1 is for example of the type described in the document D. Sun, et al., “PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume” CVPR 2018.
  • the RNC1 neural network can be learned:
  • the network RNC1 is trained to perform the operation P1.
  • the network RNC1 is taught to minimize the mean square error between an image ⁇ to be approximated and the result BP C of the weighted prediction of figure 1.
  • a latent space U representative of Vo, Vi, ..., wo, wi, ....
  • the training of the network RNC1 is carried out during a training phase by presenting a plurality of sets of associated reference pixels BRo, BRi,..., together with a set of current pixels B c , and by changing, for example by a gradient descent algorithm, the weights of the network to minimize the quadratic error between B c and the result BP c (x,y) calculated according to the aforementioned relationship.
  • the RNC1 network is frozen and adapted to be used in the PRED2 prediction device.
  • the network RNC1 is thus optimized to implement steps P1 and P2 of the weighted prediction of figure 1.
  • the analysis P1 of at least one set of reference pixels comprises the following:
  • a motion estimate between BRo and BRi is calculated.
  • Such a step is carried out by conventional motion search steps, such as for example an estimation of displacement vectors.
  • FIGS. 5A to 5C respectively represent three different examples of displacement of a predicted version BP C of the current set of pixels B c with respect to two sets of reference pixels BRo and BRi, which can be encountered during this step P10 .
  • the displacement of an element E symbolized by a circle
  • a single vector denoted V01 and dotted in FIGS. 5A to 5C, is represented to describe, in the example represented, the movement of the element E from BRo to BRi (the movement on the other portions of the image being considered null).
  • the vector V01 or Vio having been obtained in P10, the procedure in P11 (FIG. 4) is to estimate the displacement of the current set of pixels B c to be predicted with respect to BRo and BRi. This estimation is illustrated in FIGS. 5A to 5C where the displacement of the element E is estimated at a time instant other than that at which BRo and BRi are located, which is the instant at which the current set of pixels B c is located. .
  • V01 or Vio Using the same conventions as for the calculation of V01 or Vio:
  • the displacement of the element E at the current instant is estimated as corresponding to the half of the displacement between BRo and BRi, that is to say half of the vector V01 or Vio.
  • BRo belongs to the MRI reference image
  • BRi belongs to the reference image IRi +i .
  • the displacement of the element E at the current instant is estimated to be shorter than the half of the displacement between BRo and BRi. For example, if BRo belongs to the reference image IRM and BRi belongs to the reference image IRi +2 , then the displacement of the element E at the current time is estimated as corresponding to one third of the displacement between BRo and BRi, that is to say the third of the vector V01 or Vio.
  • the displacement of the element E at the current time is estimated as twice the displacement between BRo and BRi, that is to say twice the vector V01 or Vio.
  • BRo and BRi are each motion compensated using the vectors Vo and Vi, to respectively create two predicted versions of B c , denoted BRCo and BRCi.
  • FIG. 5D it is considered that the vectors Vo and Vi have been obtained, for example, in accordance with the motion configuration represented in FIG. 5A, for which the displacement of the element E at the current instant is estimated as corresponding to half of the displacement between BRo and BRi, that is to say half of the vector V01 or Vio.
  • Figure 5D represents:
  • a part Zo of ERCo and a part Zi of ERCi are undefined because they correspond to the unknown content which is located behind the element E of BRo and the element E of BRi.
  • the part Zo is defined in ERCi and the Zi part is defined in ERCo.
  • the calculation P2 of prediction weight values wo and wi then comprises the following:
  • the procedure in P20 is to calculate, pixel by pixel, the intermediate weightings w int o(x ,y) and w int i(x,y), for respectively the two predicted versions BRCo and BRCi.
  • the calculation P3 of the prediction weighting function then comprises the following: With reference to FIG. 4, during operation P30, the predicted motion-compensated versions BRCo and BRCi are weighted by their respective weightings w 0 and wi . Weighted compensated predicted versions BRCWo and BRCWi are then obtained. For this purpose, the following compensation weightings i/i/o(x,y) and i/i/i(x,y) are calculated for each set of motion-compensated reference pixels BRCo and BRCi, respectively:
  • Such compensation weighting is shown in Figure 5G.
  • the predicted versions BRCo and BRCi are then motion compensated and weighted by their respective weights wo and wi. Weighted compensated predicted versions BRCWo and BRCWi are then obtained.
  • the weighted compensated predicted versions BRCWo and BRCWi are added, providing a set of motion-compensated prediction pixels BP C .
  • a motion compensation including a compensation weighting determined by elements present only at the time of the prediction, i.e. only on the sets of reference pixels BRo and BRi.
  • a particular advantage of such a compensation weighting compared to currently standardized solutions lies in the fact that BRo and BRi being perfectly known at the time of the prediction and that the prediction according to the invention only uses BRo and BRi, it is it is possible to deal effectively with the disocclusions during the prediction, as illustrated in FIGS. 5D to 5H, where the aforementioned occulted zones Zo and Zi can be restored with very good spatial precision.
  • the prediction weight can be presented in another form. For example, a single i/y weighting can be used. Then, w weights the motion-compensated reference pixel set BRCo and (1-w) weights the motion-compensated reference pixel set BRCi. w can be calculated from the embodiment above starting from the weighting values wo and wi calculated previously, and doing: Although a prediction method has been described above, such a method could also be implemented to construct or synthesize a set of pixels Bc from one or more sets of reference pixels BRo, BRi,... using the weighted prediction function which has just been described.
  • the prediction method could be called a method of construction or synthesis of the set of pixels B c, corresponding for example to a set of missing pixels or a set of pixels not captured by a camera (360° video).
  • the prediction devices PRED1 and PRED2 will rather be considered as construction or synthesis devices.
  • the prediction device PRED1 could implement a view “synthesis” algorithm.
  • the software VSRS for “View Synthesis Reference” in English
  • the construction or synthesis device PRED2 can be, as described above, a neural network, such as for example a convolutional neural network, a multilayer perceptron, an LSTM (for “Long Short Term Memory”), etc. .
  • Such a coding method includes the following:
  • the weighted prediction in its steps P1 to P3 illustrated in FIG. 1, is implemented, generating the set of current prediction pixels BP C .
  • the following coding steps are conventional and conform to AVC, HEVC, WC or similar type coding. Thereby :
  • this signal BE C is the one which optimizes the coding with respect to a standard coding performance criterion, such as for example the minimization of the bit rate/distortion cost or else the choice of the best efficiency/complexity compromise, which are criteria well known to those skilled in the art, the signal BE C is quantified and coded. At the end of this operation, a quantized and coded difference signal BE c cod is obtained.
  • the encoder can compete weighting values calculated according to the prediction method described above with weighting values that it can choose to transmit. For this purpose, it can evaluate the quality of the BPc prediction obtained from the above prediction method and measure, for example using a mean squared error, the prediction error. This can be compared to the prediction error resulting from a set of pairs of predetermined weighting values ( wo,wi ) as used in current video standards. This set can be restricted to (0.5, 0.5) as for example in the HEVC standard (for “High Efficiency Video Coding” in English) or include other values such as those used in the BCW tool (for “Bi- prediction with CU level Weights” in English) of the WC standard (for “Versatile Video Coding” in English). A flag will indicate to the decoder if it should use the prediction method described above or if it should apply the BCW tool of WC or if it should apply the balanced prediction of HEVC.
  • This competition of the prediction weighting values wo has the advantage of optimizing the precision of the weighted prediction in comparison with the default prediction weighting implemented in the prediction devices of the prior art. Indeed, the prediction weighting of the invention generates more precise weighting values but can generate greater distortion when the signal is not predictable.
  • a conventional prediction weighting can, although less spatially precise and at the cost of a bit rate to be transmitted, result in lower distortion.
  • the weighting wo and/or the weighting w ⁇ are advantageously neither coded nor transmitted to the decoder.
  • the quantized and coded difference signal BE c is zero, which may be the case for the SKIP coding mode, the aforementioned steps C2 and C4 are not implemented.
  • FIG. 7A presents an encoder COD1 suitable for implementing the coding method illustrated in FIG. 6, according to a first embodiment of the invention.
  • the coder COD1 comprises the prediction device PRED1.
  • the actions executed by the coding method are implemented by computer program instructions.
  • the coding device COD1 has the classic architecture of a computer and comprises in particular a memory MEM_C1, a processing unit UT_C1, equipped for example with a processor PROC_C1, and controlled by the computer program PG_C1 stored in memory MEM_C1.
  • the computer program PG_C1 comprises instructions for implementing the actions of the coding method as described above, when the program is executed by the processor PROC C1.
  • the code instructions of the computer program PG_C1 are for example loaded into a RAM memory (not shown) before being executed by the processor PROC_C1.
  • the processor PROC_C1 of the processing unit UT_C1 notably implements the actions of the coding method described above, according to the instructions of the computer program PG_C1.
  • the coder COD1 receives at input E_C1 a set of current pixels B c and delivers at output S_C1 the transport stream F which is transmitted to a decoder using a suitable communication interface (not shown).
  • FIG. 7B presents a coder COD2 suitable for implementing the coding method illustrated in FIG. 6, according to a second embodiment of the invention.
  • the coder COD2 comprises the aforementioned prediction device PRED2 followed by a convolutional neural network RNC2 which for example calculates then codes the deviation signal BE C or codes the set of current pixels B c together with the set of prediction pixels BP C generated by the prediction device PRED2.
  • a network RNC2 is for example of the type described in the document: Ladune “Optical Flowand Mode Selection for Learning-based Video Coding”, IEEE MMSP 2020.
  • Such a decoding method implements an image decoding corresponding to the image coding of FIG. 6.
  • the decoding method implements conventional decoding steps which are in accordance with AVC, HEVC, VVC or similar type decoding.
  • the decoding process includes the following:
  • the weighted prediction according to the invention in its steps P1 to P3 illustrated in FIG. 1, is implemented, generating the set of current prediction pixels BPc.
  • a set of reconstructed current pixels BD C is calculated by combining the decoded deviation signal BE c dec obtained in D2 with the set of prediction pixels BP C obtained in D3.
  • the set of reconstructed current pixels BD C could possibly undergo filtering by a loop filter of the reconstructed signal which is well known to those skilled in the art.
  • FIG. 9A presents a decoder DEC1 suitable for implementing the decoding method illustrated in FIG. 8, according to a first embodiment of the invention.
  • the decoder DEC1 includes the prediction device PRED1.
  • the actions executed by the decoding method are implemented by computer program instructions.
  • the decoder DEC1 has the classic architecture of a computer and notably comprises a memory MEM_D1, a processing unit UT_D1, equipped for example with a processor PROC_D1, and controlled by the computer program PG_D1 stored in memory MEM_D1.
  • the computer program PG_D1 comprises instructions for implementing the actions of the decoding method as described above, when the program is executed by the processor PROC_D1.
  • the code instructions of the computer program PG_D1 are for example loaded into a RAM memory (not shown) before being executed by the processor PROC_D1.
  • the processor PROC_D1 of the processing unit UT_D1 notably implements the actions of the decoding method described above in connection with FIG. 8, according to the instructions of the computer program PG_D1.
  • the decoder DEC1 receives at input E_D1 the transport stream F transmitted by the coder COD1 of FIG. 7A and delivers at output S_D1 the set of current decoded pixels BD C .
  • FIG. 9B presents a decoder DEC2 suitable for implementing the decoding method illustrated in FIG. 8, according to a second embodiment of the invention.
  • the decoder DEC2 comprises the aforementioned prediction device PRED2 followed by a convolutional neural network RNC3 which, for example, decodes the coded deviation signal BE c cod or decodes the coded deviation signal BE c cod jointly with the set of pixels of prediction BP C generated by the prediction device PRED2.
  • a network RNC3 is for example of the type described in the document: Ladune “Optical Flowand Mode Selection for Learning-based Video Coding”, IEEE MMSP 2020. Variant of the weighted image prediction method
  • Such a variant improves the weighted prediction method of figure 1 when the precision/quality of the prediction obtained is not satisfactory.
  • an analysis is carried out in C′1 of said at least one set of reference pixels BRo jointly with the current set of pixels B c .
  • two sets of reference pixels BRo and BRi are analyzed jointly with B c .
  • BRo is located temporally before B c and BRi is located temporally after B c .
  • the C'1 analysis is implemented using a convolutional neural network RNC4 which, from the two sets of pixels of reference BRo and BRi and of the current set of pixels B c , creates a transformation through a certain number of layers, such as for example layers implementing convolutional filters (CNN) followed by layers implementing non-linearities and decimations, as described in the document: Ladune “Optical Flowand Mode Selection for Learning-based Video Coding”, IEEE MMSP 2020.
  • CNN convolutional filters
  • step C'1 a set of latent variables is obtained in the form of a signal U'.
  • the signal U' is quantized in C'2 by a quantizer QUANT, for example uniform or vector, regulated by a parameter of quantization. A quantized signal U'q is then obtained.
  • QUANT uniform or vector
  • the quantized signal U′q is coded using an entropic coder CE, for example of the arithmetic type, with a given statistic.
  • This statistic is for example parameterized by statistical probabilities, for example by modeling the variance and the mean of a Laplacian law (s,m), or by considering hyperpriors as in the publication: "Variational image compression with a scale hyperprior” by Ballé which was presented at the ICLR 2018 conference.
  • a quantified signal encoded U’ q cod is then obtained.
  • the coded quantized signal U' q cod is written into a transport stream F' which is transmitted to a decoder DEC3 illustrated in figure 13.
  • an analysis is carried out in D′1 of at least one set of reference pixels BRo, two sets of reference pixels BRo and BRi in the example represented .
  • Such an analysis is identical to that performed in step P1 of Figure 1, using the neural network RNC1.
  • a latent space U representative of Vo is obtained,
  • the entropy decoding of the coded quantized signal U' q cod is carried out in D'2 using an entropy decoder DE corresponding to the entropy coder CE of FIG. 11, with the same given statistic, such as the modeling of the variance and the mean of a Laplacian law (s,m).
  • a decoded quantized signal U′q is obtained at the end of this operation.
  • the decoded quantized signal U′q is concatenated with the latent space U obtained by the neural network RNC1 of FIG. 13 and representative of the analysis of only the sets of reference pixels BRo and BRi.
  • the neural network RNC1 then processes this concatenation through different layers, in the same way as in step P2 of figure 1, to estimate the motion information Vo, Vi, ..., as well as the values of corresponding weights w 0 , w ....
  • a computer CAL receives this information as input to calculate the set of prediction pixels BP C according to the aforementioned relationship. This step is identical to step P3 in FIG.
  • two sets of reference pixels BRo, BRi are used in the weighted prediction method.
  • the neural network RNC1 described with reference to FIG. 3B will be learned from three sets of reference pixels BRo, BRi, BR2 or more, to obtain the set of prediction pixels BP c ⁇ x,y) .
  • a degraded weighted prediction mode is of course possible, for example when only one reference frame is used for the prediction (case of type P prediction in video coding).
  • Such a degraded mode is illustrated with reference to FIGS. 14 and 15.
  • a coder COD3′ is shown which is similar to the coder COD3 of FIG. 11.
  • the coder COD3' differs from the coder COD3 by its neural network RNC4' which is learned from a single set of reference pixels, BRo in FIG. 14.
  • the neural network RNC4' generates a signal U' from of the single set of reference pixels BRo and of the current set of pixels B c .
  • signal U′ is quantized to obtain a quantized signal U′q.
  • the quantized signal U'q is entropically coded.
  • a coded quantized signal U′ q cod is then obtained.
  • the coded quantized signal U′ q cod is written into a transport stream F′ which is transmitted to a decoder DEC3′ illustrated in FIG. 15.
  • the decoder DEC3' differs from the decoder DEC3 of FIG. 13 by its neural network RNC1' which analyzes a single set of reference pixels, BRo in the example shown. At the end of this analysis, a latent space U is obtained representative of Vo and wo. As already explained previously with reference to FIG. 12, following reception of the stream F′, the coded quantized signal U′ q cod is entropically decoded, generating a decoded quantized signal U′q.
  • the neural network RNC1′ then processes this concatenation to estimate the single motion cue Vo as well as the single corresponding weighting value wo.

Abstract

L'invention concerne un procédé de prédiction d'au moins un ensemble de pixels courant (Bc), mis en œuvre par un dispositif de prédiction, dans lequel ledit au moins un ensemble de pixels courant (Bc) est prédit à partir d'au moins un ensemble de pixels de référence (BR0; BR0, BR1), à l'aide d'une fonction de pondération de prédiction de pixels, caractérisé en ce que ladite fonction de pondération de prédiction des pixels dudit au moins un ensemble de pixels courant (Bc) est associée à au moins une valeur de pondération calculée (P2-P3) à partir d'une analyse (P1) d'au moins un ensemble de pixels de référence (BR0; BR0, BR1).

Description

DESCRIPTION
Titre: Prédiction pondérée d’image, codage et décodage d’image utilisant une telle prédiction pondérée
Domaine de l'invention
La présente invention se rapporte de manière générale au domaine du traitement d'images, et plus précisément au codage et au décodage d'images numériques et de séquences d'images numériques.
Le codage/décodage d’images numériques s’applique notamment à des images issues d’au moins une séquence vidéo comprenant :
- des images issues d’une même caméra et se succédant temporellement (codage/décodage de type 2D),
- des images issues de différentes caméras orientées selon des vues différentes (codage/décodage de type 3D),
- des composantes de texture et de profondeur correspondantes (codage/décodage de type 3D),
- etc...
La présente invention s’applique de manière similaire au codage/décodage d’images de type 2D ou 3D.
L’invention peut notamment, mais non exclusivement, s’appliquer au codage vidéo mis en œuvre dans les codeurs vidéo actuels AVC, HEVC, WC et leurs extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc.), et au décodage correspondant.
Art antérieur
Les codeurs vidéo actuels (MPEG, AVC, HEVC, VVC, AV1,...) utilisent une représentation par blocs de la séquence vidéo. Les images sont découpées en blocs, lesquels sont susceptibles d’être redécoupés de façon récursive. Puis chaque bloc est codé par prédiction intra-images ou inter-images. Ainsi, certaines images sont codées par prédiction spatiale (prédiction intra, prédiction IBC (pour « Intra Block Copy » en anglais), d’autres images sont également codées par prédiction temporelle (prédiction inter) par rapport à une ou plusieurs images de référence codées-décodées, à l'aide d'une compensation en mouvement bien connue de l’homme de l’art. Un bloc de prédiction BP associé à un bloc en cours de codage est directement lié à au moins un bloc de référence BRo de l’image à laquelle appartient le bloc en cours de codage ou d’une image déjà décodée, appelée classiquement image de référence. Afin de faire correspondre le bloc de référence BRo au bloc en cours de codage, le bloc de référence BRo est déplacé pour chaque position spatiale (x,y) des pixels de celui-ci. Un bloc de référence compensé en mouvement BCo est alors obtenu. La relation entre le bloc de prédiction BP et le bloc de référence compensé en mouvement BCo s’exprime alors de la façon suivante :
BP(x, ) = (1 - w) * BCQ(X, ) où w est un paramètre de pondération de la prédiction, qui vaut 0 la plupart du temps, mais qui peut être réglable comme expliqué ci-dessous.
Lorsque par exemple un bloc en cours de codage est prédit par rapport à deux blocs de référence BRo et BRi appartenant à une ou deux images de référence déjà décodées, les deux blocs de référence BRo et BRi sont compensés en mouvement, générant deux blocs de référence compensés en mouvement BCo et BCi, puis combinés par une pondération linéaire. Chaque pixel du bloc de prédiction BP est le résultat d’une pondération des pixels des deux blocs de référence compensés en mouvement BCo et BCi. Plus précisément, si par exemple, la prédiction est mise en œuvre ligne par ligne, et de la gauche vers la droite :
- le 1er pixel en haut à gauche du bloc de prédiction BP est le résultat d’une pondération du 1er pixel en haut à gauche du bloc de référence compensé en mouvement BCo et du 1er pixel en haut à gauche du bloc de référence compensé en mouvement BCi,
- le 2ème pixel, voisin du 1er pixel sur la première ligne du bloc de prédiction BP, est le résultat d’une pondération du 2ème pixel voisin du 1er pixel sur la première ligne du bloc de référence compensé en mouvement BCo et du 2ème pixel voisin du 1er pixel sur la première ligne du bloc de référence compensé en mouvement BCi,
... ,
- le dernier pixel en bas à droite du bloc de prédiction BP est le résultat d’une pondération du dernier pixel en bas à droite du bloc de référence compensé en mouvement BCo et du dernier pixel en bas à droite du bloc de référence compensé en mouvement BCi. La pondération la plus fréquente, appliquée par défaut, est la demi-somme. A cet effet le bloc de prédiction BP est calculé selon la relation suivante :
BP(x,y ) = 0.5 * BC0(x,y ) + 0.5 * BC1(x,y')
Des pondérations plus élaborées sont possibles.
Dans la norme HEVC, la pondération linéaire s’applique de façon uniforme à l’image en cours de codage. Le paramètre de pondération w y est fixe, et est signalé au décodeur, pour chaque sous-image ou « slice » de l’image en cours de codage. Par défaut, dans le cas d’une bi-prédiction du bloc en cours de codage, la pondération équilibrée (0.5 / 0.5) est appliquée sauf si cela est explicitement indiqué dans les informations de PPS (pour « Picture Parameter Set » en anglais).
Dans la norme WC, la pondération de la prédiction est réalisée bloc par bloc à l’aide de l’outil BCW (pour « bi-prediction with CU level weights » en anglais). Un bloc de prédiction BP est calculé selon la relation suivante :
BP x,y ) = (1 — w) * BC0(x,y ) + w * BO^c,g) où le paramètre de pondération w peut prendre 5 valeurs : 0.5, 0.625, 0.375, 1.25, - 0.25. La valeur optimale du paramètre de pondération wà appliquer est déterminée à l’encodeur et signalée au décodeur pour chaque bloc. Elle est encodée avec un élément de contexte qui indique si c’est la valeur w = 0.5 qui est utilisée, c’est-à-dire la pondération égale sur les blocs de référence compensés en mouvement BCo et BCi. Si ce n’est pas le cas, alors la pondération est signalée sur 2 bits pour indiquer l’une des 4 valeurs restantes.
Ce principe est repris dans la technique AV1.
Il convient de noter que quelle que soit la norme vidéo utilisée, le paramètre de pondération i/i/est associé à un nombre relativement faible de valeurs, ce qui induit un manque de précision de la prédiction pondérée appliquée. En outre, l’encodeur conforme aux normes précitées doit systématiquement coder et transmettre au décodeur la valeur du paramètre de pondération w qui a été sélectionnée, ce qui augmente le coût de signalisation.
Objet et résumé de l'invention
Un des buts de l'invention est de remédier à des inconvénients de l'état de la technique précité en améliorant la précision de la prédiction pondérée de l’art antérieur, en faveur d’une diminution du coût de signalisation des informations liées à cette prédiction.
A cet effet, un objet de la présente invention concerne un procédé de prédiction d’au moins un ensemble de pixels courant, mis en œuvre par un dispositif de prédiction, dans lequel ledit au moins un ensemble de pixels courant est prédit à partir d’au moins un ensemble de pixels de référence, à l’aide d’une fonction de pondération de prédiction de pixels, caractérisé en ce que la fonction de pondération de prédiction des pixels dudit au moins un ensemble de pixels courant est associée à au moins une valeur de pondération calculée à partir d’une analyse d’au moins un ensemble de pixels de référence.
Un tel procédé de prédiction selon l’invention permet avantageusement de ne s’appuyer que sur un ou plusieurs ensembles de pixels de référence, autrement dit un ou des ensembles de pixels déjà décodés à l’instant de la prédiction, pour estimer la pondération de la prédiction d’un ensemble de pixels courant. Comme ce ou ces ensembles de pixels de référence sont disponibles au moment de la prédiction de l’ensemble de pixels courant, l’estimation de la pondération de la prédiction se trouve améliorée car plus précise spatialement que celle mise en œuvre dans l’art antérieur qui nécessite une approximation ou une quantification du ou des valeurs de pondération de la prédiction.
Selon un mode de réalisation particulier, la fonction de pondération de prédiction est modifiée à l’aide d’au moins un paramètre de modification qui est issu d’une analyse dudit au moins un ensemble de pixels courant.
Un tel mode de réalisation permet avantageusement d’appliquer une correction à la fonction de pondération de prédiction qui a été calculée, lorsque l’ensemble de pixels courant contient un élément qui n’était pas présent/prédictible dans le ou les ensembles de pixels de référence.
L'invention concerne également un dispositif de prédiction d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour prédire ledit au moins un ensemble de pixels courant à partir d’au moins un ensemble de pixels de référence, à l’aide d’une fonction de pondération de prédiction de pixels.
Un tel dispositif de prédiction est caractérisé en ce que la fonction de pondération de prédiction des pixels dudit au moins un ensemble de pixels courant est associée à au moins une valeur de pondération calculée à partir d’une analyse d’au moins un ensemble de pixels de référence.
Dans un mode de réalisation particulier, le dispositif de prédiction est un réseau de neurones.
L’utilisation d’un réseau de neurones permet avantageusement d’optimiser la qualité de la prédiction pondérée.
Un tel dispositif de prédiction est notamment apte à mettre en œuvre le procédé de prédiction précité.
L’invention concerne également un procédé de codage d’au moins un ensemble de pixels courant, mis en œuvre par un dispositif de codage, comprenant ce qui suit :
- calculer un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- coder le signal.
Un tel procédé de codage est caractérisé en ce que l’ensemble de pixels de prédiction est obtenu à l’aide du procédé de prédiction selon l’invention précité.
Un tel procédé de codage est avantageux en ce sens qu’il ne nécessite pas le codage d’une ou plusieurs valeurs de pondération de prédiction de la fonction de pondération de prédiction. De ce fait, cette ou ces valeurs de pondération de prédiction n’ont pas besoin d’être transmises par l’encodeur à un décodeur de l’ensemble de pixels courant, ce qui permet de réduire le coût de signalisation des informations transmises entre l’encodeur et le décodeur en faveur d’une meilleure qualité de l’image liée à la précision améliorée de la prédiction. En outre, toute valeur de pondération associée à la fonction de pondération de la prédiction n’a pas besoin d’être approximée ou quantifiée en vue d’être transmise au décodeur, ce qui permet de rendre cette valeur de pondération continue pour l’ensemble de pixels à prédire. Selon un mode de réalisation particulier, le procédé de codage comprend ce qui suit :
- coder au moins un paramètre de modification de la fonction de pondération de prédiction,
- transmettre ledit au moins un paramètre de modification à un décodeur d’image. L'invention concerne également un dispositif de codage ou codeur d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit : - calculer un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- coder ledit signal.
Un tel dispositif de codage est caractérisé en ce que l’ensemble de pixels de prédiction est obtenu à l’aide du dispositif de prédiction selon l’invention précité.
Un tel dispositif de codage est notamment apte à mettre en œuvre le procédé de codage précité.
L’invention concerne également un procédé de décodage d’au moins un ensemble de pixels courant, mis en œuvre par un dispositif de décodage, comprenant ce qui suit :
- déterminer, dans un signal de données, des données représentatives d’un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- reconstruire ledit au moins un ensemble de pixels courant à partir des données déterminées et de l’ensemble de pixels de prédiction.
Un tel procédé de décodage est caractérisé en ce que l’ensemble de pixels de prédiction est obtenu à l’aide du procédé de prédiction selon l’invention précité. L’avantage d’un tel procédé de décodage réside dans le fait que la fonction de pondération de prédiction est calculée de manière autonome par le décodeur à partir d’un ou de plusieurs ensembles de pixels de référence disponibles, sans que le décodeur ait besoin de lire des informations particulières dans le signal de données reçu en provenance du codeur. De plus, comme déjà expliqué ci-dessus, la au moins une valeur de pondération de la fonction de pondération de prédiction, du fait qu’elle ne soit ni codée, ni transmise dans un signal de données, peut être rendue continue, sans avoir besoin d’être approximée ou quantifiée, comme c’est le cas dans l’art antérieur.
Dans un mode de réalisation particulier, un tel procédé de décodage comprend en outre ce qui suit :
- déterminer, dans le signal de données ou un autre signal de données, au moins un paramètre de modification de la fonction de pondération de prédiction, - calculer une fonction de pondération de prédiction modifiée à partir de l’analyse dudit au moins un ensemble de pixels de référence et dudit au moins un paramètre de modification déterminé.
L'invention concerne également un dispositif de décodage ou décodeur d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit :
- déterminer, dans un signal de données, des données représentatives d’un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- reconstruire ledit au moins un ensemble de pixels courant à partir des données déterminées et de l’ensemble de pixels de prédiction.
Un tel dispositif de décodage est caractérisé en ce que l’ensemble de pixels de prédiction est obtenu à l’aide du dispositif de prédiction selon l’invention précité.
Un tel dispositif de décodage est notamment apte à mettre en œuvre le procédé de décodage précité.
L’invention concerne également un procédé de construction d’au moins un ensemble de pixels à partir d’au moins un ensemble de pixels de référence, mis en œuvre par un dispositif de traitement de données vidéo.
Un tel procédé de construction est caractérisé en ce que l’ensemble de pixels est construit à l’aide d’une fonction de pondération de prédiction de pixels, telle que la fonction de prédiction utilisée dans le procédé de prédiction de l’invention précité. Ainsi, la fonction de pondération de prédiction de l’invention n’est pas limitée au seul contexte d’une prédiction d’image générant ou non un résidu de prédiction et peut être avantageusement utilisée dans le cas d’une interpolation ou d’une synthèse d’images à partir d’une ou de plusieurs images de référence déjà décodées. L'invention concerne encore un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de prédiction selon l’invention, ainsi que du procédé de codage ou de décodage intégrant le procédé de prédiction selon l'invention, ou encore du procédé de construction précité, selon l’un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur. De telles instructions peuvent être stockées durablement dans un support mémoire non transitoire du dispositif de prédiction mettant en œuvre le procédé de prédiction précité, du codeur mettant en œuvre le procédé de codage précité, du décodeur mettant en œuvre le procédé de décodage précité, du dispositif de traitement vidéo mettant en œuvre le procédé de construction précité.
Ce programme peut utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
L’invention vise également un support d’enregistrement ou support d’informations lisible par un ordinateur, et comportant des instructions d’un programme d’ordinateur tel que mentionné ci-dessus.
Le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM, un DVD-ROM, un ADN (acide désoxyribonucléique) synthétique, etc... ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une clé USB ou un disque dur.
D'autre part, le support d'enregistrement peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé de prédiction, du procédé de codage, de décodage ou de construction précité.
Brève description des dessins
D'autres caractéristiques et avantages apparaîtront à la lecture de modes de réalisation particuliers de l'invention, donnés à titre d’exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels :
[Fig. 1] la figure 1 représente les principales étapes d’un procédé de prédiction d’image conformément à l’invention, [Fig. 2A] la figure 2A représente un type de prédiction utilisé dans le procédé de prédiction de la figure 1 , dans un premier mode de réalisation particulier de l’invention,
[Fig. 2B] la figure 2B représente un type de prédiction utilisé dans le procédé de prédiction de la figure 1 , dans un deuxième mode de réalisation particulier de l’invention,
[Fig. 3A] la figure 3A représente un dispositif de prédiction mettant en œuvre le procédé de prédiction de la figure 1 , dans un premier mode de réalisation,
[Fig. 3B] la figure 3B représente un dispositif de prédiction mettant en œuvre le procédé de prédiction de la figure 1 , dans un deuxième mode de réalisation,
[Fig. 4] la figure 4 représente de manière plus détaillée certaines étapes du procédé de prédiction mis en œuvre par le dispositif de prédiction de la figure 3A,
[Fig. 5A] la figure 5A représente un premier exemple de déplacement d’une version prédite d’un ensemble de pixels courant par rapport à deux ensembles de pixels de référence,
[Fig. 5B] la figure 5B représente un deuxième exemple de déplacement d’une version prédite d’un ensemble de pixels courant par rapport à deux ensembles de pixels de référence,
[Fig. 5C] la figure 5C représente un troisième exemple de déplacement d’une version prédite d’un ensemble de pixels courant par rapport à deux ensembles de pixels de référence,
[Fig. 5D] la figure 5D représente une compensation de mouvement mise en œuvre dans le cas du type de déplacement de la figure 5A, dans un mode de réalisation particulier de l’invention,
[Fig. 5E] la figure 5E représente une prédiction pondérée mise en œuvre à l’issue de la compensation de mouvement de la figure 5D, dans un mode de réalisation particulier de l’invention,
[Fig. 5F] la figure 5F représente une pondération sommée mise en œuvre à l’issue de la prédiction pondérée de la figure 5E, dans un mode de réalisation particulier de l’invention,
[Fig. 5G] la figure 5G représente une pondération compensée mise en œuvre à l’issue de la pondération sommée de la figure 5F, dans un mode de réalisation particulier de l’invention, [Fig. 5H] la figure 5H représente l’obtention d’une version prédite d’un ensemble de pixels courant à partir de la pondération compensée illustrée en figure 5G, dans un mode de réalisation particulier de l’invention,
[Fig. 6] la figure 6 représente les principales étapes d’un procédé de codage d’image mettant en œuvre le procédé de prédiction de la figure 1 , dans un mode de réalisation particulier de l’invention,
[Fig. 7A] la figure 7A représente un codeur mettant en œuvre le procédé de codage de la figure 6, dans un premier mode de réalisation,
[Fig. 7B] la figure 7B représente un codeur mettant en œuvre le procédé de codage de la figure 6, dans un deuxième mode de réalisation,
[Fig. 8] la figure 8 représente les principales étapes d’un procédé de décodage d’image mettant en œuvre le procédé de prédiction de la figure 1 , dans un mode de réalisation particulier de l’invention,
[Fig. 9A] la figure 9A représente un décodeur mettant en œuvre le procédé de décodage de la figure 8, dans un premier mode de réalisation,
[Fig. 9B] la figure 9B représente un décodeur mettant en œuvre le procédé de décodage de la figure 8, dans un deuxième mode de réalisation,
[Fig. 10] la figure 10 représente les étapes d’un procédé de codage d’image mettant en œuvre une modification du procédé de prédiction de la figure 1 , dans un mode de réalisation particulier de l’invention,
[Fig. 11] la figure 11 représente un codeur mettant en œuvre le procédé de codage de la figure 10, dans un mode de réalisation particulier de l’invention,
[Fig. 12] la figure 12 représente les étapes d’un procédé de décodage d’image mettant en œuvre une modification du procédé de prédiction de la figure 1, dans un mode de réalisation particulier de l’invention,
[Fig. 13] la figure 13 représente un décodeur mettant en œuvre le procédé de décodage de la figure 12, dans un mode de réalisation particulier de l’invention,
[Fig. 14] la figure 14 représente un codeur mettant en œuvre le procédé de codage de la figure 10, dans un autre mode de réalisation particulier de l’invention,
[Fig. 15] la figure 15 représente un décodeur mettant en œuvre le procédé de décodage de la figure 12, dans un autre mode de réalisation particulier de l’invention. Description détaillée de différents modes de réalisation de l’invention Exemples de mises en œuvre d’un procédé de prédiction d’image Principe général de l’invention Procédé de prédiction pondérée d’image
On décrit ci-après un procédé de prédiction d’image de type 2D ou 3D qui est apte à être mis en œuvre dans tout type de codeurs ou décodeurs vidéo, par exemple conformes au standard AVC, HEVC, WC et leurs extensions (MVC, 3D-AVC, MV- HEVC, 3D-HEVC, etc.), ou autre, tel que par exemple un réseau neuronal convolutif ou CNN (pour « convolutional neural network » en anglais).
En référence à la figure 1 , le procédé de prédiction selon l’invention utilise au moins un ensemble de pixels de référence BRo, c’est-à-dire un ensemble de pixels de référence qui a déjà été codé et décodé et qui est donc disponible au moment de la prédiction. Une caractéristique du procédé de prédiction selon l’invention est qu’un ensemble de pixels courant Bc n’est pas considéré pour la prédiction car n’étant pas disponible au moment de la prédiction.
Au sens de l’invention, on entend par ensemble de pixels courant Bc:
- une image courante originale;
- une partie ou une zone de l’image courante originale,
- un bloc de l’image courante résultant d’un partitionnement de cette image conformément à ce qui est pratiqué dans les codeurs normalisés de type AVC,
HEVC ou WC.
Selon l’invention, comme représenté sur la figure 2A, l’ensemble de pixels de référence BRo peut appartenir à une image courante \ qui contient l’ensemble de pixels courant Bc. Dans ce cas, l’ensemble de pixels courant Bc est prédit par rapport à l’ensemble de pixels de référence BRo à l’aide d’une prédiction Intra, par exemple Intra ou IBC (pour «Intra Block Copy » en anglais).
Bien entendu, l’ensemble de pixels courant Bc peut être prédit par rapport à l’ensemble de pixels de référence BRo et à un ou plusieurs autres ensembles de pixels de référence appartenant à l’image courante h.
Selon l’invention, comme représenté sur la figure 2B, l’ensemble de pixels de référence BRo peut appartenir à une image de référence déjà codée et décodée qui précède ou suit temporellement l’image courante h. Dans ce cas, l’ensemble de pixels courant Bc est prédit par rapport à l’ensemble de pixels de référence BRo à l’aide d’une prédiction Inter. Dans l’exemple représenté, l’ensemble de pixels courant Bc peut être prédit par rapport à l’ensemble de pixels de référence BRo à l’aide d’une prédiction inter de type unidirectionnelle P, l’ensemble de pixels de référence BRo appartenant par exemple à l’image IRM immédiatement précédente mais pouvant bien entendu appartenir à une autre image de référence, telle que par exemple l’image IRi-2 ou d’autres images de référence précédant dans l’ordre de codage l’image IRi-2. Bien entendu, un ou plusieurs autres ensembles de pixels de référence peuvent être utilisés conjointement à l’ensemble de pixels de référence BRo pour prédire l’ensemble de pixels courant Bc.
Dans l’exemple représenté, l’ensemble de pixels courant Bc peut être également prédit à l’aide d’une prédiction inter de type bidirectionnelle de type B, par rapport à l’ensemble de pixels de référence BRo situé dans une image de référence qui précède l’image courante et par rapport à au moins un autre ensemble de pixels de référence BRi situé dans une image de référence qui suit l’image courante Dans l’exemple représenté, l’ensemble de pixels de référence BRo est situé dans l’image de référence IRi-2 et l’ensemble de pixels de référence BRi est situé dans l’image de référence IRi+i. Toujours dans le cadre d’une telle prédiction inter de type B, et comme représenté sur la figure 2B, l’ensemble de pixels courant Bc peut être prédit par rapport à deux ensembles de pixels de référence BRo, BRi situés chacun dans une image de référence qui précède l’image courante Dans l’exemple représenté, l’ensemble de pixels de référence BRo est situé dans l’image de référence IRi-2 et l’ensemble de pixels de référence BRi est situé dans l’image de référence IRM .
Bien entendu, un ou plusieurs autres ensembles de pixels de référence peuvent être utilisés conjointement aux ensembles de pixels de référence BRo et BRi pour calculer l’ensemble de pixels de prédiction courant BPC.
Dans les modes de réalisation présentés ci-dessous, il est supposé que le ou les ensembles de pixels de référence BRo, BRi, etc... ont la même géométrie que l’ensemble de pixels courant Bc à prédire. Bien entendu, il est également possible, en fonction du contexte de la prédiction, de sur-dimensionner cet ensemble de pixels de référence de manière à couvrir une surface plus grande ou égale à celle de l’ensemble de pixels courant Bc à prédire.
En référence à nouveau à la figure 1 , un tel procédé de prédiction selon l’invention comprend ce qui suit :
En P1 , il est procédé à une analyse dudit moins un ensemble de pixels de référence BRo. Une telle analyse met en œuvre une estimation de mouvement comprenant une estimation du décalage pixellique entre ledit au moins un ensemble de pixels de référence BRo qui a été préalablement déplacé et une version prédite BPC d’un ensemble de pixels courant Bc qui n’est pas disponible au moment de la prédiction. Cette estimation de mouvement met en œuvre une compensation en mouvement classique, à l’issue de laquelle un ensemble de pixels compensé en mouvement BRCo est obtenu. Au cours de cette analyse, une information de déplacement est obtenue, telle qu’un vecteur Vo de déplacement qui décrit le déplacement de BRo vers BRCo.
En P2, est calculée une valeur de pondération wo pour chaque pixel de l’ensemble de pixels compensé en mouvement BRCo, selon le résultat de l’analyse effectuée en P1.
En P3, une version prédite BPC d’un ensemble de pixels courant Bc est calculée selon la fonction suivante, pour chaque coordonnée (x,y) d’un pixel considéré de l’ensemble de pixels de référence compensé en mouvement BRCo:
BPc x, ) = w0(x,y) * BRC0{x,y )
Lorsque deux ensembles de pixels de référence BRo et BRi sont considérés lors de l’analyse P1 , ce qui génère deux ensembles de pixels compensés en mouvement BRCo et BRCi et les vecteurs de déplacement correspondants Vo, Vi, deux valeurs de pondération w0, sont calculées en P2 respectivement pour l’ensemble de pixels compensé en mouvement BRCo et l’ensemble de pixels compensé en mouvement BRCi. L’ensemble de pixels de prédiction courant BPC est alors calculé en P3 selon la fonction suivante, pour chaque coordonnée (x,y) d’un pixel considéré des ensembles de pixels compensés en mouvement :
BPc{x,y) = w0(x,y) * BRC0(x,y ) + w1(x,y) * BRC^x.y)
Le procédé de prédiction qui vient d’être décrit ci-dessus peut ensuite être mis en œuvre pour chaque ensemble de pixels courants à prédire, considéré non disponible au moment de la prédiction.
Exemples de mise en œuvre de dispositif de prédiction pondérée
La figure 3A présente un dispositif de prédiction PRED1 adapté pour mettre en œuvre le procédé de prédiction illustré en figure 1 , selon un premier mode de réalisation de l'invention. Selon ce premier mode de réalisation, les actions exécutées par le procédé de prédiction sont mises en œuvre par des instructions de programme d'ordinateur.
Pour cela, le dispositif de prédiction PRED1 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_P1 , une unité de traitement UT_P1 , équipée par exemple d'un processeur PROC_P1 , et pilotée par le programme d'ordinateur PG_P1 stocké en mémoire MEM_P1. Le programme d'ordinateur PG_P1 comprend des instructions pour mettre en œuvre les actions du procédé de prédiction tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC_P1.
A l'initialisation, les instructions de code du programme d'ordinateur PG_P1 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_P1. Le processeur PROC_P1 de l'unité de traitement UT_P1 met notamment en œuvre les actions du procédé de prédiction décrit ci- dessus, selon les instructions du programme d'ordinateur PG_P1.
Le dispositif de prédiction reçoit en entrée E_P1 un ou plusieurs ensembles de pixels de référence BRo, BRi,..., calcule le et/ou les vecteurs de déplacement correspondants Vo, Vi,..., ainsi que le et/ou les valeurs de pondération correspondantes wo, i//i..., et délivre en sortie S_P1 l’ensemble de pixels de prédiction BPC précité.
La figure 3B présente un dispositif de prédiction PRED2 adapté pour mettre en œuvre le procédé de prédiction illustré en figure 1 , selon un deuxième mode de réalisation de l'invention.
Selon ce deuxième mode de réalisation, le dispositif de prédiction PRED2 est un réseau neuronal, tel que par exemple un réseau neuronal convolutif, un perceptron multicouche, un LSTM (pour « Long Short Term Memory » en anglais), etc..., noté RNC1 qui, à partir d’un ou plusieurs ensembles de pixels de référence BRo, BRi,...reçu(s) en entrée, met en œuvre conjointement les étapes P1 à P2 du procédé de prédiction pondérée de la figure 1 , pour délivrer en sortie :
- un ou plusieurs vecteurs de mouvement Vo, Vi,... respectifs,
- une ou plusieurs valeurs de pondération respectives wo,
Un calculateur CAL reçoit en entrée ces informations pour calculer l’ensemble de pixels de prédiction BPC selon la relation précitée:
BPc(x, ) = w0(x,y) * BRC0{x,y) + w^x.y) * BRC^x.y). De façon connue en soi, le réseau neuronal convolutif RNC1 réalise une succession de couches d’opérations de filtrage, de non linéarité et de changement d’échelles. Chaque filtre employé est paramétré par un noyau de convolution et les non linéarités sont paramétrées (ReLU, leaky ReLU, GDN (de l’anglais « generalized divisive normalization »), ...). Le réseau neuronal RNC1 est par exemple du type décrit dans le document D. Sun, et al., « PWC-Net: CNNs for Optical Flow Using Pyramid, Warping, and Cost Volume » CVPR 2018.
Dans ce cas, le réseau neuronal RNC1 peut être appris :
- à estimer Vo, Vi,... pour interpoler des mouvements depuis BRo, BRi,... vers l’image courante en cours de codage pour réaliser une prédiction ;
- à estimer les valeurs de pondération w0,
A cet effet, dans une phase préalable, le réseau RNC1 est entraîné pour réaliser l’opération P1. Par exemple, on apprend au réseau RNC1 à minimiser l’erreur quadratique moyenne entre une image \ à approximer et le résultat BPC de la prédiction pondérée de la figure 1. A l’issue de cette étape est obtenu un espace latent U représentatif de Vo, Vi , ... , wo, wi , ....
L’entrainement du réseau RNC1 est réalisé pendant une phase d’entrainement en présentant une pluralité d’ensembles de pixels de référence associés BRo, BRi,..., conjointement à un ensemble de pixels courant Bc, et en changeant, par exemple par un algorithme de descente du gradient, les poids du réseau pour minimiser l’erreur quadratique entre Bc et le résultat BPc(x,y) calculé selon la relation précitée.
A l’issue de cette phase préalable d’entrainement, le réseau RNC1 est figé et adapté pour être utilisé dans le dispositif de prédiction PRED2.
Le réseau RNC1 est ainsi optimisé pour mettre en œuvre les étapes P1 et P2 de la prédiction pondérée de la figure 1.
Mode de réalisation d’un procédé de prédiction pondérée mis en œuvre par le dispositif de prédiction PRED1
On décrit maintenant, en relation avec la figure 4 et les figures 5A à 5H, un mode de réalisation, dans lequel une pondération de prédiction d’un ensemble de pixels courant est mise en œuvre dans le dispositif de prédiction PRED1 de la figure 3A. Dans l’exemple représenté, deux ensembles de pixels de référence BRo et BRi sont pris en compte pour la prédiction. A cet effet, comme illustré sur la figure 4, l’analyse P1 d’au moins un ensemble de pixels de référence comprend ce qui suit :
En P10, est calculée une estimation de mouvement entre BRo et BRi. Une telle étape est effectuée par des étapes classiques de recherche de mouvement, comme par exemple une estimation de vecteurs de déplacement.
Les figures 5A à 5C représentent respectivement trois exemples différents de déplacement d’une version prédite BPC de l’ensemble de pixels courant Bc par rapport à deux ensembles de pixels de référence BRo et BRi, qui peuvent être rencontrés lors de cette étape P10. Dans l’exemple des figures 5A à 5C, le déplacement d’un élément E (symbolisé par un cercle) entre les ensembles de pixels de référence BRo et BRi est représenté par un champ de vecteurs de mouvement. Dans un souci de simplification, un seul vecteur, noté V01 et en pointillé sur les figures 5A à 5C, est représenté pour décrire, dans l’exemple représenté, le mouvement de l’élément E depuis BRo vers BRi (le mouvement sur les autres portions de l’image étant considéré nul). Mais il va de soi qu’il y a autant de vecteurs de mouvement que de pixels représentant les ensembles de pixels de référence BRo vers BRi comme par exemple dans le cas d’une estimation de mouvement par flot optique. Selon un autre exemple non représenté sur les figures 5A à 5C, un vecteur Vio, décrivant le mouvement (opposé) depuis BRi vers BRo, pourrait être calculé.
Le vecteur V01 ou Vio ayant été obtenu en P10, il est procédé en P11 (figure 4) à l’estimation du déplacement de l’ensemble de pixels courant Bc à prédire par rapport à BRo et BRi. Cette estimation est illustrée sur les figures 5A à 5C où le déplacement de l’élément E est estimé à un autre instant temporel que celui auquel sont situés BRo et BRi, qui est l’instant auquel est situé l’ensemble de pixels courant Bc. En utilisant les mêmes conventions que pour le calcul de V01 ou Vio :
- un seul vecteur Vo, qui décrit le mouvement depuis BRo vers la position prédite de Bc est calculé à partir du vecteur V01,
- un seul vecteur Vi qui décrit le mouvement depuis BRi vers la position prédite de Bc est calculé à partir du vecteur V01.
Dans l’exemple de la figure 5A, où l’ensemble de pixels courant Bc est situé temporellement à mi-chemin de BRo et de BRi, alors le déplacement de l’élément E à l’instant courant est estimé comme correspondant à la moitié du déplacement entre BRo et BRi, c’est-à-dire la moitié du vecteur V01 ou Vio. Une telle configuration de déplacement est rencontrée dans le cas où par exemple, en reprenant les mêmes notations que sur la figure 2B, BRo appartient à l’image de référence IRM et BRi appartient à l’image de référence IRi+i.
Dans l’exemple de la figure 5B, où l’ensemble de pixels courant Bc est situé temporellement plus près de BRo que de BRi, alors le déplacement de l’élément E à l’instant courant est estimé comme étant plus court que la moitié du déplacement entre BRo et BRi. Par exemple, si BRo appartient à l’image de référence IRM et BRi appartient à l’image de référence IRi+2, alors le déplacement de l’élément E à l’instant courant est estimé comme correspondant au tiers du déplacement entre BRo et BRi, c’est-à-dire le tiers du vecteur V01 ou Vio.
Dans l’exemple de la figure 5C, où l’ensemble de pixels courant Bc est situé temporellement après BRo puis BRi, BRo appartenant à l’image de référence IRi-2 et BRi appartenant à l’image de référence IRi-2, alors le déplacement de l’élément E à l’instant courant est estimé comme le double du déplacement entre BRo et BRi, c’est-à-dire le double du vecteur V01 ou Vio.
En référence aux figures 4 et 5D, en P12, BRo et BRi sont chacun compensés en mouvement à l’aide des vecteurs Vo et Vi, pour créer respectivement deux versions prédites de Bc, notées BRCo et BRCi.
A titre d’illustration sur la figure 5D, on considère que les vecteurs Vo et Vi ont été obtenus par exemple conformément à la configuration de mouvement représentée sur la figure 5A, pour laquelle le déplacement de l’élément E à l’instant courant est estimé comme correspondant à la moitié du déplacement entre BRo et BRi, c’est-à- dire la moitié du vecteur V01 ou Vio.
La figure 5D représente :
- un ensemble de pixels compensé en mouvement à droite BRCo, sur lequel la position interpolée de l’élément E comprend un ensemble de pixels ERCo résultant de la compensation en mouvement de l’élément E de BRo, par le vecteur Vo,
- un ensemble de pixels compensé en mouvement à gauche BRCi, sur lequel la position interpolée de l’élément E comprend un ensemble de pixels ERCi résultant de la compensation en mouvement de l’élément E de BRi, par le vecteur Vi.
En revanche, une partie Zo de ERCo et une partie Zi de ERCi sont indéfinies car correspondant au contenu non connu qui est situé derrière l’élément E de BRo et l’élément E de BRi. Toutefois, comme visible sur la figure 5D, la partie Zo est définie dans ERCi et la partie Zi est définie dans ERCo.
Le calcul P2 de valeurs de pondération de prédiction wo et wi comprend alors ce qui suit :
En référence aux figures 4 et 5E, pour réaliser une combinaison efficace des ensembles de pixels de référence compensés en mouvement BRCo et BRCi, conformément à l’invention, il est procédé en P20 au calcul pixel à pixel des pondérations intermédiaires winto(x,y) et winti(x,y), pour respectivement les deux versions prédites BRCo et BRCi.
Un tel calcul permet d’isoler les parties de BRo et de BRi qui ne sont pas définies respectivement dans BRCo et BRCi.
A cet effet, comme illustré sur la figure 5E, il est proposé :
- d’assigner à zéro la valeur de pondération pour chaque pixel des parties Zo et Zi respectivement, soit n nto(x,y)=0 et n nti(x,y)=0, les parties Zo et Zi étant illustrées en blanc,
- d’assigner à une constante K la valeur de pondération pour chaque pixel défini des ensembles de pixels de référence compensés en mouvement BRCo et BRCi, soit n nto(x,y)=K et n nti(x,y)=K avec par exemple K=0.5, correspondant à la couleur grise sur la figure 5E.
A l’issue de cette opération, est obtenue une pondération intermédiaire où pour chacun des ensembles de pixels de référence compensés en mouvement BRCo et BRCi, le contenu blanc correspond à i nto(x,y)=0 et n nti(x,y)=0 et le contenu gris à n nto(x,y)=0.5 et n nti(x,y)=0,5.
En référence à la figure 4, il est procédé en P21 , au calcul de la somme ws(x,y) des pondérations intermédiaires winto(x,y) et winti(x,y),
Le calcul de la somme des pondérations intermédiaires winto(x,y) et winti(x,y) est illustré en figure 5F où le contenu noir correspond à i/ys(x,y)=1 et le contenu gris correspond à i/ys(x,y)=0.5.
Le calcul P3 de la fonction de pondération de prédiction comprend alors ce qui suit : En référence à la figure 4, au cours de l’opération P30, les versions prédites compensées en mouvement BRCo et BRCi sont pondérées par leurs pondérations respectives w0 et wi. Des versions prédites compensées pondérées BRCWo et BRCWi sont alors obtenues. A cet effet, les pondérations de compensation suivantes i/i/o(x,y) et i/i/i(x,y) sont calculées pour respectivement chaque ensemble de pixels de référence compensés en mouvement BRCo et BRCi :
Une telle pondération de compensation est représentée sur la figure 5G. Le contenu blanc correspond aux zones indéfinies Zo et Zi pour lesquelles i//o(x,y)=0 et i//i(x,y)=0. Le contenu noir correspond aux zones parfaitement définies pour lesquelles i//o(x,y)=1 et i//i(x,y)=1. Le contenu gris correspond à l’arrière-plan et à l’élément E, pour lequel i/yo(x,y)=0.5 et wi(x,y)=0.5.
Les versions prédites BRCo et BRCi sont alors compensées en mouvement et pondérées par leurs pondérations respectives wo et wi. Des versions prédites compensées pondérées BRCWo et BRCWi sont alors obtenues.
En référence aux figures 4 et 5H, au cours de l’opération P31 , les versions prédites compensées pondérées BRCWo et BRCWi sont additionnées, fournissant un ensemble de pixels de prédiction compensé en mouvement BPC.
On a ainsi construit une compensation de mouvement incluant une pondération de compensation déterminée par des éléments présents uniquement au moment de la prédiction, c’est à dire uniquement sur les ensembles de pixels de référence BRo et BRi. Un avantage particulier d’une telle pondération de compensation par rapport aux solutions actuellement normalisées réside dans le fait que BRo et BRi étant parfaitement connus au moment de la prédiction et que la prédiction selon l’invention n’utilise que BRo et BRi, il est possible de traiter efficacement les désocclusions lors de la prédiction, comme cela est illustré sur les figures 5D à 5H, où les zones occultées Zo et Zi précitées peuvent être restaurées avec une très bonne précision spatiale.
La pondération de prédiction peut être présentée sous une autre forme. Par exemple, une seule pondération i/ypeut être utilisée. Alors, w pondère l’ensemble de pixels de référence compensé en mouvement BRCo et (1-w) pondère l’ensemble de pixels de référence compensé en mouvement BRCi. w peut être calculé à partir du mode de réalisation ci-dessus en partant des valeurs de pondération wo et wi calculées précédemment, et en faisant : Bien qu’un procédé de prédiction ait été décrit ci-dessus, un tel procédé pourrait également être mis en œuvre pour construire ou synthétiser un ensemble de pixels Bc à partir de un ou plusieurs ensembles de pixels de référence BRo, BRi,...en utilisant la fonction de prédiction pondérée qui vient d’être décrite. Le procédé de prédiction pourrait être appelé procédé de construction ou de synthèse de l’ensemble de pixels Bc, correspondant par exemple à un ensemble de pixels manquant ou un ensemble de pixels non capturé par une caméra (vidéo 360°). Dans ce cas, à proprement parler, les dispositifs de prédiction PRED1 et PRED2 seront plutôt considérés comme des dispositifs de construction ou de synthèse. Ainsi le dispositif de prédiction PRED1 pourrait mettre en œuvre un algorithme dit « de synthèse » de vue. Par exemple, le logiciel VSRS (pour « View Synthesis Reference » en anglais), l’algorithme VVS (« Versatile View Synthesizer » en anglais), peuvent être utilisé comme algorithme de synthèse de vue. Le dispositif de construction ou de synthèse PRED2 peut être quant à lui, comme décrit précédemment, un réseau neuronal, tel que par exemple un réseau neuronal convolutif, un perceptron multicouche, un LSTM (pour « Long Short Term Memory » en anglais), etc.
Procédé de codage d’image Principe général
On décrit ci-après, en référence à la figure 6, un procédé de codage d’image mettant en œuvre la prédiction pondérée décrite en référence à la figure 1.
Un tel procédé de codage comprend ce qui suit :
En C1, la prédiction pondérée, dans ses étapes P1 à P3 illustrées en figure 1, est mise en œuvre, générant l’ensemble de pixels de prédiction courant BPC.
Les étapes suivantes de codage sont classiques et conformes à un codage de type AVC, HEVC, WC ou similaire. Ainsi :
- en C2, est calculé un signal BEC représentatif de l’écart entre l’ensemble de pixels courant Bc et l’ensemble de pixels de prédiction courant BPC obtenu en C1 ;
- en C3, dans le cas où ce signal BEC est celui qui optimise le codage par rapport à un critère de performance de codage classique, comme par exemple la minimisation du coût débit/distorsion ou bien le choix du meilleur compromis efficacité/complexité, qui sont des critères bien connus de l'homme du métier, le signal BEC est quantifié et codé. A l’issue de cette opération, un signal d’écart quantifié et codé BEc cod est obtenu.
Au cours du codage C3, plusieurs possibilités de codage peuvent être explorées, par exemple une pluralité de valeurs de pondération de prédiction w0, wi, ... peut être investiguée pour trouver le meilleur compromis débit/distorsion ou efficacité/complexité.
L’encodeur peut mettre en compétition des valeurs de pondération calculées suivant le procédé de prédiction décrit plus haut avec des valeurs de pondérations qu’il peut choisir de transmettre. A cet effet, il peut évaluer la qualité de la prédiction BPc obtenue à partir du procédé de prédiction plus haut et mesurer, par exemple à l’aide d’une erreur quadratique moyenne, l’erreur de prédiction. Celle-ci peut être comparée à l’erreur de prédiction issue d’un ensemble de paires de valeurs de pondération prédéterminées ( wo,wi ) tel qu’utilisé dans les standards vidéo actuels. Cet ensemble peut se restreindre à (0.5, 0.5) comme par exemple dans la norme HEVC (pour « High Efficiency Video Coding » en anglais) ou comprendre d’autres valeurs comme par exemple celles utilisées dans l’outil BCW (pour « Bi-prediction with CU level Weights » en anglais) de la norme WC (pour « Versatile Video Coding » en anglais). Un indicateur indiquera au décodeur s’il doit utiliser le procédé de prédiction décrit plus haut ou s’il doit appliquer l’outil BCW de WC ou s’il doit appliquer la prédiction équilibrée de HEVC.
Cette mise en compétition des valeurs de pondération de prédiction wo, a pour avantage d’optimiser la précision de la prédiction pondérée en comparaison de la pondération de prédiction par défaut mise en œuvre dans les dispositifs de prédiction de l’art antérieur. En effet, la pondération de prédiction de l’invention génère des valeurs de pondération plus précises mais peut engendrer une plus forte distorsion lorsque le signal n’est pas prédictible. Une pondération de prédiction classique peut, quoique moins précise spatialement et au prix d’un débit à transmettre entraîner une distorsion plus faible.
En C4, les données du signal d’écart quantifié et codé BEc cod sont inscrites dans un flux de transport F apte à être transmis à un décodeur qui sera décrit ultérieurement dans la description.
En revanche, conformément à l’invention, la pondération wo et/ou la pondération w\ ne sont avantageusement ni codées, ni transmises au décodeur. Bien entendu, dans le cas où le signal d’écart quantifié et codé BEcest nul, ce qui peut être le cas pour le mode de codage SKIP, les étapes C2 et C4 précitées ne sont pas mises en œuvre.
Exemples de mise en œuvre de codeur
La figure 7 A présente un codeur COD1 adapté pour mettre en œuvre le procédé de codage illustré en figure 6, selon un premier mode de réalisation de l'invention. Le codeur COD1 comprend le dispositif de prédiction PRED1.
Selon ce premier mode de réalisation, les actions exécutées par le procédé de codage sont mises en œuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de codage COD1 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_C1 , une unité de traitement UT_C1 , équipée par exemple d'un processeur PROC_C1 , et pilotée par le programme d'ordinateur PG_C1 stocké en mémoire MEM_C1. Le programme d'ordinateur PG_C1 comprend des instructions pour mettre en œuvre les actions du procédé de codage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC C1 .
A l'initialisation, les instructions de code du programme d'ordinateur PG_C1 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_C1. Le processeur PROC_C1 de l'unité de traitement UT_C1 met notamment en œuvre les actions du procédé de codage décrit ci-dessus, selon les instructions du programme d'ordinateur PG_C1.
Le codeur COD1 reçoit en entrée E_C1 un ensemble de pixels courant Bc et délivre en sortie S_C1 le flux de transport F qui est transmis à un décodeur à l’aide d’une interface de communication adaptée (non représentée).
La figure 7B présente un codeur COD2 adapté pour mettre en œuvre le procédé de codage illustré en figure 6, selon un deuxième mode de réalisation de l'invention. Le codeur COD2 comprend le dispositif de prédiction PRED2 précité suivi d’un réseau neuronal convolutif RNC2 qui par exemple calcule puis code le signal d’écart BEC ou code l’ensemble de pixels courant Bc conjointement avec l’ensemble de pixels de prédiction BPC généré par le dispositif de prédiction PRED2. Un tel réseau RNC2 est par exemple du type décrit dans le document : Ladune « Optical Flowand Mode Sélection for Learning-based Video Coding », IEEE MMSP 2020.
Procédé de décodage d’image Principe général
On décrit ci-après, en référence à la figure 8, un procédé de décodage d’image mettant en œuvre la prédiction pondérée décrite en référence à la figure 1 .
Un tel procédé de décodage met en œuvre un décodage d’image correspondant au codage d’image de la figure 6. En particulier, mise à part la prédiction pondérée, le procédé de décodage met en œuvre des étapes de décodage classiques qui sont conformes à un décodage de type AVC, HEVC, VVC ou similaire.
Le procédé de décodage comprend ce qui suit :
En D1 , il est procédé classiquement à une extraction du flux de transport F reçu des données du signal d’écart codé BEc cod.
En D2, il est procédé classiquement à un décodage de BEc cod. A l’issue de cette opération, un signal d’écart décodé BEc dec est obtenu.
En D3, la prédiction pondérée selon l’invention, dans ses étapes P1 à P3 illustrées en figure 1 , est mise en œuvre, générant l’ensemble de pixels de prédiction courant BPc.
En D4, un ensemble de pixels courant reconstruit BDC est calculée en combinant le signal d’écart décodé BEc dec obtenu en D2 à l’ensemble de pixels de prédiction BPC obtenu en D3.
De façon connue en soi, l’ensemble de pixels courant reconstruit BDC pourra éventuellement subir un filtrage par un filtre de boucle du signal reconstruit qui est bien connu de l’homme du métier.
Bien entendu, dans le cas où le signal d’écart BEcqui a été calculé lors du procédé de codage précité est nul, ce qui peut être le cas pour le mode de codage SKIP, les étapes D1 et D2 précitées ne sont pas mises en œuvre.
Exemples de mise en œuvre de décodeur
La figure 9A présente un décodeur DEC1 adapté pour mettre en œuvre le procédé de décodage illustré en figure 8, selon un premier mode de réalisation de l'invention. Le décodeur DEC1 comprend le dispositif de prédiction PRED1 .
Selon ce premier mode de réalisation, les actions exécutées par le procédé de décodage sont mises en œuvre par des instructions de programme d'ordinateur. Pour cela, le décodeur DEC1 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_D1 , une unité de traitement UT_D1 , équipée par exemple d'un processeur PROC_D1 , et pilotée par le programme d'ordinateur PG_D1 stocké en mémoire MEM_D1 . Le programme d'ordinateur PG_D1 comprend des instructions pour mettre en œuvre les actions du procédé de décodage tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC_D1 .
A l'initialisation, les instructions de code du programme d'ordinateur PG_D1 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_D1 . Le processeur PROC_D1 de l'unité de traitement UT_D1 met notamment en œuvre les actions du procédé de décodage décrit ci- dessus en liaison avec la figure 8, selon les instructions du programme d'ordinateur PG_D1 .
Le décodeur DEC1 reçoit en entrée E_D1 le flux de transport F transmis par le codeur COD1 de la figure 7A et délivre en sortie S_D1 l’ensemble de pixels décodé courant BDC.
La figure 9B présente un décodeur DEC2 adapté pour mettre en œuvre le procédé de décodage illustré en figure 8, selon un deuxième mode de réalisation de l'invention. Le décodeur DEC2 comprend le dispositif de prédiction PRED2 précité suivi d’un réseau neuronal convolutif RNC3 qui par exemple décode le signal d’écart codé BEc cod ou décode le signal d’écart codé BEc cod conjointement avec l’ensemble de pixels de prédiction BPC généré par le dispositif de prédiction PRED2. Un tel réseau RNC3 est par exemple du type décrit dans le document : Ladune « Optical Flowand Mode Sélection for Learning-based Video Coding », IEEE MMSP 2020. Variante du procédé de prédiction pondérée d’image
On décrit à présent, en référence aux figures 10 et 11 , une variante du procédé de prédiction pondérée illustré en figure 1 , telle que mise en œuvre dans un codeur COD3.
Une telle variante vient améliorer le procédé de prédiction pondérée de la figure 1 lorsque la précision/qualité de la prédiction obtenue n’est pas satisfaisante.
A cet effet, côté codeur, comme illustré sur la figure 10, il est procédé en C’1 à une analyse dudit moins un ensemble de pixels de référence BRo de façon conjointe avec l’ensemble de pixels courant Bc. Par exemple deux ensembles de pixels de référence BRo et BRi sont analysés conjointement avec Bc. Dans l’exemple représenté, BRo est situé temporellement avant Bc et BRi est situé temporellement après Bc.
Comme représenté en figure 11 , l’analyse C’1 est mise en œuvre à l’aide d’un réseau neuronal convolutif RNC4 qui, à partir des deux ensembles de pixels de référence BRo et BRi et de l’ensemble de pixels courant Bc, crée une transformation au travers d’un certain nombre de couches, telles que par exemple des couches implémentant des filtres convolutifs (CNN) suivies de couches implémentant des non-linéarités et des décimations, comme décrit dans le document: Ladune « Optical Flowand Mode Sélection for Learning-based Video Coding », IEEE MMSP 2020.
A l’issue de l’étape C’1 , un ensemble de variables latentes est obtenu sous forme d’un signal U’.
Le signal U 'est quantifié en C’2 par un quantificateur QUANT, par exemple uniforme ou vectoriel, réglé par un paramètre de quantification. Un signal quantifié U’q est alors obtenu.
En C’3, le signal quantifié U’q est codé à l’aide d’un codeur entropique CE, par exemple de type arithmétique, avec une statistique déterminée. Cette statistique est par exemple paramétrée par des probabilités de statistiques, par exemple en modélisant la variance et la moyenne d’une loi laplacienne (s,m), ou bien en considérant des hyperpriors comme dans la publication : « Variational image compression with a scale hyperprior» par Ballé qui a été présentée à la conférence ICLR 2018. Un signal quantifié codé U’q cod est alors obtenu.
En C’4, le signal quantifié codé U’q cod est inscrit dans un flux de transport F’ qui est transmis à un décodeur DEC3 illustré sur la figure 13.
On décrit à présent, en référence aux figures 12 et 13, une variante du procédé de prédiction pondérée illustré en figure 1 , telle que mise en œuvre dans un décodeur DEC3.
A cet effet, côté décodeur, comme illustré sur la figure 12, il est procédé en D’1 à une analyse d’au moins un ensemble de pixels de référence BRo, deux ensembles de pixels de référence BRo et BRi dans l’exemple représenté. Une telle analyse est identique à celle effectuée à l’étape P1 de la figure 1 , à l’aide du réseau de neurones RNC1 . A l’issue de cette étape, est obtenu un espace latent U représentatif de Vo,
Vi , ... , wo, W1 , .
Suite à la réception du flux F’, il est procédé en D’2 au décodage entropique du signal quantifié codé U’q cod à l’aide d’un décodeur entropique DE correspondant au codeur entropique CE de la figure 11 , avec la même statistique déterminée, telle que la modélisation de la variance et de la moyenne d’une loi laplacienne (s,m). Un signal quantifié décodé U’q est obtenu à l’issue de cette opération. En D’3, le signal quantifié décodé U’q est concaténé avec l’espace latent U obtenu par le réseau de neurones RNC1 de la figure 13 et représentatif de l’analyse de uniquement les ensembles de pixels de référence BRo et BRi.
Le réseau de neurones RNC1 traite ensuite cette concaténation au travers de différentes couches, de la même façon qu’à l’étape P2 de la figure 1 , pour estimer les informations de mouvement Vo, Vi , ... , ainsi que les valeurs de pondération correspondantes w0, w ....
De façon correspondante à la figure 3B, un calculateur CAL reçoit en entrée ces informations pour calculer l’ensemble de pixels de prédiction BPC selon la relation précitée. Cette étape est identique à l’étape P3 de la figure 1 .
Dans les modes de réalisation qui ont été exposés plus haut en référence aux figures 3A et suivantes, deux ensembles de pixels de référence BRo, BRi sont utilisés dans le procédé de prédiction pondérée.
Ces modes de réalisation peuvent être étendus à trois ou plus ensembles de pixels de référence. A cet effet, le réseau neuronal RNC1 décrit en référence à la figure 3B sera appris à partir de trois ensembles de pixels de référence BRo, BRi, BR2 ou plus, pour obtenir l’ensemble de pixels de prédiction BPc{x,y).
Un mode de prédiction pondérée dégradé est bien sûr possible, par exemple lorsque seulement une trame de référence est utilisée pour la prédiction (cas de prédiction de type P en codage vidéo). Un tel mode dégradé est illustré en référence aux figures 14 et 15. Dans l’exemple de la figure 14, est représenté un codeur COD3’ qui est similaire au codeur COD3 de la figure 11 . Le codeur COD3’ se différentie du codeur COD3 par son réseau neuronal RNC4’ qui est appris à partir d’un seul ensemble de pixels de référence, BRo sur la figure 14. Ainsi, le réseau neuronal RNC4’ génère un signal U’ à partir du seul ensemble de pixels de référence BRo et de l’ensemble de pixels courant Bc. Comme déjà décrit précédemment en liaison avec les figures 10 et 11 , Le signal U’ est quantifié pour obtenir un signal quantifié U’q. Le signal quantifié U’q est codé entropiquement. Un signal quantifié codé U’q cod est alors obtenu. Le signal quantifié codé U’q cod est inscrit dans un flux de transport F’ qui est transmis à un décodeur DEC3’ illustré sur la figure 15.
Le décodeur DEC3’ se différentie du décodeur DEC3 de la figure 13 par son réseau neuronal RNC1 ’ qui analyse un unique ensemble de pixels de référence, BRo dans l’exemple représenté. A l’issue de cette analyse, est obtenu un espace latent U représentatif de Vo et de wo. Comme déjà expliqué précédemment en référence à la figure 12, suite à la réception du flux F’, le signal quantifié codé U’q cod est décodé entropiquement, générant un signal quantifié décodé U’q. Le signal quantifié décodé
U’q est concaténé avec l’espace latent U obtenu par le réseau de neurones RNC1’.
Le réseau de neurones RNC1 ’ traite ensuite cette concaténation pour estimer l’unique information de mouvement Vo ainsi que l’unique valeur de pondération correspondante wo. Le calculateur CAL reçoit en entrée ces informations pour calculer classiquement l’ensemble de pixels de prédiction BPC selon la relation précitée avec BRCi=0 puisque BRi n’a pas été considéré, donc non compensé en mouvement. De même wi(x,y)=0.
Il en résulte que l’ensemble de pixels de prédiction BPC obtenu à l’issue de l’étape P3 de la figure 1 et délivré en sortie du calculateur CAL est :
BPc(x, ) = w0 (x, ) * BRC0(x,y) + 0 * 0 = w0(x,y) * BRC0(x,y).

Claims

REVENDICATIONS
[Revendication 1] Procédé de prédiction d’au moins un ensemble de pixels courant (Bc), mis en œuvre par un dispositif de prédiction, dans lequel ledit au moins un ensemble de pixels courant (Bc) est prédit à partir d’au moins un ensemble de pixels de référence (BRo ; BRo, BRi) appartenant à une image de référence déjà décodée, à l’aide d’une fonction de pondération de prédiction de pixels, caractérisé en ce que ladite fonction de pondération de prédiction des pixels dudit au moins un ensemble de pixels courant (Bc) comprend au moins une valeur de pondération calculée (P2- P3) à partir d’une analyse (P1 ) d’au moins un ensemble de pixels de référence (BRo ; BRo, BRi).
[Revendication 2] Procédé de prédiction selon la revendication 1, dans lequel l’analyse d’au moins un ensemble de pixels de référence (BRo ; BRo, BRi) met en œuvre une estimation de mouvement ou un filtrage dudit au moins un ensemble de pixels de référence.
[Revendication 3] Procédé de prédiction selon la revendication 2, dans lequel l’estimation de mouvement est du type par flot optique.
[Revendication 4] Procédé de prédiction selon la revendication 1, dans lequel la fonction de pondération de prédiction est modifiée à l’aide d’au moins un paramètre de modification (U’q) qui est issu d’une analyse conjointe dudit au moins un ensemble de pixels courant et d’au moins un ensemble de pixels de référence.
[Revendication 5] Dispositif de prédiction d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour prédire ledit au moins un ensemble de pixels courant à partir d’au moins un ensemble de pixels de référence appartenant à une image de référence déjà décodée, à l’aide d’une fonction de pondération de prédiction de pixels, caractérisé en ce que ladite fonction de pondération de prédiction des pixels dudit au moins un ensemble de pixels courant (Bc) comprend au moins une valeur de pondération calculée à partir d’une analyse d’au moins un ensemble de pixels de référence.
[Revendication 6] Dispositif de prédiction selon la revendication 5, caractérisé en ce qu’il utilise un réseau de neurones (PRED2).
[Revendication 7] Programme d'ordinateur comportant des instructions de code de programme pour la mise en œuvre du procédé de prédiction selon l’une quelconque des revendications 1 à 4, lorsqu'il est exécuté sur un ordinateur.
[Revendication 8] Support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur selon la revendication 7.
[Revendication 9] Procédé de codage d’au moins un ensemble de pixels courant, mis en œuvre par un dispositif de codage (COD1 ; COD2 ; COD3 ; COD3’), comprenant ce qui suit:
- calculer (C2) un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- coder (C3) ledit signal, ledit procédé de codage étant caractérisé en ce que ledit ensemble de pixels de prédiction est obtenu (C1) à l’aide du procédé de prédiction selon l’une quelconque des revendications 1 à 4.
[Revendication 10] Procédé de codage selon la revendication 9, comprenant ce qui suit :
- coder (C’3) au moins un paramètre de modification de la fonction de pondération de prédiction,
- transmettre (C’4) ledit au moins un paramètre de modification codé à un décodeur d’image.
[Revendication 11] Dispositif de codage d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit:
- calculer un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- coder ledit signal, caractérisé en ce que ledit ensemble de pixels de prédiction est obtenu à l’aide du dispositif de prédiction selon la revendication 5 ou la revendication 6.
[Revendication 12] Procédé de décodage d’au moins un ensemble de pixels courant, mis en œuvre par un dispositif de décodage, comprenant ce qui suit: - déterminer (D1), dans un signal de données, des données représentatives d’un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- reconstruire (D4) ledit au moins un ensemble de pixels courant à partir des données déterminées et de l’ensemble de pixels de prédiction, ledit procédé de décodage étant caractérisé en ce que ledit ensemble de pixels de prédiction est obtenu (D3) à l’aide du procédé de prédiction selon l’une quelconque des revendications 1 à 4.
[Revendication 13] Procédé de décodage selon la revendication 12, comprenant en outre ce qui suit :
- déterminer (D’2), dans ledit signal de données ou un autre signal de données, au moins un paramètre codé, ledit paramètre étant un paramètre de modification de la fonction de pondération de prédiction,
- décoder ledit paramètre de modification codé,
- calculer (D’3, P2-P3) une fonction de pondération de prédiction modifiée à partir de l’analyse dudit au moins un ensemble de pixels de référence et dudit au moins un paramètre de modification décodé.
[Revendication 14] Dispositif de décodage d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour mettre en œuvre ce qui suit:
- déterminer, dans un signal de données, des données représentatives d’un signal représentatif d’un écart entre ledit au moins un ensemble de pixels courant et un ensemble de pixels de prédiction issu d’une prédiction dudit au moins un ensemble de pixel courant,
- reconstruire ledit au moins un ensemble de pixels courant à partir des données déterminées et de l’ensemble de pixels de prédiction, caractérisé en ce que ledit ensemble de pixels de prédiction est obtenu à l’aide du dispositif de prédiction selon la revendication 5 ou la revendication 6. [Revendication 15] Programme d'ordinateur comportant des instructions de code de programme pour la mise en œuvre du procédé de codage selon la revendication 9 ou 10, ou du procédé de décodage selon la revendication 12 ou 13, lorsqu'il est exécuté sur un ordinateur. [Revendication 16] Support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur selon la revendication 15.
EP22710422.1A 2021-02-19 2022-02-15 Prédiction pondérée d'image, codage et décodage d'image utilisant une telle prédiction pondérée Pending EP4295574A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2101632A FR3120174A1 (fr) 2021-02-19 2021-02-19 Prédiction pondérée d’image, codage et décodage d’image utilisant une telle prédiction pondérée
PCT/FR2022/050272 WO2022175625A1 (fr) 2021-02-19 2022-02-15 Prédiction pondérée d'image, codage et décodage d'image utilisant une telle prédiction pondérée

Publications (1)

Publication Number Publication Date
EP4295574A1 true EP4295574A1 (fr) 2023-12-27

Family

ID=75108603

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22710422.1A Pending EP4295574A1 (fr) 2021-02-19 2022-02-15 Prédiction pondérée d'image, codage et décodage d'image utilisant une telle prédiction pondérée

Country Status (7)

Country Link
US (1) US20240073411A1 (fr)
EP (1) EP4295574A1 (fr)
JP (1) JP2024510095A (fr)
KR (1) KR20230157312A (fr)
CN (1) CN116868565A (fr)
FR (1) FR3120174A1 (fr)
WO (1) WO2022175625A1 (fr)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
EP3668097A1 (fr) * 2018-12-13 2020-06-17 InterDigital VC Holdings, Inc. Codage d'indices en bi-prédiction généralisée
US10896356B2 (en) * 2019-05-10 2021-01-19 Samsung Electronics Co., Ltd. Efficient CNN-based solution for video frame interpolation

Also Published As

Publication number Publication date
CN116868565A (zh) 2023-10-10
FR3120174A1 (fr) 2022-08-26
KR20230157312A (ko) 2023-11-16
JP2024510095A (ja) 2024-03-06
US20240073411A1 (en) 2024-02-29
WO2022175625A1 (fr) 2022-08-25

Similar Documents

Publication Publication Date Title
FR2904494A1 (fr) Procede et dispositif de compression d'image, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede
FR2926419A1 (fr) Codeur entropique, dispositif de codage video, procede de codage video et programme de codage video
FR2951345A1 (fr) Procede et dispositif de traitement d'une sequence video
EP1354482A1 (fr) Procede de codage et de decodage d'images, dispositifs, et applications correspondants
EP2279621A2 (fr) Procédé de codage, de décodage, codeur et décodeur
EP3198876B1 (fr) Génération et codage d'images intégrales résiduelles
EP2443835A1 (fr) Codage de vecteurs mouvement par competition de predicteurs
EP2716045B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP2633686B1 (fr) Codage video echelonnable a partir d'un epitome hierarchique
EP4295574A1 (fr) Prédiction pondérée d'image, codage et décodage d'image utilisant une telle prédiction pondérée
FR2955995A1 (fr) Procede et dispositif de traitement d'une sequence video
EP4295575A1 (fr) Determination d'un mode de codage d'image
EP3529987A1 (fr) Procédé de codage et de décodage de paramètres d'image, dispositif de codage et de décodage de paramètres d'image et programmes d'ordinateur correspondants
WO2008049628A1 (fr) Procede et dispoitif d'optimisation de la compression d'un flux video
US20240137486A1 (en) Method for determining an image coding mode
Rodrigues et al. IT/IST/IPLeiria Response to the Call for Evidence on JPEG Pleno Point Cloud Coding
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
EP3384672A1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
Pranav et al. Optimizing Video Compression & Decompression Using Deep Learning Networks
He Content Adaptive NN-Based In-Loop Filter for VVC
FR2980068A1 (fr) Procede de codage et de reconstruction d'un bloc de pixels et dispositifs correspondants
FR3107383A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
WO2006056720A1 (fr) Compression video par modification de quantification par zones d'images
FR2851109A1 (fr) Procede et dispositif de determination de parametres d'un modele d'estimation de la distorsion d'une sequence d'images
FR2724280A1 (fr) Procede et dispositif de transcodage d'une sequence de signaux numeriques

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230829

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE