EP4295575A1 - Determination d'un mode de codage d'image - Google Patents

Determination d'un mode de codage d'image

Info

Publication number
EP4295575A1
EP4295575A1 EP22710130.0A EP22710130A EP4295575A1 EP 4295575 A1 EP4295575 A1 EP 4295575A1 EP 22710130 A EP22710130 A EP 22710130A EP 4295575 A1 EP4295575 A1 EP 4295575A1
Authority
EP
European Patent Office
Prior art keywords
coding
pixels
decoding
mode
determination
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
EP22710130.0A
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 EP4295575A1 publication Critical patent/EP4295575A1/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
    • 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/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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

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.
  • Current video coders use a block representation of the video sequence.
  • the images are cut into blocks, which are likely to be recut recursively.
  • each block is coded using a particular coding mode, for example an Intra, Inter, Skip, Merge, etc. mode.
  • a coding mode such as for example the Intra coding mode, the IBC coding mode (for "Intra Block Copy" in English) .
  • Inter coding mode For each block is coded a residual block, also called prediction residual, corresponding to the original block reduced by a prediction. In the case of a Skip coding mode, the residual block is zero.
  • the encoder is responsible for sending the decoder the coding information relating to the optimal coding mode to allow the decoder to reconstruct the original block. Such information is transmitted in a stream, typically as a binary representation.
  • the decoding is carried out at the decoder from the coding information read in the stream, then decoded, as well as from elements already available at the decoder, i.e. previously decoded.
  • Inter decoding mode this is called Inter decoding mode.
  • One of the aims of the invention is to remedy the drawbacks of the aforementioned state of the art by improving the determination of the coding modes of the prior art, in favor of a reduction in the cost of signaling information linked to the mode coding determined for the coding of a current set of pixels.
  • an object of the present invention relates to a method for determining at least one mode of coding, respectively decoding, among at least two modes of coding, respectively decoding, for coding, respectively decoding at least one set of current pixels .
  • Such a determination method is characterized in that said at least one mode of coding, respectively decoding, is determined from an analysis of at least one set of reference pixels.
  • Such a method for determining at least one mode of coding (respectively decoding) 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 instant of coding or decoding of the current set of pixels, to determine, from among at least two possible coding (respectively decoding) modes, the and/or the coding (respectively decoding) modes to be applied to each pixel of the current set of pixels.
  • the precision of this/these set(s) of reference pixels is perfectly known for each pixel position, unlike an encoder (respectively decoder) which works by block in the prior art.
  • the determination of the coding mode or modes (respectively decoding) to be applied to each pixel of the current set of pixels is improved because it is more direct and spatially precise than that implemented in the prior art which is based on calculating a coding performance criterion per block.
  • the coding mode (respectively decoding) to be applied to the current set of pixels is thus more precise and adapts better to the local properties of the image.
  • a single mode of coding, respectively decoding, among the at least two modes is determined for at least one pixel of the current set of pixels, the determination of one or the other mode varying from said at least one pixel to at least one other pixel of said set.
  • Such an embodiment advantageously makes it possible to reuse prior art coding or decoding modes (for example intra, skip, inter, etc.) with pixel precision.
  • the at least two modes of coding, respectively decoding are determined in combination for at least one pixel of the current set of pixels.
  • Such an embodiment advantageously makes it possible to be able to combine at least two coding modes (skip, intra, inter, etc.), respectively decoding, to code, respectively decode, the same pixel.
  • This embodiment also makes it possible to be able to pass progressively from one mode of coding, respectively decoding, to the other without generating discontinuities comparable to block effects.
  • the determination of said at least one mode of coding, respectively decoding is modified by a modification parameter which results from an analysis of the current set of pixels.
  • Such an embodiment advantageously makes it possible to apply a correction to the determination of said at least one coding or decoding mode, when the current set of pixels contains an element which was not present/predictable in the set or sets of reference pixels.
  • the invention also relates to a device for determining at least one mode of coding, respectively decoding, comprising a processor which is configured to determine at least one mode of coding, respectively decoding, among at at least two coding modes, respectively decoding, for coding, respectively decoding, at least one current set of pixels.
  • Such a determination device is characterized in that said at least one mode of coding, respectively decoding, is determined from an analysis of at least one set of reference pixels.
  • the determination device is a neural network.
  • the use of a neural network advantageously makes it possible to optimize the precision of the determination of said at least one mode of coding, respectively decoding.
  • Such a determination device is in particular capable of implementing the aforementioned determination method.
  • the invention also relates to a method for coding at least one current set of pixels, implemented by a coding device, in which the current set of pixels is coded from a determination of at least one mode of coding.
  • a coding method is characterized in that said at least one coding mode is determined in accordance with the determination method according to the aforementioned invention.
  • Such a coding method is advantageous in the sense that it does not require the coding of one or more indices indicating the and/or the coding modes used to code the current set of pixels. As a result, this or these mode indices 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 reconstruction of the image linked to the finer selection of the coding modes.
  • 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 code the current set of pixels from a determination of at least one coding mode.
  • Such a coding device is characterized in that it comprises a device for determining at least one coding mode according to the aforementioned invention.
  • Such a coding device is in particular able to implement the coding method according to the aforementioned invention.
  • the invention also relates to a method for decoding at least one current set of pixels, implemented by a decoding device, in which the current set of pixels is decoded from a determination of at least one mode decoding.
  • Such a decoding method is characterized in that said at least one decoding mode is determined in accordance with the determination method according to the aforementioned invention.
  • the advantage of such a decoding method lies in the fact that the determination of at least one decoding mode for decoding the current set of pixels is implemented autonomously by the decoder from one or more several sets of reference pixels available, without the decoder needing to read particular information in the data signal received from the encoder.
  • 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 decode the current set of pixels from a determination of at least one decoding mode.
  • Such a decoding device is characterized in that it comprises a device for determining at least one decoding mode according to the aforementioned invention.
  • Such a decoding device is in particular capable of implementing the decoding method according to the aforementioned invention.
  • the invention also relates to a computer program comprising instructions for implementing the determination method according to the invention, as well as the coding or decoding method integrating the determination method according to the invention, according to one any 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 determination device implementing the aforementioned determination method, of the encoder implementing the aforementioned coding method, of the decoder implementing the aforementioned decoding method.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in 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 determination method, of the coding or decoding method according to the aforementioned invention.
  • FIG. 1 represents the main steps of a method for determining at least one coding or decoding mode in accordance with the invention
  • FIG. 2A represents a type of set of reference pixels analyzed in the determination method of FIG. 1, in a first particular embodiment of the invention
  • FIG. 2B represents another type of set of reference pixels analyzed in the determination method of FIG. 1, in a second particular embodiment of the invention,
  • FIG. 3A represents a determination device implementing the determination method of FIG. 1, in a first embodiment
  • FIG. 3B represents a determination device implementing the determination method of FIG. 1, in a second embodiment
  • FIG. 4 schematically represents a method for learning the determination device of FIG. 3B
  • 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 determination of at least one mode of coding, respectively decoding, implemented at the end of the motion compensation of FIG. 5D, in a particular embodiment of the invention
  • FIG. 6 represents in more detail certain steps of the determination method implemented by the determination device of FIG. 3A,
  • FIG. 7 represents the main steps of an image coding method implementing the method for determining at least one coding mode of FIG. 1, in a particular embodiment of the invention,
  • FIG. 8A represents a coder implementing the coding method of FIG. 7, in a first embodiment
  • FIG. 8B represents a coder implementing the coding method of FIG. 7, in a second embodiment
  • FIG. 9 represents the main steps of an image decoding method implementing the method for determining at least one decoding mode of FIG. 1, in a particular embodiment of the invention,
  • FIG. 10A represents a decoder implementing the decoding method of FIG. 9, in a first embodiment
  • FIG. 10B represents a decoder implementing the decoding method of FIG. 9, in a second embodiment
  • FIG. 11 represents the steps of an image coding method implementing a modification of the coding mode determination method of FIG. 1, in a particular embodiment of the invention
  • figure 12 represents an encoder implementing the coding method of figure 11 , in a particular embodiment of the invention.
  • FIG. 13 represents the steps of an image decoding method implementing a modification of the decoding mode determination method of FIG. 1, in a particular embodiment of the invention
  • FIG. 14 represents a decoder implementing the decoding method of FIG. 13, in a particular embodiment of the invention. Detailed description of different embodiments of the invention Examples of implementations of a method for determining at least one coding or decoding mode General principle of the invention
  • a method for determining at least one coding or decoding mode is described below with a view to coding, respectively decoding, a 2D or 3D type image, said method of determining being capable of being implemented in any type video encoders or decoders, for example conforming to the AVC, FIEVC, WC standard and their extensions (MVC, 3D-AVC, MV-FIEVC, 3D-FIEVC, etc.), or other, such as for example a convolutional neural network or CNN (for “convolutional neural network” in English).
  • the method for determining at least one coding or decoding mode 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 determining said at least one coding or decoding mode intended to be used for coding, respectively decoding, a set of current pixels B c which comprises N pixels pi, p2 ,..., PN (N>1 ).
  • 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 .
  • at least one mode of coding MCc (respectively decoding MD C ) of the current set of pixels B c is determined with respect to this set of reference pixels BRo.
  • said at least one mode of MCc coding (respectively MDc decoding) can be determined with respect to the set of reference pixels BRo and to one or more other sets of reference pixels belonging to the current image li.
  • the set of reference pixels BRo can belong to an already coded and decoded reference image which temporally precedes or follows the current image li.
  • the coding mode MCc (respectively decoding MD C ) of the current set of pixels B c is determined with respect to the set of reference pixels BRo.
  • the MCc coding mode (respectively MD C decoding) of the current set of pixels B c can be calculated with respect to the set of reference pixels BRo, 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 +i or other reference images preceding, in the order of coding, the image current image h, that is to say images already coded and then decoded before the current image h.
  • the MCc coding mode (respectively MD C decoding) of the current set of pixels B c can also be calculated with respect to the set of reference pixels BRo located in a reference image 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 li.
  • 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 in the context of such a determination of at least one coding or decoding mode with respect to sets of reference pixels situated in images of reference, and as represented in FIG.
  • the mode of coding MCc (respectively of decoding MD C ) of the current set of pixels B c can be calculated with respect to two sets of reference pixels BRo, BRi each located in a reference image which precedes the current image
  • the set of reference pixels BRo is located in the reference image IRÎ-2 and the set of reference pixels BRi is located in the image of MRI reference.
  • one or more other sets of reference pixels can be used together with the sets of reference pixels BRo and BRi to calculate said at least one current coding mode MCc (respectively MDc decoding) of the current set of pixels B c .
  • such a determination method comprises the following:
  • an analysis is carried out of said at least one set of reference pixels BRo.
  • Such a step includes in particular the analysis of the position of BRo, its displacement from one reference image to another, if occlusion zones are generated during the displacement of BRo, etc...
  • a coding mode MCc is selected from among at least two coding modes MCi, MC2, respectively decoding MD1, MD2, considered.
  • the mode MC1, respectively MD1 is for example the Inter mode.
  • the MC2 mode, respectively MD2, is for example the Intra mode.
  • the mode MC1, respectively MD1 is for example the Inter mode and the mode MC2, respectively MD2, is for example the Skip mode.
  • an MCc coding mode is determined for said at least one current pixel p c .
  • Steps P1 to P2 are then iterated for each of the N pixels of the current set of pixels B c .
  • step P2 at least two coding/decoding modes can be determined in combination to code/decode said at least one current pixel p c .
  • FIG. 3A presents a device DMOD1 for determining at least one coding or decoding mode suitable for implementing the determination method illustrated in FIG. 1, according to a first embodiment of the invention.
  • the actions executed by the determination method are implemented by computer program instructions.
  • the prediction device DMOD1 has the classic architecture of a computer and notably comprises a memory MEM_DM1, a processing unit UT_DM1, equipped for example with a processor PROC_DM1, and controlled by the computer program PG_DM1 stored in memory MEM_DM1.
  • the computer program PG_DM1 comprises instructions for implementing the actions of the determination method as described above, when the program is executed by the processor PROC_DM1.
  • the code instructions of the computer program PG_DM1 are for example loaded into a RAM memory (not shown) before being executed by the processor PROC_DM1.
  • the processor PROC_DM1 of the processing unit UT_DM1 notably implements the actions of the determination method described above, according to the instructions of the computer program PG_DM1.
  • the determination device receives at input E_DM1 one or more sets of reference pixels BRo, BRi,..., evaluates various available coding modes MC1, MC2, respectively decoding MD1, MD2, and delivers at output S_DM1 the mode MCc coding or MD C decoding to be used to respectively encode or decode the current set of pixels B c .
  • FIG. 3B presents a device DMOD2 for determining at least one coding or decoding mode suitable for implementing the determination method illustrated in FIG. 1, according to a second embodiment of the invention.
  • the determination device DMOD2 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 determination method of FIG. outputs the MCc coding or MD C decoding mode of each pixel of the current set of pixels B c .
  • a neural network such as for example a convolutional neural network, a multilayer perceptron, an LSTM (for “Long Short Term Memory”), etc.
  • the convolutional neural network RNC1 performs a succession of layers of filtering, nonlinearity 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 trained as shown in Figure 4.
  • the neural network RNC1 can be learned:
  • the MCc coding mode respectively MD C decoding, takes at least two values 0 or 1 which are for example representative respectively:
  • the network RNC1 is trained to carry out the operations P1 to P2 of FIG. 1.
  • the network RNC1 is taught to minimize the mean square error between the set of current pixels B c to be coded and a set of pixels BSc obtained after application of at least one MCc coding mode (respectively MD C decoding mode) selected:
  • the training of the network RNC1 is carried out during a training phase by presenting a plurality of sets of reference pixels BRo, BRi,... associated jointly 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 the pixels of B c and the result BSc depending on the selection of coding mode MCc (respectively decoding MD C ).
  • the network RNC1 is frozen and adapted to be used in the mode determination device DMOD2.
  • Embodiment of a method for determining at least one coding/decoding mode implemented by the determination device DEMOD1 A description will now be given, in relation to FIG. 6 and FIGS. 5A to 5E, of an embodiment, in which a determination of at least one coding or decoding mode of a current set of pixels is implemented in the determination device DEMOD1 of FIG. 3A.
  • two sets of reference pixels BRo and BRi are taken into account for the determination of at least one coding or decoding mode.
  • 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).
  • 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 IRÎ+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 V10.
  • the displacement of the element E at the current instant is estimated as twice the displacement between BRo and BRi, that is to say twice the vector V01 or V10.
  • 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 V10.
  • 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 part Zi is defined in ERCo.
  • FIG. 5E is represented a predicted position of the current set of pixels B c , in which is represented a predicted position of the element E and the undefined parts Zo and Zi.
  • the pixels located at the predicted (x,y) position of the element E and at the predicted (x,y) position of the background AP are known, in the sense that these pixels are coherent with the pixels of the element E and of the background AP in each of the sets of reference pixels BRo and BRi.
  • a mode of MCc coding, respectively of MD C decoding is determined which takes two different values 0 or 1, depending on the pixels considered in the current set of pixels B c .
  • a mode of MCc coding, respectively of MD C decoding is determined which takes three different values 0, 1 or 2, depending on the pixels considered in the current set of pixels B c .
  • Such a coding method includes the following:
  • the determination of at least one MCc coding mode, in its steps P1 to P2 illustrated in FIG. 1, is implemented, generating a current MCc coding mode for each of the N pixels of the current set of pixels Bc .
  • a subset of pixels SE1 is coded in Intra.
  • a subset of coded residual pixels SERi cod is generated, conventionally accompanied by the index of the Intra mode used.
  • V3 cod V2 cod .
  • V3 cod 1 V2 cod V3 cod 1 V2 cod .
  • the coded motion vectors V2 cod and V3 cod or only V3 cod in the case where V3 cod V2 cod , as well as the data of the residual coded pixel subsets SERi cod and SER2 C0d , are written in a stream transport F capable of being transmitted to a decoder which will be described later in the description.
  • These inscribed data correspond to the current set of pixels B c coded, denoted B c cod .
  • the coding mode(s) as such are advantageously neither coded nor transmitted to the decoder.
  • the subset of pixels SEi (respectively SE2, SE3) can correspond to at least one pixel of B c , to at least one zone of pixels of B c , or to B c in its entirety.
  • FIG. 8A presents an encoder COD1 suitable for implementing the coding method illustrated in FIG. 7, according to a first embodiment of the invention.
  • the coder COD1 comprises the determination device DEMOD1.
  • 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. 8B presents a coder COD2 suitable for implementing the coding method illustrated in FIG. 7, according to a second embodiment of the invention.
  • the coder COD2 comprises the aforementioned determination device DEMOD2 followed by a convolutional neural network RNC2 which codes the current set of pixels B c together with the coding mode and/or modes MCc determined by the determination device DEMOD2.
  • a network RNC2 is for example of the type described in the document: Lad an “Optical Flow and Mode Selection for Learning-based Video Coding”, IEEE MMSP 2020.
  • Described below, with reference to FIG. 9, is an image decoding method implementing the determination of at least one decoding mode MD C , as described with reference to FIG. 1.
  • the decoding process includes the following:
  • the determination of at least one decoding mode MD C in its steps P1 to P2 illustrated in FIG. 1, is implemented, generating a current decoding mode MD C for each of the N pixels of the set of coded current pixels B c cod .
  • a subset of decoded pixels SE2 dec is generated.
  • a subset of pixels SEs is decoded in Skip.
  • a subset of decoded pixels SE3 dec is generated using the decoded motion vector V3 dec .
  • the decoding mode(s) as such are advantageously determined autonomously at the decoder.
  • Intra, Inter and or Skip decodings implemented are conventional and conform to a decoding of the AVC, HEVC, WC or similar type.
  • decoding which has just been described can of course apply for a set of coded pixels considered, here B c cod , a single decoding mode among the three mentioned, or only two different decoding modes, or even three different decoding modes or more.
  • the application of one or more decoding modes may vary from one set of coded pixels considered to another.
  • the reconstructed current set of pixels B c dec may possibly undergo filtering by a loop filter which is well known to those skilled in the art.
  • FIG. 10A presents a decoder DEC1 suitable for implementing the decoding method illustrated in FIG. 9, according to a first embodiment of the invention.
  • the decoder DEC1 comprises the determination device DEMOD1.
  • the actions executed by the decoding method are implemented by computer program instructions.
  • the decoder DEC1 has the classic architecture of a computer and comprises in particular 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. 9, 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. 8A and delivers at output S_D1 the current set of decoded pixels B c dec .
  • FIG. 10B presents a decoder DEC2 suitable for implementing the decoding method illustrated in FIG. 9, according to a second embodiment of the invention.
  • the decoder DEC2 comprises the aforementioned determination device DEMOD2 followed by a convolutional neural network RNC3 which for example decodes the current coded set of pixels B c cod jointly with the decoding mode MDc generated by the determination device DEMOD2.
  • 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.
  • Such a variant improves the determination of at least one coding or decoding mode of FIG. 1, when the precision/quality of the coding or decoding mode 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 analysis C'1 is implemented using a convolutional neural network RNC4 which, from the two sets of reference pixels BRo and BRi and from the set of current pixels B c , creates a transformation through a number of layers, such as for example layers implementing convolutional filters (CNN) followed by layers implementing nonlinearities and decimations, as described in the document: Ladune “Optical Flowand Mode Selection for Learning-based Video Coding”, IEEE MMSP 2020.
  • CNN convolutional filters
  • 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 1 , for example uniform or vector, regulated by a quantization parameter.
  • a quantized signal U'q is then obtained.
  • the quantized signal U′q is coded using an entropic coder CE1, for example of the arithmetic type, with a determined 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 14.
  • the data contained in the coded quantized signal U′ q cod are representative of information associated with an MCc coding mode as determined as described above with reference to FIG. 1.
  • MCc is set to 0 to indicate the use of Skip coding mode and is set to 1 to indicate the use of Inter coding mode.
  • the network RNC4 has been learned to offer a continuum of weighting between the values 0 and 1 of MCc.
  • the coder COD3 performs at C′10 a prediction of the set of pixels Bc to be coded by performing motion compensation which uses sets of reference pixels BRo, BRi and motion vectors Vo, Vi.
  • the vectors Vo, Vi can come from the "MOFNEt" neural network as described in Ladune's publication "Optical Flow and Mode Selection for Learning-based Video Coding", IEEE MMSP 2020.
  • a prediction of B c is obtained, named BP c (x,y).
  • C'10 prediction is implemented using an RNC41 neural network.
  • Steps C′13 and C′14 are implemented in a coder based on neural networks in accordance with the aforementioned reference, in order to generate the coded quantized signal U′′ q cod .
  • the coded quantized signal U” q cod is written into a transport stream F” which is transmitted to a decoder DEC3 illustrated in figure 14.
  • 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 shown .
  • 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, Vi,..., MDc is obtained.
  • the entropy decoding of the coded quantized signal U' q cod is carried out in D'2 using an entropy decoder DE1 corresponding to the entropy coder CE1 of FIG. 12, 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. 14 and representative of the analysis of only the sets of reference pixels BRo and BRi.
  • the neural network RNC1 then processes this concatenation at D'4 through different layers, in the same way as in step P2 of FIG. 1, to estimate the motion information Vo, Vi,..., thus as the values in the continuum 0 to 1 of the MD C decoding mode to be applied to the set of current coded pixels B c cod to be reconstructed.
  • MD C is set to 0 to indicate the use of the Skip decoding mode and is set to 1 to indicate using Inter decoding mode.
  • An RNC5 neural network of the aforementioned type receives this information as input to reconstruct the current set of pixels, in order to generate a set of pixels rebuilt B c dec .
  • a network RNC5 is for example of the type described in the document: Lad an “Optical Flow and Mode Selection for Learning-based Video Coding”, IEEE MMSP 2020.
  • the neural network RNC5 comprises a neural network RNC50 which calculates in D'5 a set of current prediction pixels BP c (x,y) from the motion information Vo, Vi,... delivered by the network RNC1 and from the sets of reference pixels BRo, BRi,.. ..
  • BP c (x,y) is multiplied pixel by pixel by (1-MD c (x,y)) in a multiplier MU2 illustrated in figure 14.
  • BP c (x,y) is multiplied pixel by pixel by MD c (x,y) in a multiplier MU3 illustrated in figure 14.
  • the neural network RNC5 also includes a neural network RNC51 which, following reception of the flow F” generated by the coder COD3 at C'14 (cf figures 11 and 12), entropically decodes at D '8 the coded quantized signal U” q cod which corresponds to the pixel residue resulting from the prediction weighted by the MCc coding mode, as implemented by the coder COD3 of FIG. 12.
  • a decoding uses the result of the multiplication implementation in D'7.
  • the signals SIG1 and SIG2 are added in an adder AD, generating the reconstructed current set of pixels B c dec which contains the reconstructed pixels of B c in its entirety.
  • two sets of reference pixels BRo, BR1 are used in the method for determining at least one coding mode.

Abstract

L'invention concerne un procédé de détermination d'au moins un mode de codage (MCc), respectivement décodage (MDc), parmi au moins deux modes de codage, respectivement décodage, pour coder, respectivement décoder, au moins un ensemble de pixels courant. Une telle détermination est caractérisé en ce que ledit au moins un mode de codage, respectivement décodage, est déterminé (P2) à partir d'une analyse (P1) d'au moins un ensemble de pixels de référence (BR0).

Description

DESCRIPTION
Titre: DETERMINATION D'UN MODE DE CODAGE D'IMAGE
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é à l’aide d’un mode de codage particulier, par exemple un mode Intra, Inter, Skip, Merge, etc. Certaines images sont codées sans référence à d’autres images passées ou futures, à l’aide d’un mode de codage tel que par exemple le mode de codage Intra, le mode de codage IBC (pour « Intra Block Copy » en anglais).
D’autres images sont codées 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. Ce mode de codage temporel est appelé mode de codage Inter. Pour chaque bloc est codé un bloc résiduel, encore appelé résidu de prédiction, correspondant au bloc original diminué d’une prédiction. Dans le cas d’un mode de codage Skip, le bloc résiduel est nul.
Pour un bloc considéré à coder, plusieurs modes de codage Intra, Inter, Skip, Merge, etc. pour ce bloc sont mis en compétition à l’encodeur, dans le but de sélectionner le meilleur mode de codage, c'est-à-dire celui qui optimise le codage du bloc considéré selon un critère de performance de codage prédéterminé, par exemple le coût débit/distorsion, c’est-à-dire la mise en rapport d’une mesure de la distorsion entre l’image originale et l’image codée puis décodée par le décodeur, et le débit nécessaire à la transmission des instructions de décodage, ou encore un compromis efficacité/complexité, qui sont des critères bien connus de l'homme du métier. L’encodeur est chargé d’envoyer au décodeur les informations de codage relatives au mode de codage optimal pour permettre au décodeur de reconstituer le bloc original. De telles informations sont transmises dans un flux, typiquement sous forme d’une représentation binaire.
Plus le mode de codage choisi est précis, par exemple en termes de position pixel à pixel, plus faible sera le débit du résidu. En revanche il nécessitera plus d’informations à transmettre, notamment au niveau des contours d’une forme.
Le décodage est réalisé au décodeur à partir des informations de codage lues dans le flux, puis décodées, ainsi qu’à partir d’éléments déjà disponibles au décodeur, c’est à dire préalablement décodés.
Ces éléments déjà disponibles sont notamment : - des éléments de l’image en cours de décodage : on parle alors de mode de décodage Intra ou IBC par exemple,
- des éléments issus d’autres images préalablement décodées : on parle alors de mode de décodage Inter.
Ces deux types de modes de codage Intra et Inter peuvent être combinés, conformément à la norme WC (pour « Versatile Video Coding » en anglais). On parle de Cl IP (pour « Combined Inter and Intra Prédiction » en anglais). Conformément à ces techniques de prédiction, l’encodeur doit signaler le type de mode optimal pour qu’il soit exécuté au décodeur. Cette information est véhiculée pour chaque bloc. Elle peut engendrer un grand nombre d’informations à insérer dans le flux et doit être minimisée pour limiter le débit. De ce fait, elle peut manquer de précision, notamment pour les images très texturées et présentant beaucoup de détails.
Ce manque de précision se traduit par une limitation de la qualité de l’image reconstruite pour un débit donné.
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 détermination des modes de codage de l’art antérieur, en faveur d’une diminution du coût de signalisation des informations liées au mode de codage déterminé pour le codage d’un ensemble de pixels courant.
A cet effet, un objet de la présente invention concerne un procédé de détermination d’au moins un mode de codage, respectivement décodage, parmi au moins deux modes de codage, respectivement décodage, pour coder, respectivement décoder au moins un ensemble de pixels courant. Un tel procédé de détermination est caractérisé en ce que ledit au moins un mode de codage, respectivement décodage, est déterminé à partir d’une analyse d’au moins un ensemble de pixels de référence. Un tel procédé de détermination d’au moins un mode de codage (respectivement décodage) 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 du codage ou du décodage de l’ensemble de pixels courant, pour déterminer, parmi au moins deux modes codage (respectivement décodage) possibles le et/ou les modes de codage (respectivement décodage) à appliquer à chaque pixel de l’ensemble de pixels courant. Comme ce ou ces ensembles de pixels de référence sont disponibles au moment du codage (respectivement décodage) de l’ensemble de pixels courant, la précision de cet/ces ensemble(s) de pixels de référence est parfaitement connue pour chaque position de pixel, à l’opposé d’un codeur (respectivement décodeur) qui fonctionne par bloc dans l’art antérieur. Ainsi la détermination du ou des modes de codage (respectivement décodage) à appliquer à chaque pixel de l’ensemble de pixels courant s’en trouve améliorée car plus directe et précise spatialement que celle mise en œuvre dans l’art antérieur qui se base sur le calcul d’un critère de performance de codage par bloc. Le mode de codage (respectivement décodage) à appliquer à l’ensemble de pixels courant est ainsi plus précis et s’adapte mieux aux propriétés locales de l’image.
Il en résulte une qualité de l’image reconstruite qui est meilleure.
Selon un mode de réalisation particulier, un seul mode de codage, respectivement décodage, parmi les au moins deux modes est déterminé pour au moins un pixel de l’ensemble de pixels courant, la détermination de l’un ou l’autre mode variant dudit au moins un pixel à au moins un autre pixel dudit ensemble.
Un tel mode de réalisation permet avantageusement de réutiliser des modes de codage ou de décodage de l’art antérieur (par exemple intra, skip, inter, etc.) avec une précision au pixel.
Selon un autre mode de réalisation particulier, les au moins deux modes de codage, respectivement décodage, sont déterminés en combinaison pour au moins un pixel de l’ensemble de pixels courant.
Un tel mode de réalisation permet avantageusement de pouvoir combiner au moins deux modes de codage (skip, intra, inter, etc.), respectivement décodage, pour coder, respectivement décoder, un même pixel. Ce mode de réalisation permet également de pouvoir passer progressivement d’un mode de codage, respectivement décodage, à l’autre sans engendrer de discontinuités assimilables à des effets de bloc.
Selon encore un autre mode de réalisation particulier, la détermination dudit au moins un mode de codage, respectivement décodage, est modifiée par un paramètre de modification qui est issu d’une analyse de l’ensemble de pixels courant.
Un tel mode de réalisation permet avantageusement d’appliquer une correction à la détermination dudit au moins un mode de codage ou de décodage, 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.
Les différents modes ou caractéristiques de réalisation précités peuvent être ajoutés indépendamment ou en combinaison les uns avec les autres, au procédé de détermination défini ci-dessus.
L'invention concerne également un dispositif de détermination d’au moins un mode de codage, respectivement décodage, comprenant un processeur qui est configuré pour déterminer au moins un mode de codage, respectivement décodage, parmi au moins deux modes de codage, respectivement décodage, pour coder, respectivement décoder, au moins un ensemble de pixels courant.
Un tel dispositif de détermination est caractérisé en ce que ledit au moins un mode de codage, respectivement décodage, est déterminé à 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 détermination est un réseau de neurones.
L’utilisation d’un réseau de neurones permet avantageusement d’optimiser la précision de la détermination dudit au moins un mode de codage, respectivement décodage.
Un tel dispositif de détermination est notamment apte à mettre en œuvre le procédé de détermination 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, dans lequel l’ensemble de pixels courant est codé à partir d’une détermination d’au moins un mode de codage. Un tel procédé de codage est caractérisé en ce que ledit au moins un mode de codage est déterminé conformément au procédé de détermination 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’un ou de plusieurs indices indiquant le et/ou les modes de codage utilisé(s) pour coder l’ensemble de pixels courant. De ce fait, ce ou ces indices de modes n’ont pas besoin d’être transmis 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 reconstruction de l’image liée à la sélection plus fine des modes de codage. 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 coder l’ensemble de pixels courant à partir d’une détermination d’au moins un mode de codage.
Un tel dispositif de codage est caractérisé en ce qu’il comprend un dispositif de détermination d’au moins un mode de codage selon l’invention précité.
Un tel dispositif de codage est notamment apte à mettre en œuvre le procédé de codage selon l’invention 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, dans lequel l’ensemble de pixels courant est décodé à partir d’une détermination d’au moins un mode de décodage.
Un tel procédé de décodage est caractérisé en ce que ledit au moins un mode de décodage est déterminé conformément au procédé de détermination selon l’invention précité.
L’avantage d’un tel procédé de décodage réside dans le fait que la détermination d’au moins un mode de décodage pour décoder l’ensemble de pixels courant est mise en œuvre 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.
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 décoder l’ensemble de pixels courant à partir d’une détermination d’au moins un mode de décodage.
Un tel dispositif de décodage est caractérisé en ce qu’il comprend un dispositif de détermination d’au moins un mode de décodage selon l’invention précité.
Un tel dispositif de décodage est notamment apte à mettre en œuvre le procédé de décodage selon l’invention précité.
L'invention concerne encore un programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé de détermination selon l’invention, ainsi que du procédé de codage ou de décodage intégrant le procédé de détermination selon l'invention, selon l’un quelconque des modes particuliers de réalisation décrits précédemment, lorsque ledit programme est exécuté par un processeur.
De telles instructions peuvent être stockées durablement dans un support mémoire non transitoire du dispositif de détermination mettant en œuvre le procédé de détermination 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é.
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 détermination, du procédé de codage ou de décodage selon l’invention 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 détermination d’au moins un mode de codage ou de décodage conformément à l’invention,
[Fig. 2A] la figure 2A représente un type d’ensemble de pixels de référence analysé dans le procédé de détermination de la figure 1 , dans un premier mode de réalisation particulier de l’invention,
[Fig. 2B] la figure 2B représente un autre type d’ensemble de pixels de référence analysé dans le procédé de détermination 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 détermination mettant en œuvre le procédé de détermination de la figure 1 , dans un premier mode de réalisation, [Fig. 3B] la figure 3B représente un dispositif de détermination mettant en œuvre le procédé de détermination de la figure 1 , dans un deuxième mode de réalisation,
[Fig. 4] la figure 4 représente de façon schématique une méthode d’apprentissage du dispositif de détermination de la figure 3B,
[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 détermination d’au moins un mode de codage, respectivement décodage, 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. 6] la figure 6 représente de manière plus détaillée certaines étapes du procédé de détermination mis en œuvre par le dispositif de détermination de la figure 3A,
[Fig. 7] la figure 7 représente les principales étapes d’un procédé de codage d’image mettant en œuvre le procédé de détermination d’au moins un mode de codage de la figure 1 , dans un mode de réalisation particulier de l’invention,
[Fig. 8A] la figure 8A représente un codeur mettant en œuvre le procédé de codage de la figure 7, dans un premier mode de réalisation,
[Fig. 8B] la figure 8B représente un codeur mettant en œuvre le procédé de codage de la figure 7, dans un deuxième mode de réalisation,
[Fig. 9] la figure 9 représente les principales étapes d’un procédé de décodage d’image mettant en œuvre le procédé de détermination d’au moins un mode de décodage de la figure 1 , dans un mode de réalisation particulier de l’invention,
[Fig. 10A] la figure 10A représente un décodeur mettant en œuvre le procédé de décodage de la figure 9, dans un premier mode de réalisation, [Fig. 10B] la figure 10B représente un décodeur mettant en œuvre le procédé de décodage de la figure 9, dans un deuxième mode de réalisation,
[Fig. 11] la figure 11 représente les étapes d’un procédé de codage d’image mettant en œuvre une modification du procédé de détermination de mode codage de la figure 1 , dans un mode de réalisation particulier de l’invention,
[Fig. 12] la figure 12 représente un codeur mettant en œuvre le procédé de codage de la figure 11 , dans un mode de réalisation particulier de l’invention,
[Fig. 13] la figure 13 représente les étapes d’un procédé de décodage d’image mettant en œuvre une modification du procédé de détermination de mode de décodage de la figure 1 , dans un mode de réalisation particulier de l’invention,
[Fig. 14] la figure 14 représente un décodeur mettant en œuvre le procédé de décodage de la figure 13, dans un 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 détermination d’au moins un mode de codage ou de décodage Principe général de l’invention
Procédé de détermination d’au moins un mode de codage ou de décodage
On décrit ci-après un procédé de détermination d’au moins un mode de codage ou de décodage en vue de coder, respectivement décoder, une image de type 2D ou 3D, ledit procédé de détermination étant apte à être mis en œuvre dans tout type de codeurs ou décodeurs vidéo, par exemple conformes au standard AVC, FIEVC, WC et leurs extensions (MVC, 3D-AVC, MV-FIEVC, 3D-FIEVC, 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 détermination d’au moins un mode de codage ou de décodage 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 détermination dudit au moins un mode de codage ou décodage destiné à être utilisé pour coder, respectivement décoder, un ensemble de pixels courant Bc qui comprend N pixels pi, p2,..., PN (N>1 ). 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, au moins un mode de codage MCc (respectivement décodage MDC) de l’ensemble de pixels courant Bc est déterminé par rapport à cet ensemble de pixels de référence BRo.
Bien entendu, ledit au moins un mode de codage MCc (respectivement décodage MDc) peut être déterminé 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 li.
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 li. Dans ce cas, le mode de codage MCc (respectivement décodage MDC) de l’ensemble de pixels courant Bc est déterminé par rapport à l’ensemble de pixels de référence BRo. Dans l’exemple représenté, le mode de codage MCc (respectivement décodage MDC) de l’ensemble de pixels courant Bc peut être calculé par rapport à l’ensemble de pixels de référence BRo, 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+i ou d’autres images de référence précédant, dans l’ordre de codage, l’image courante h, c’est-à-dire des image déjà codées puis décodées avant l’image courante h. Dans l’exemple représenté, le mode de codage MCc (respectivement décodage MDC) de l’ensemble de pixels courant Bc peut être également calculé 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 li. 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 détermination d’au moins un mode de codage ou de décodage par rapport à des ensembles de pixels de référence situés dans des images de référence, et comme représenté sur la figure 2B, le mode de codage MCc (respectivement de décodage MDC) de l’ensemble de pixels courant Bc peut être calculé 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 IRÎ-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 ledit au moins un mode de codage courant MCc (respectivement décodage MDc) de l’ensemble de pixels courant Bc.
En référence à nouveau à la figure 1, un tel procédé de détermination selon l’invention comprend ce qui suit :
En P1, pour au moins un pixel courant pc (1<c£N) de l’ensemble de pixels courant Bc, il est procédé à une analyse dudit au moins un ensemble de pixels de référence BRo. Une telle étape comprend notamment l’analyse de la position de BRo, son déplacement d’une image de référence à l’autre, si des zones d’occlusions sont générées lors du déplacement de BRo, etc...
En P2, sur la base de l’analyse de BRo, un mode de codage MCc, respectivement décodage MDC, est sélectionné parmi au moins deux modes de codage MCi, MC2, respectivement décodage MD1, MD2, considérés.
Le mode MC1, respectivement MD1, est par exemple le mode Inter. Le mode MC2, respectivement MD2, est par exemple le mode Intra. A titre d’alternative, le mode MC1, respectivement MD1, est par exemple le mode Inter et le mode MC2, respectivement MD2, est par exemple le mode Skip.
A l’issue de l’étape P2, un mode de codage MCc, respectivement décodage MDC, est déterminé pour ledit au moins un pixel courant pc.
Les étapes P1 à P2 sont ensuite itérées pour chacun des N pixels de l’ensemble de pixels courant Bc.
Bien entendu, plus de deux modes de codage, respectivement décodage, peuvent être considérés dans le procédé de détermination qui vient d’être décrit. Par exemple, les trois modes de codage ou de décodage suivants peuvent être considérés lors de la détermination : - le mode MC1/MD1 est Inter,
- le mode MC2/MD2 est Intra,
- le mode MC3/MD3 est Skip.
En variante de l’étape P2, au moins deux modes de codage/décodage peuvent être déterminés en combinaison pour coder/décoder ledit au moins un pixel courant pc. Par exemple, une combinaison des modes MCi/MDi=lnter et MC2/MD2=lntra peut être déterminée pour coder/décoder Bc. Selon un autre exemple, une combinaison des modes MCi/MDi=lnter et MC3/MD3=Skip peut être déterminée pour coder/décoder Bc.
Exemples de mise en œuvre de dispositif de détermination d’au moins un mode de codage ou de décodage
La figure 3A présente un dispositif DMOD1 de détermination d’au moins un mode de codage ou de décodage adapté pour mettre en œuvre le procédé de détermination 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 détermination sont mises en œuvre par des instructions de programme d'ordinateur. Pour cela, le dispositif de prédiction DMOD1 a l'architecture classique d'un ordinateur et comprend notamment une mémoire MEM_DM1 , une unité de traitement UT_DM1 , équipée par exemple d'un processeur PROC_DM1, et pilotée par le programme d'ordinateur PG_DM1 stocké en mémoire MEM_DM1. Le programme d'ordinateur PG_DM1 comprend des instructions pour mettre en œuvre les actions du procédé de détermination tel que décrit ci-dessus, lorsque le programme est exécuté par le processeur PROC_DM1.
A l'initialisation, les instructions de code du programme d'ordinateur PG_DM1 sont par exemple chargées dans une mémoire RAM (non représentée) avant d'être exécutées par le processeur PROC_DM1. Le processeur PROC_DM1 de l'unité de traitement UT_DM1 met notamment en œuvre les actions du procédé de détermination décrit ci-dessus, selon les instructions du programme d'ordinateur PG_DM1 .
Le dispositif de détermination reçoit en entrée E_DM1 un ou plusieurs ensembles de pixels de référence BRo, BRi,..., évalue différents modes disponibles de codage MC1, MC2, respectivement décodage MD1, MD2, et délivre en sortie S_DM1 le mode de codage MCc ou de décodage MDC à utiliser pour respectivement coder ou décoder l’ensemble de pixels courant Bc.
La figure 3B présente un dispositif DMOD2 de détermination d’au moins un mode de codage ou de décodage adapté pour mettre en œuvre le procédé de détermination 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 détermination DMOD2 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 détermination de la figure 1 , pour délivrer en sortie le mode de codage MCc ou de décodage MDC de chaque pixel de l’ensemble de pixels courant Bc.
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 de la manière représentée à la figure 4.
A cet effet, le réseau neuronal RNC1 peut être appris :
- à estimer éventuellement un ou plusieurs vecteurs de déplacement Vo, Vi,... pour interpoler des mouvements depuis respectivement BRo, BRi,... vers l’ensemble de pixels courant Bc en cours de codage ou de décodage, pour obtenir un ensemble de pixels de prédiction BPC ;
- à estimer le mode de codage MCc, respectivement décodage MDC, parmi au moins deux modes de codage, respectivement de décodage.
Le mode de codage MCc, respectivement décodage MDC, prend au moins deux valeurs 0 ou 1 qui sont par exemple représentatives respectivement :
- du mode Inter et du mode Skip,
- du mode Intra et du mode Skip,
- du mode Inter et du mode Intra, - etc.
Dans une phase préalable, le réseau RNC1 est entraîné pour réaliser les opérations P1 à P2 de la figure 1. Par exemple, on apprend au réseau RNC1 à minimiser l’erreur quadratique moyenne entre l’ensemble de pixels courant Bc à coder et un ensemble de pixels BSc obtenu après application d’au moins un mode de codage MCc (respectivement de décodage MDC) sélectionné :
- entre l’ensemble de pixels de prédiction courant BPC obtenu par compensation de mouvement, équivalent à un mode Skip,
- et l’ensemble de pixels courant reconstruit BDC qui a été obtenu ou pas à l’aide de l’ensemble de pixels de prédiction courant BPC et d’un signal résiduel, caractéristique de l’écart entre la valeur des pixels courants de Bc et celle des pixels de l’ensemble de pixels de prédiction courant BPC, ce signal résiduel étant quantifié par un paramètre de quantification QP, puis codé.
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 BRo, BRi,... associés 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 les pixels de Bc et le résultat BSc dépendant de la sélection de mode de codage MCc (respectivement décodage MDC).
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 détermination de mode DMOD2.
Mode de réalisation d’un procédé de détermination d’au moins un mode de codage/décodage mis en œuvre par le dispositif de détermination DEMOD1 On décrit maintenant, en relation avec la figure 6 et les figures 5A à 5E, un mode de réalisation, dans lequel une détermination d’au moins un mode de codage ou de décodage d’un ensemble de pixels courant est mise en œuvre dans le dispositif de détermination DEMOD1 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 détermination d’au moins un mode de codage ou de décodage.
A cet effet, comme illustré sur la figure 6, 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 V10, décrivant le mouvement (opposé) depuis BRi vers BRo, pourrait être calculé.
Le vecteur V01 ou V10 ayant été obtenu en P10, il est procédé en P11 (figure 6) à 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 IRÎ+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 V10.
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 V10.
En référence aux figures 6 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 V10.
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.
En référence à la figure 6 et à la figure 5E, est décrite la sélection P2 d’un des au moins deux modes de codage MCi, MC2 ou de décodage MD1, MD2 pour chaque pixel de l’ensemble de pixels courant Bc. Sur la figure 5E est représentée une position prédite de l’ensemble de pixels courant Bc, dans laquelle est représentée une position prédite de l’élément E et les parties non définies Zo et Zi.
Les pixels situés à la position (x,y) de Zo et Zi n’étant pas connus, ils sont associés en P20 à un premier mode de codage MCi(x,y)=lnter, respectivement décodage MDi(x,y)=lnter.
Les pixels situés à la position (x,y) prédite de l’élément E et à la position (x,y) prédite de l’arrière-plan AP (représenté par des hachures) sont connus, en ce sens que ces pixels sont cohérents avec les pixels de l’élément E et de l’arrière-plan AP dans chacun des ensembles de pixels de référence BRo et BRi. A cet effet, en P20, ces pixels sont associés à un deuxième mode de codage MC2(x,y)=Skip, par exemple, respectivement décodage MD2(x,y)=Skip.
En P21, le premier mode de codage MCi(x,y)=lnter, respectivement décodage MDi(x,y)=lnter, prend une valeur arbitraire, par exemple 1 , tandis que le deuxième mode de codage MC2(x,y)=Skip, respectivement décodage MD2(x,y)=Skip, prend une valeur arbitraire distincte de celle de MCi(x,y)/MDi(x,y), par exemple 0.
A l’issue de l’étape P21 , est déterminé un mode de codage MCc, respectivement de décodage MDC, qui prend deux valeurs différentes 0 ou 1 , selon les pixels considérés dans l’ensemble de pixels courant Bc.
A titre de variante :
- les pixels situés à la position de Zo et Zi sont associés en P20 à un premier mode de codage MCi(x,y)=lntra, respectivement décodage MDi(x,y)=lntra,
- les pixels situés à la position prédite de l’élément E sont associés en P20 à un deuxième mode de codage MC2(x,y)=lnter, respectivement décodage MD2(x,y)=lnter,
- les pixels situés dans l’arrière-plan AP sont associés en P20 à un troisième mode de codage MC3(x,y)=Skip, respectivement décodage MD3(x,y)=Skip.
En P21 :
- le premier mode de codage MCi(x,y)=lntra, respectivement décodage MDi(x,y)=lntra, prend une valeur arbitraire, par exemple 1 ,
- le deuxième mode de codage MC2(x,y)=lnter, respectivement décodage MD2(x,y)=lnter, prend une valeur arbitraire distincte de celle de MCi(x,y)/MDi(x,y), par exemple 0, - le troisième mode de codage MC3(x,y)=Skip, respectivement décodage MD3(x,y)=Skip, prend une valeur arbitraire distincte de celle de MCi(x,y)/MDi(x,y) et de MC2(x,y)/MD2(x,y), par exemple 2.
A l’issue de l’étape P21 , est déterminé un mode de codage MCc, respectivement de décodage MDC, qui prend trois valeurs différentes 0, 1 ou 2, selon les pixels considérés dans l’ensemble de pixels courant Bc.
Procédé de codage d’image Principe général
On décrit ci-après, en référence à la figure 7, un procédé de codage d’image mettant en œuvre la détermination d’au moins un mode de codage MCc qui a été décrite en référence à la figure 1.
Un tel procédé de codage comprend ce qui suit :
En C1, la détermination d’au moins un mode de codage MCc, dans ses étapes P1 à P2 illustrées en figure 1 , est mise en œuvre, générant un mode de codage courant MCc pour chacun des N pixels de l’ensemble de pixels courant Bc.
En C2, il est testé quel mode de codage a été associé à quel sous-ensemble de pixels SEi, SE2, SE3, ...de Bc.
En C20, il est testé si le mode de codage MCc=lntra a été déterminé pour coder Bc.
Si la réponse est positive (O sur la figure 7), en C30 un sous-ensemble de pixels SE1 est codé en Intra. A l’issue de cette étape, un sous-ensemble de pixels résiduels codé SERicod est généré, accompagné classiquement de l’indice du mode Intra utilisé.
Si la réponse est négative (N sur la figure 7), en C21 , il est testé si le mode de codage MCc=lnter a été déterminé pour coder Bc.
Si la réponse est positive (O sur la figure 7), en C31 un sous-ensemble de pixels SE2 est codé en Inter. A l’issue de cette étape, un sous-ensemble de pixels résiduels codé SER2C0d est généré, ainsi qu’un vecteur de mouvement V2cod qui a été utilisé lors de ce codage en Inter.
Si la réponse est négative (N sur la figure 7), en C22, il est testé si le mode de codage MCc=Skip a été déterminé pour coder Bc.
Si la réponse est positive (O sur la figure 7), en C32 un sous-ensemble de pixels SE3 est codé en Skip. A l’issue de cette étape, un vecteur de mouvement codé V3cod est généré. Aucun résidu n’est calculé et codé pour ce mode. Dans un premier mode de réalisation, V3cod= V2cod. Dans un deuxième mode de réalisation, V3cod ¹ V2cod.
Si la réponse est négative (N sur la figure 7), il est déterminé si un autre mode de codage MCc a été déterminé pour coder Bc et ainsi de suite jusqu’à ce que tous les pixels de Bc soient affectés d’un mode de codage MCc.
En C4, les vecteurs de mouvement codés V2cod et V3cod ou uniquement V3cod dans le cas où V3cod= V2cod, ainsi que les données des sous-ensembles de pixels résiduels codés SERicod et SER2C0d, sont inscrits dans un flux de transport F apte à être transmis à un décodeur qui sera décrit ultérieurement dans la description. Ces données inscrites correspondent à l’ensemble de pixels courant Bc codé, noté Bc cod. Conformément à l’invention, le/les mode(s) de codage en tant que tels ne sont avantageusement ni codés, ni transmis au décodeur.
Le sous-ensemble de pixels SEi (respectivement SE2, SE3) peut correspondre à au moins un pixel de Bc, à au moins une zone de pixels de Bc, ou à Bc dans son entièreté.
Les codages Intra, Inter et ou Skip mis en œuvre sont classiques et conformes à un codage de type AVC, HEVC, WC ou similaire.
Le codage qui vient d’être décrit peut bien entendu appliquer à Bc un seul mode de codage parmi les trois cités, ou seulement deux modes de codage différents, ou encore trois modes de codage différents ou plus.
Exemples de mise en œuvre de codeur
La figure 8A présente un codeur COD1 adapté pour mettre en œuvre le procédé de codage illustré en figure 7, selon un premier mode de réalisation de l'invention. Le codeur COD1 comprend le dispositif de détermination DEMOD1 .
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 8B présente un codeur COD2 adapté pour mettre en œuvre le procédé de codage illustré en figure 7, selon un deuxième mode de réalisation de l'invention. Le codeur COD2 comprend le dispositif de détermination DEMOD2 précité suivi d’un réseau neuronal convolutif RNC2 qui code l’ensemble de pixels courant Bc conjointement avec le et/ou les modes de codage MCc déterminé par le dispositif de détermination DEMOD2. Un tel réseau RNC2 est par exemple du type décrit dans le document : Lad une « Optical Flow and 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 9, un procédé de décodage d’image mettant en œuvre la détermination d’au moins un mode de décodage MDC, telle que 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 7. En particulier, mise à part la détermination dudit au moins un mode de décodage MDC, 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 codées associées à Bc qui sont, dans l’exemple représenté :
- le sous-ensemble de pixels résiduel codé SERicod et son indice de mode Intra si c’est le codage Intra C30 de la figure 7 qui a été mis en œuvre, - le sous-ensemble de pixels résiduel codé SER2C0d et éventuellement le vecteur de mouvement codé V2cod dans le cas où V2cod ¹ V3cod, si c’est le codage Inter C31 de la figure 7 qui a été mis en œuvre,
- le vecteur de mouvement codé V3cod, si c’est le codage Skip C32 de la figure 7 qui a été mis en œuvre.
Ces données correspondent à l’ensemble de pixels courant codé Bc cod.
En D2, la détermination d’au moins un mode de décodage MDC, dans ses étapes P1 à P2 illustrées en figure 1 , est mise en œuvre, générant un mode de décodage courant MDC pour chacun des N pixels de l’ensemble de pixels courant codé Bc cod.
En D3, il est testé quel mode de décodage a été associé à quel sous-ensemble de pixels codé SEicod, SE2C0d, SE3C0d, ..., de Bc.
En D30, il est testé si le mode de décodage MDc=lntra a été déterminé pour décoder
Bc cod.
Si la réponse est positive (O sur la figure 9), en D40, un sous-ensemble de pixels SEi est décodé en Intra. A l’issue de cette étape, un sous-ensemble de pixels décodé SEidec est généré.
Si la réponse est négative (N sur la figure 9), en D31 , il est testé si le mode de décodage MDc=lnter a été déterminé pour décoder Bc cod.
Si la réponse est positive (O sur la figure 9), en D41 , un sous-ensemble de pixels SE2 est décodé en Inter à l’aide, si V2cod ¹ V3cod, d’un vecteur de mouvement V2dec issu du décodage de V2cod et, si V2cod = V3cod, à l’aide d’un vecteur de mouvement V3dec issu du décodage de V3cod. A l’issue de cette étape, un sous-ensemble de pixels décodé SE2dec est généré.
Si la réponse est négative (N sur la figure 9), en D32, il est testé si le mode de décodage MDc=Skip a été déterminé pour décoder Bc cod.
Si la réponse est positive (O sur la figure 9), en D42, un sous-ensemble de pixels SEs est décodé en Skip. A l’issue de cette étape, un sous-ensemble de pixels décodé SE3dec est généré à l’aide du vecteur de mouvement décodé V3dec.
Si la réponse est négative (N sur la figure 9), il est déterminé si un autre mode de décodage MDC a été déterminé pour décoder Bc et ainsi de suite jusqu’à ce que tous les pixels codés de Bc soient affectés d’un mode de décodage MDC. En D5, les sous-ensembles de pixels décodés SEidec, SE2dec, SE3dec sont concaténés. A l’issue de l’étape D5, un ensemble de pixels courant reconstruit Bc dec est généré.
Conformément à l’invention, le/les mode(s) de décodage en tant que tels sont avantageusement déterminés de manière autonome au décodeur.
Les décodages Intra, Inter et ou Skip mis en œuvre sont classiques et conformes à un décodage de type AVC, HEVC, WC ou similaire.
Le décodage qui vient d’être décrit peut bien entendu appliquer pour un ensemble de pixels codé considéré, ici Bc cod, un seul mode de décodage parmi les trois cités, ou seulement deux modes de décodage différents, ou encore trois modes de décodage différents ou plus. L’application d’un ou de plusieurs modes de décodage peut varier d’un ensemble de pixels codé considéré à l’autre.
De façon connue en soi, l’ensemble de pixels courant reconstruit Bc dec pourra éventuellement subir un filtrage par un filtre de boucle qui est bien connu de l’homme du métier.
Exemples de mise en œuvre de décodeur
La figure 10A présente un décodeur DEC1 adapté pour mettre en œuvre le procédé de décodage illustré en figure 9, selon un premier mode de réalisation de l'invention. Le décodeur DEC1 comprend le dispositif de détermination DEMOD1.
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 9, 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 8A et délivre en sortie S_D1 l’ensemble de pixels décodé courant Bc dec.
La figure 10B présente un décodeur DEC2 adapté pour mettre en œuvre le procédé de décodage illustré en figure 9, selon un deuxième mode de réalisation de l'invention. Le décodeur DEC2 comprend le dispositif de détermination DEMOD2 précité suivi d’un réseau neuronal convolutif RNC3 qui par exemple décode l’ensemble de pixels codé courant Bc cod conjointement avec le mode de décodage MDc généré par le dispositif de détermination DEMOD2. 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 détermination d’au moins un mode de codage ou de décodage
On décrit à présent, en référence aux figures 11 et 12, une variante du procédé de détermination d’au moins un mode de codage, tel qu’illustré en figure 1 . Une telle variante est mise en œuvre dans un codeur COD3.
Une telle variante vient améliorer la détermination d’au moins un mode de codage ou de décodage de la figure 1 , lorsque la précision/qualité du mode de codage ou de décodage obtenu n’est pas satisfaisante.
A cet effet, côté codeur, comme illustré sur la figure 11 , 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 12, 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 1 , 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 CE1 , 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 14.
Dans l’exemple représenté, les données contenues dans le signal quantifié codé U’q cod sont représentatives d’informations associées à un mode de codage MCc tel que déterminé comme décrit plus haut en référence à la figure 1. Dans le mode de réalisation décrit ici, MCc est mis à 0 pour indiquer l’utilisation du mode de codage Skip et est mis à 1 pour indiquer l’utilisation du mode de codage Inter.
A cet effet, le réseau RNC4 a été appris pour offrir un continuum de pondération entre les valeurs 0 et 1 de MCc.
Lors du codage, le codeur COD3 réalise en C’10 une prédiction de l’ensemble de pixels Bc à coder en réalisant une compensation de mouvement qui utilise des ensembles de pixels de référence BRo, BRi et des vecteurs mouvements Vo, Vi. Les vecteurs Vo, Vi peuvent être issus du réseau de neurone « MOFNEt » tel que décrit dans la publication de Ladune « Optical Flow and Mode Sélection for Learning-based Video Coding », IEEE MMSP 2020. On obtient une prédiction de Bc, nommée BPc(x,y). La prédiction C’10 est mise en œuvre à l’aide d’un réseau de neurones RNC41 .
En C’11 , Bc et BPc{x,y ) sont multipliés pixel à pixel par la valeur de mode Mc(x,y) comprise entre 0 et 1 , à l’aide d’un multiplicateur MU1 illustré en figure 12. A l’issue de cette opération est obtenu un signal U” représentatif de ces deux entrées pondérées après passage de celles-ci, en C’12, dans un réseau de neurones RNC42. En C’13, le signal U” est quantifié par un quantificateur QUANT2, générant un signal quantifié U”q. Ce dernier est ensuite codé en C’14 par un codeur entropique CE2, générant un signal quantifié codé U”q cod. Les étapes C’13 et C’14 sont mises en œuvre dans un codeur basé sur des réseaux de neurones conformément à la référence précitée, afin de générer le signal quantifié codé U”q cod. En C’15, le signal quantifié codé U”q cod est inscrit dans un flux de transport F” qui est transmis à un décodeur DEC3 illustré en figure 14.
On décrit à présent, en référence aux figures 13 et 14, une variante du procédé de détermination de mode de décodage 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 13, 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,..., MDc, .
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 DE1 correspondant au codeur entropique CE1 de la figure 12, 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 14 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 en D’4 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 dans le continuum 0 à 1 du mode de décodage MDC à appliquer à l’ensemble de pixels courant codé Bc cod à reconstruire.
Dans le mode de réalisation décrit ici et conformément au mode de codage MCc déterminé et utilisé dans le procédé de codage de la figure 11 , MDC est mis à 0 pour indiquer l’utilisation du mode de décodage Skip et est mis à 1 pour indiquer l’utilisation du mode de décodage Inter.
Un réseau de neurones RNC5 du type précité reçoit en entrée ces informations pour reconstruire l’ensemble de pixels courant, afin de générer un ensemble de pixels reconstruit Bc dec. Un tel réseau RNC5 est par exemple du type décrit dans le document : Lad une « Optical Flow and Mode Sélection for Learning-based Video Coding », IEEE MMSP 2020. A cet effet, le réseau neuronal RNC5 comprend un réseau neuronal RNC50 qui calcule en D’5 un ensemble de pixels de prédiction courant BPc(x,y) à partir des informations de mouvement Vo, Vi,... délivrées par le réseau RNC1 et à partir des ensembles de pixels de référence BRo, BRi,....
En D’6, BPc(x,y) est multiplié pixel à pixel par (1-MDc(x,y)) dans un multiplicateur MU2 illustré en figure 14. A l’issue de cette opération est obtenu un signal SIGi qui est représentatif des pixels de Bc qui ont été décodés dans le mode de décodage MDc=Skip.
En D’7, BPc(x,y) est multiplié pixel à pixel par MDc(x,y) dans un multiplicateur MU3 illustré en figure 14.
Toujours en référence aux figures 13 et 14, le réseau neuronal RNC5 comprend également un réseau neuronal RNC51 qui, suite à la réception du flux F” généré par le codeur COD3 en C’14 (cf figures 11 et 12), décode entropiquement en D’8 le signal quantifié codé U”q cod qui correspond au résidu pixellique issu de la prédiction pondérée par le mode de codage MCc, telle que mise en œuvre par le codeur COD3 de la figure 12. Un tel décodage utilise le résultat de la multiplication mise en œuvre en D’7.
A l’issue de l’étape D’8, est généré un signal SIG2 qui est représentatif des pixels de Bc qui ont été décodés dans le mode de décodage MDc=lnter.
En D’9, les signaux SIG1 et SIG2 sont additionnés dans un additionneur AD, générant l’ensemble de pixels courant reconstruit Bc dec qui contient les pixels reconstruits de Bc dans son entièreté.
Ainsi si MDc(x,y) est proche de zéro, alors la prédiction BPc(x,y ) sera prépondérante. A contrario si MDc(x,y) est proche de 1 alors le signal reconstruit Bc dec sera constitué par utilisation du signal d’écart SIG2 véhiculé en complément de BPc(x,y).
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, BR1 sont utilisés dans le procédé de détermination d’au moins un mode de codage.
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 le mode de codage MCcOu de décodage MDC.

Claims

REVENDICATIONS
[Revendication 1] Procédé de détermination d’au moins un mode de codage (MCc), respectivement décodage (MDC), parmi au moins deux modes de codage, respectivement décodage, pour coder, respectivement décoder, au moins un ensemble de pixels courant, ledit procédé étant caractérisé en ce que ledit au moins un mode de codage, respectivement décodage, est déterminé (P2) à partir d’une analyse (P1) d’au moins un ensemble de pixels de référence (BRo) appartenant à une image de référence déjà décodée.
[Revendication 2] Procédé de détermination 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 détermination selon la revendication 2, dans lequel l’estimation de mouvement est du type par flot optique.
[Revendication 4] Procédé de détermination selon la revendication 1, dans lequel un seul mode parmi lesdits au moins deux modes est déterminé pour au moins un pixel de l’ensemble de pixels courant, la détermination de l’un ou l’autre mode variant dudit au moins un pixel à au moins un autre pixel dudit ensemble.
[Revendication 5] Procédé de détermination selon la revendication 1, dans lequel les au moins deux modes sont déterminés en combinaison pour au moins un pixel de l’ensemble de pixels courant.
[Revendication 6] Procédé de détermination selon l’une quelconque des revendications 1 à 5, dans lequel la détermination dudit au moins un mode est modifiée par un paramètre de modification (U’q) qui est issu d’une analyse conjointe de l’ensemble de pixels courant et d’au moins un ensemble de pixels de référence.
[Revendication 7] Dispositif (DEMOD1 ; DEMOD2) de détermination d’au moins un mode de codage, respectivement décodage, comprenant un processeur qui est configuré pour déterminer au moins un mode de codage, respectivement décodage, parmi au moins deux modes de codage, respectivement décodage, pour coder, respectivement décoder, au moins un ensemble de pixels courant, caractérisé en ce que ledit au moins un mode de codage, respectivement décodage, est déterminé à partir d’une analyse d’au moins un ensemble de pixels de référence appartenant à une image de référence déjà décodée.
[Revendication 8] Dispositif de détermination selon la revendication 7, caractérisé en ce qu’il utilise un réseau de neurones (DEMOD2).
[Revendication 9] Programme d'ordinateur comportant des instructions de code de programme pour la mise en œuvre du procédé de détermination selon l’une quelconque des revendications 1 à 6, lorsqu'il est exécuté sur un ordinateur.
[Revendication 10] Support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur selon la revendication 9.
[Revendication 11] Procédé de codage d’au moins un ensemble de pixels courant, mis en œuvre par un dispositif de codage, dans lequel ledit ensemble de pixels courant est codé (C1 -C4 ; C’1 -C’15) à partir d’une détermination d’au moins un mode de codage, ledit procédé de codage étant caractérisé en ce que ledit au moins un mode de codage est déterminé conformément au procédé de détermination selon l’une quelconque des revendications 1 à 6.
[Revendication 12] Dispositif (COD1 ; COD2 ; COD3) de codage d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour coder ledit ensemble de pixels courant à partir d’une détermination d’au moins un mode de codage, ledit dispositif de codage étant caractérisé en ce qu’il comprend un dispositif de détermination d’au moins un mode de codage selon la revendication 7 ou la revendication 8.
[Revendication 13] Procédé de décodage d’au moins un ensemble de pixels courant, mis en œuvre par un dispositif de décodage, dans lequel ledit ensemble de pixels courant est décodé (D1-D5 ; D’1-D’9) à partir d’une détermination d’au moins un mode de décodage, ledit procédé de décodage étant caractérisé en ce que ledit au moins un mode de décodage est déterminé conformément au procédé de détermination selon l’une quelconque des revendications 1 à 6.
[Revendication 14] Dispositif (DEC1 ; DEC2 ; DEC3) de décodage d’au moins un ensemble de pixels courant, comprenant un processeur qui est configuré pour décoder ledit ensemble de pixels courant à partir d’une détermination d’au moins un mode de décodage, ledit dispositif de décodage étant caractérisé en ce qu’il comprend un dispositif de détermination d’au moins un mode de décodage selon la revendication 7 ou la revendication 8.
[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 11, ou du procédé de décodage selon la revendication 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.
EP22710130.0A 2021-02-19 2022-02-15 Determination d'un mode de codage d'image Pending EP4295575A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2101633A FR3120173A1 (fr) 2021-02-19 2021-02-19 Détermination d’au moins un mode de codage d’image ou d’au moins un mode de décodage d’image, codage et décodage d’image utilisant une telle détermination
PCT/FR2022/050274 WO2022175626A1 (fr) 2021-02-19 2022-02-15 Determination d'un mode de codage d'image

Publications (1)

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

Family

ID=75746834

Family Applications (1)

Application Number Title Priority Date Filing Date
EP22710130.0A Pending EP4295575A1 (fr) 2021-02-19 2022-02-15 Determination d'un mode de codage d'image

Country Status (6)

Country Link
EP (1) EP4295575A1 (fr)
JP (1) JP2024510094A (fr)
KR (1) KR20230156318A (fr)
CN (1) CN116897534A (fr)
FR (1) FR3120173A1 (fr)
WO (1) WO2022175626A1 (fr)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1282490C (fr) * 1985-06-27 1991-04-02 Nec Corporation Dispositif de codage d'images d'objets en mouvement
KR0128859B1 (ko) * 1993-08-20 1998-04-10 배순훈 적응적인 영상부호화 제어장치
US6222881B1 (en) * 1994-10-18 2001-04-24 Intel Corporation Using numbers of non-zero quantized transform signals and signal differences to determine when to encode video signals using inter-frame or intra-frame encoding
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses

Also Published As

Publication number Publication date
KR20230156318A (ko) 2023-11-14
WO2022175626A1 (fr) 2022-08-25
FR3120173A1 (fr) 2022-08-26
JP2024510094A (ja) 2024-03-06
CN116897534A (zh) 2023-10-17

Similar Documents

Publication Publication Date Title
FR2904494A1 (fr) Procede et dispositif de compression d&#39;image, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede
FR2754127A1 (fr) Procede de codage/decodage de signal video sur la base d&#39;une quantification de treillis adaptative
WO2009138666A2 (fr) Procédé de codage, de décodage, codeur et décodeur
EP3198876B1 (fr) Génération et codage d&#39;images intégrales résiduelles
WO2010146314A1 (fr) Codage de vecteurs mouvement par competition de predicteurs
EP2716045B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
EP4295575A1 (fr) Determination d&#39;un mode de codage d&#39;image
WO2018073523A1 (fr) Procédé de codage et de décodage de paramètres d&#39;image, dispositif de codage et de décodage de paramètres d&#39;image et programmes d&#39;ordinateur correspondants
WO2008049628A1 (fr) Procede et dispoitif d&#39;optimisation de la compression d&#39;un flux video
EP4295574A1 (fr) Prédiction pondérée d&#39;image, codage et décodage d&#39;image utilisant une telle prédiction pondérée
EP2227908B1 (fr) Procede de decodage a complexite variable d&#39;un signal d&#39;images, terminal de decodage, procede de codage, dispositif de codage, signal et programmes d&#39;ordinateur correspondants
EP3918798A1 (fr) Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo
US20240137486A1 (en) Method for determining an image coding mode
FR2957744A1 (fr) Procede de traitement d&#39;une sequence video et dispositif associe
WO2016132074A1 (fr) Codage d&#39;images par quantification vectorielle
FR3107383A1 (fr) Procédé et dispositif de traitement de données de vidéo multi-vues
WO2024008905A1 (fr) Codage et décodage de données audio et/ou vidéo
WO2020260843A1 (fr) Procédé d&#39;encodage et de décodage vidéo par signalisation d&#39;un sous-ensemble de candidat
FR2959093A1 (fr) Procede et dispositif de prediction d&#39;une information de complexite de texture contenue dans une image
WO2006056720A1 (fr) Compression video par modification de quantification par zones d&#39;images
EP0524871A1 (fr) Un procédé de codage de signaux hybride adaptatif
FR2724280A1 (fr) Procede et dispositif de transcodage d&#39;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