EP3991436A1 - Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat - Google Patents

Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat

Info

Publication number
EP3991436A1
EP3991436A1 EP20747051.9A EP20747051A EP3991436A1 EP 3991436 A1 EP3991436 A1 EP 3991436A1 EP 20747051 A EP20747051 A EP 20747051A EP 3991436 A1 EP3991436 A1 EP 3991436A1
Authority
EP
European Patent Office
Prior art keywords
encoding
list
information
encoding parameters
parameters
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
EP20747051.9A
Other languages
German (de)
English (en)
Inventor
Jean-Marc Thiesse
David GOMMELET
Didier Nicholson
Madhukar BHAT
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.)
SA Vitec
Original Assignee
SA Vitec
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 SA Vitec filed Critical SA Vitec
Publication of EP3991436A1 publication Critical patent/EP3991436A1/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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission

Definitions

  • the present description relates to the field of video compression, and more specifically to video encoders and decoders.
  • the description can be applied in particular to the protocols for selecting prediction modes in MPEG video compression standards, such as for example AVC (h.264) for “Advanced Video Coding”, HEVC (h.265) for “High Efficiency Video Coding”, and future MPEG compression standards, such as VVC (h.266) for “Versatile Video Coding”.
  • AVC h.264
  • HEVC High Efficiency Video Coding
  • VVC Very Video Coding
  • the different types of processing can generally be used to improve, for example, the video compression process during video encoding.
  • One type of processing can be, for example, an intra prediction comprising intra prediction modes as coding parameters.
  • the type of processing may be the application of an adaptive sample shift filter comprising shift or offset values as encoding parameters.
  • the type of treatment may be a inter prediction comprising modes known as “merge modes” as coding parameters.
  • encoding parameters are accessible for encoding and decoding.
  • This number of coding parameters can, depending on the type and the compression standard, be relatively large and thus lead to a consequent signaling which can reduce the compression performance accordingly in the event of sub-optimal or incomplete use of the assembly.
  • coding parameters Incomplete use can occur during precise implementation of an encoder with strong constraints in terms of speed of execution or complexity, leading the manufacturer not to use all the parameters.
  • Suboptimal use of encoding parameters may occur depending on specific content and / or encoder point of use.
  • the evolution of a compression standard implies a compression gain, but also an increase in the number of coding parameters available for the same type of processing.
  • the intra prediction modes which are 35 for the HEVC standard, and 67 for the future VVC compression standard.
  • the encoding parameters used during video encoding are necessary during decoding of the corresponding binary stream.
  • the encoder must thus signal them to the decoder in the binary stream, but in return for a certain signaling cost.
  • This signaling can represent a certain number of bits which affects the performance of the compression, in particular if it is not compensated for a sufficient gain in compression quality.
  • the signaling can consist, for example, of signaling a coding parameter.
  • the signaling of the prediction mode selected by the encoder for an element represents up to 5 bits. That is to say that the encoder encodes the index value corresponding to this intra prediction mode among 35 modes of prediction. In the case of the future WC compression standard, this signaling is carried out on up to 6 bits to cover the 67 prediction modes.
  • the present invention improves the situation.
  • a method for decoding a video binary stream corresponding to a sequence of images comprising:
  • the size of the second encoded data depends on a number of encoding parameters in the encoding parameter list.
  • this reduction in the number of upstream encoding parameters can make it possible to reduce the encoding or decoding calculation time and / or reduce the hardware resources required, in particular for example when the selection of an encoding parameter from a list of encoding parameters requires testing all of them in order to select the optimal encoding parameter.
  • coding parameter is meant a parameter on the basis of which the encoded data representative of an element are obtained.
  • encoding parameter is meant a function or a parameter of a function making it possible to obtain the encoded data representative of an element.
  • an encoding parameter can be used to determine a predictive element of which the differential with the element to be encoded is the residue.
  • Such an encoding parameter can thus be a prediction mode, i.e. the encoding parameter can indicate an element of an image of the image sequence (either of the same image or of an image different than that of the element which is to be encoded / decoded).
  • the encoding parameter may also allow the calculation of a residual after the predictive element (ie indicated by a prediction mode) of the element to be encoded / decoded has been determined.
  • an element of the image is meant a processing unit. These processing units divide or split the image into groups of pixels.
  • This element can represent a set of pixels or correspond to a single pixel, an image being divided into elements which are then processed for encoding or decoding.
  • the elements can be macroblocks, CTUs (coding tree units), or CTBs (coding block units).
  • Each element can be further divided into smaller fixed size 4x4, 8x8, 16x16, 32x32, 64x64, or 128x128 pixel elements or rectangular elements.
  • These elements of smaller size can be for example blocks, CU (coding unit), CB (coding block), “prediction unit” (PU), “predict block” (PB), “transform unit” (TU), or even “transform blocks” (TB).
  • first information from first data encoded in the binary stream is meant the decoding of the first encoded data comprising the first information.
  • This first information can therefore be signaled in the binary stream by the encoder through the first encoded data.
  • This first information can comprise, for example, information relating to a mode of management of coding parameters (indication of a mode of management of the coding parameters, parameterization of the mode of management used for the encoding, etc.).
  • coding parameter management mode is understood to mean a mode defining the way in which the coding parameter lists are determined on the basis of the first information (for example coding characteristics) and of the predefined list of coding parameters.
  • a predefined list of encoding parameters is understood to mean a list comprising a finite number of encoding parameters. This number may depend on the compression standard used for encoding the video sequence, and the type of encoding parameters. For example prediction modes or offset values of a so-called "offset" filter.
  • the type of encoding parameters can be determined according to the first information.
  • the predefined list of encoding parameters may include an indexing of the encoding parameters, for example from 0 to N-1 with N a positive integer.
  • the predefined list includes 35 encoding parameters or intra prediction modes.
  • the predefined list of coding parameters would then include 67 intra prediction modes for an element, for example CUs.
  • the predefined list of encoding parameters can then include 32 offset values for an element, for example a CTU.
  • the list of coding parameters can include an indexing of the coding parameters, for example from 0 to i, with i positive integer strictly less than N-1.
  • second information from second data encoded in the binary stream is meant the decoding of second encoded data comprising second information.
  • This second information can therefore be signaled in the binary stream by the encoder through the second encoded data.
  • This second information makes it possible to indicate to the decoder the encoding parameter to be used from among the encoding parameters of the list determined for the determination of an element in the restored image.
  • the decoder can find this encoding parameter from the same list of encoding parameters.
  • determining an element of a restored image corresponding to an element of an image of the sequence of images is meant the fact of reconstituting the pixels contained in this element of the image by applying the encoding parameter indicated in the second item of information.
  • the encoding parameter relates to a type of processing, for example a prediction, intra or inter, or the application of an ODS filter.
  • the determination of the element by a specific type of processing consists in applying an encoding parameter of this type.
  • size of the second encoded data a size which can be defined by a number of bits.
  • the second encoded data may correspond to an index of an encoding parameter signaled in the bit stream by the encoder. This index being that of one of the coding parameters included in the indexed list of coding parameters determined by the decoder.
  • the number of bits used to encode the index is a function of the number of encoding parameters in the determined indexed list.
  • the index of an encoding parameter to be used from among a reduced number of encoding parameters included in the list of encoding parameters determined by the decoder.
  • the signaling cost in bits can thus be reduced.
  • the list of encoding parameters can be determined by selecting encoding parameters from the predefined list of encoding parameters or by selecting from among a plurality of predefined lists of encoding parameters.
  • the determination of the list then consists in selecting one of these predetermined sub-lists.
  • the predetermined coding parameter sublists are sublists of the predetermined list. This helps reduce the size of the first information needed to determine the list.
  • the selection of the encoding parameters within the predefined list makes it possible to adapt the number of encoding parameters which can be used according to the image and when several lists are determined by selection from the predefined list then it is possible to adapt the number of coding parameters according to the elements.
  • two elements of the same image can be encoded / decoded with determined lists of different size.
  • the elements of an image encoded / decoded in intra of an intra-refresh zone could be encoded / decoded by means of a list comprising more parameters of encoding that the elements of the image encoded / decoded intra outside the intra-refresh area.
  • the first encoded data and / or the second encoded data may be included in a signaling part of the binary stream.
  • the signaling part can make it possible to simplify the decoding of a video sequence by providing information for example on the structure of the images, the type of image, the encoding resolution, etc.
  • the general signaling part of the HEVC standard consists of a "Video Parameter Set” (VPS) field (also called NAL), a "Sequence Parameter Set” (SPS) field, and a "Picture Parameter Set” field ”(PPS).
  • VPS Video Parameter Set
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the future WC standard would include at least the SPS and PPS fields.
  • the VPS field includes information relating to the video.
  • the VPS field includes, for example, information relating to the “Profile”, the “Level” and the “Tier” which define decoding properties.
  • the SPS field includes information relating to the sequence of images considered. All the images in the sequence normally use the same SPS.
  • the SPS field includes in particular information relating to the coding tools used, or else important parameters describing the properties of the encoded sequence (for example the size of the images).
  • the PPS field includes information relating to each image, even if several images can refer to the same PPS in order to reduce the size of the signage.
  • the PPS notably includes additional information relating to the encoding tools used in the image (s) which refer to it (for example the "intra prediction mode"). It is for example, in this PPS field, that the first and second information can be signaled.
  • the first and second information can be indicated in the header of the slices or "slices" of the image of the sequence of images.
  • the first encoded data and / or the second encoded data can be signaled according to a signaling mechanism specific to the type of coding parameter.
  • the list of encoding parameters can be a function of encoding characteristics of elements of the image.
  • a first list can be used to encode / decode a first element and a second list to encode / decode a second element of the same image.
  • a plurality of lists of encoding parameters from which a list is selected as a function of the encoding characteristics of the element to decode / encode from this given image are obtained before proceeding with the decoding / encoding of the elements of the image to be decoded, that is to say that the determined lists are obtained before the decoding of a set of elements of the image.
  • a list from among the plurality of lists determined for the image is selected as a function of the encoding characteristics of this element, these encoding characteristics are specific to the element to be encoded / decoded .
  • the first information can include the encoding characteristics of the elements. In both cases, it is thus possible to obtain great freedom in determining the list or lists of encoding parameters to adapt to the specificities of each element to be encoded / decoded.
  • at least two lists are determined and at least two elements of the image are respectively encoded / decoded with different determined lists.
  • the encoding characteristics of elements of the image are specific to the element to be encoded / decoded. They can thus depend only on this element, namely that if we change one of the elements of the image to be encoded / decoded we do not change the encoding characteristics of the element to be encoded / decoded.
  • the encoding characteristics of elements of the image comprise an element size and / or a quantization step (QP) of element and / or a chromatic type of element and / or a type.
  • QP quantization step
  • an element size a size defined by a number of pixels, for example 64x64 pixels.
  • chromatic type of element By a chromatic type of element and a type of luminosity of element, one understands a component of luminosity called "luma”, Y, and a color component called “chroma”, U or V, of the pixels of the. element.
  • type of intra element encoding is meant that the element of the image I is encoded intra that is to say that the element is not encoded from an element another image than image I.
  • inter element encoding is meant that the element of the image I is encoded in Inter, that is to say that the element is encoded at least from an element d 'another image than image I.
  • first element encoded from a second element By a first element encoded from a second element is meant that the prediction mode (Intra, Inter, etc.) used to encode the first element and which is signaled in the encoded data representative of the first element is aimed at or indicates to use the second element (that is, the values of the second element once decoded) to encode the first element.
  • the prediction mode Intra, Inter, etc.
  • DCT discrete cosine transform
  • a sample adaptive offset filter of the type “contour” (“Edge”) or "Band” (“Band”), a filter.
  • SAO sample adaptive offset filter
  • the determination of the list of coding parameters can be done by selecting from the predefined list of coding parameters coding parameters specified by the first information.
  • the first information obtained by decoding the first encoded data comprises information explicitly indicating the encoding parameters to be selected.
  • the first information comprises a list of indices corresponding to the coding parameters of the predefined list or lists when the latter are indexed, for example from 0 to N-1, N being a positive integer.
  • This is a so-called “explicit” management mode.
  • instructions can explicitly indicate the encoding parameters that the decoder can select from among one or more predefined lists of encoding parameters making it possible to constitute for example a first list of encoding parameters.
  • the instructions can indicate several sets of coding parameters for determining several lists of coding parameters.
  • the predefined list of encoding parameters can be indexed from 0 to N-1, with N a number of encoding parameters in the predefined list of encoding parameters and in which the determination of the list of encoding parameters can be done by selection on the basis of the first information:
  • the encoding parameter (pi) of the predefined list that the encoder / decoder would use to encode / decode the element has not been selected in the determined list used to encode / decode the element of the image then the index difference between the encoding parameter (pi) and the encoding parameter (p 2 ) of the determined list actually used by the encoder / decoder to encode / decode the element remains less than n / 2 and in any case less than n.
  • the difference between residues obtained with two coding parameters of close indices is on average smaller than the difference between residues obtained with two coding parameters of more distant indices.
  • the encoding parameters of index k + n.m are selected from the predefined list, with m ranging from 0 to the default integer part of (N-k-1) / n.
  • the term k can make it possible to define an offset in the selection of the coding parameters.
  • the management mode allowing such a selection is called management mode by "decimation".
  • the positive integers k and n, as well as information indicating that the "decimation" management mode is activated, are sufficient for the decoder to be able to determine a list of coding parameters according to this management mode.
  • the first information can include the integers k, n.
  • the integer n represents a decimation factor for selecting an encoding parameter from a predefined list of encoding parameters for every n encoding parameters.
  • n and m can be determined based on a hierarchical level of the image relative to the images of the sequence of images.
  • hierarchical level of the image with respect to the images of the sequence of images or more generally of a grouping of images or group of images (GOP), it is understood that in the case where the images of 'a set of images use previously encoded images, hierarchical level 0 is that whose images serve as references to images subsequently encoded and which itself only use intra predictions or images of hierarchical level 0; hierarchical level 1 can use images of hierarchical level 0 or 1, and so on. Bottom-level images are often not referenced by any other image.
  • the lists of encoding parameters used to encode / decode each image can therefore include a number of different encoding parameters depending on the hierarchical level of the images.
  • the determination of the list of coding parameters can be done by selection (on the basis of the first information) of the coding parameters from the predefined list according to the levels of use frequencies of the coding parameters of the predefined list.
  • the frequency of use of an encoding parameter is understood to mean the number of times this encoding parameter has been used for the determination of elements of previously rendered images. Specifically, the number of times this encoding parameter has been used for decoding elements of the image being decoded and / or previous images.
  • Such a selection from the predefined list makes it possible to select the coding parameters most likely to be used with regard to the preceding images. This is relevant as well when one encodes / decodes elements in intra as in inter. This is because spatial predictions with high usage frequency levels in a previous frame are more likely to have high usage frequency levels in the image being encoded / decoded. Thus, the encoding parameters of the predefined list that the encoder / decoder would use to encode / decode the elements of the image being processed are more likely to be selected from the determined lists. Thus, with a list determined by such a selection, we obtain, on average, residues that are closer to those which would have been obtained using the predefined list.
  • the amount of encoded data necessary to encode the residues of the elements of the image is reduced while reducing the signaling required to signal each encoding parameter.
  • the selection from the predefined list as a function of the levels of use frequencies can be done by selecting the coding parameters with a level of use frequencies greater than a threshold or by selecting a number. encoding parameter preset having the highest frequency levels of use among the encoding parameters of the preset list.
  • the management mode allowing such a selection is called “histogram" management mode.
  • the threshold or the predefined number of encoding parameters having the highest usage frequency levels may be included in the first information.
  • the information included in the first information is information indicating that the “histogram” management mode is activated as well as the associated threshold or number. Thus, this selection mode requires little signaling.
  • the predefined list of coding parameters can be indexed and the determination of the list of coding parameters can be done by selection on the basis of the first information:
  • - secondary encoding parameters such as an index of each secondary encoding parameter is included in ⁇ J k [i (p) k - m 3 ⁇ 4 ; i (p) k + m 3 ⁇ 4 ] where i (p) k are the indices of the primary encoding parameters and p k are strictly positive integers specified by the first information.
  • Some coding parameters are explicitly indicated in the first information.
  • the selection of the other encoding parameters is done by taking the index parameters included in the neighborhood of the primary encoding parameters. For example the parameters of index [2 (r), 3 ⁇ 4 - mk; 2 (p), 3 ⁇ 4 + m *] included in the neighborhood of the k th primary encoding parameter.
  • the management mode allowing such a selection is called "group" management mode.
  • the information that can be included in the first information to implement such a selection is information indicating that the “group” management mode is activated as well as the indices of the primary coding parameters and the associated p k values.
  • this selection mode requires little signaling. To further reduce signaling, it is possible to give the same value to all p k .
  • the predefined list of coding parameters or the plurality of predefined lists are predefined lists of prediction modes or predefined lists of offset values of a filter.
  • prediction modes intra or inter modes making it possible to determine an element (in other words to determine the pixels of the element) of an image from other elements belonging to the same image for elements encoded in intra and from elements of other images for elements encoded in inter.
  • offset value is understood to mean a value that can be added to each pixel of an element resulting from an intra or inter prediction in order to correct the errors that have arisen during the encoding (in particular those relating to the quantization) .
  • a second aspect of the invention relates to a method for encoding a video binary stream corresponding to a sequence of images which may comprise:
  • the encoded data representative of the element comprises encoded data representative of second information
  • the size Datas encodings representative of the second information depends on a number of encoding parameters in the list of encoding parameters.
  • the list of encoding parameters may include a small number of encoding parameters making it possible to reduce the size of the signaling of the encoding parameters and to reduce the amount of calculation required to encode the elements of the image.
  • encoding setting it is meant encoding input data.
  • the encoding settings can be:
  • video bit stream is meant the bit stream resulting from the encoding of the sequence of images.
  • encoded data representative of one or more elements it is meant the data included in a binary sequence and therefore in the video binary stream which are obtained by encoding of said element or elements.
  • This is data relating to an element of the image resulting from the video processing applied to the sequence of images.
  • This encoded data contains the information on the basis of which the decoder will decode the sequence of encoded images to render the element of the image.
  • encoded data are obtained from the element they represent (for example, to determine a residue), but also from other elements either of the image (Intra prediction) or of other images of the video stream (Inter prediction).
  • the encoded data representative of a first element are obtained from a second element when the prediction mode (or more generally the encoding parameter) used to encode the first element and which is signaled in the representative encoded data of the first element refers to or indicates to use the second element (that is, the values of the second element once decoded) to encode the first element.
  • the encoded data can include the second encoded information.
  • the second data may correspond to the signaling of the encoding parameter to be used for determining the element of the picture to be rendered during decoding.
  • the second encoded data may comprise the index of the encoding parameter to be used from among the indices of the list of encoding parameters, which is the same whether it is for the encoder or the decoder.
  • these representative encoded data may include the index of a prediction mode as well as a residue encoded after quantization and representing the difference between the values of a predictive element and the element of l. 'picture.
  • a third aspect of the invention relates to a computer program comprising instructions for implementing all or part of the methods described above, when this program is executed by a processor.
  • a fourth aspect of the invention relates to a device for decoding a video binary stream corresponding to a sequence of images, the device comprising:
  • - non-transient computer support comprising instructions which, when executed by the processor, configures the device to:
  • a fifth aspect of the invention relates to a device for encoding a video binary stream corresponding to a sequence of images, the device comprising:
  • - non-transient computer support comprising instructions which, when executed by the processor, configures the device to:
  • the encoded data representative of the element comprises encoded data representative of second information, the size encoded data representative of the second information depends on a number of encoding parameters in the list of encoding parameters.
  • FIG. 1 a illustrates an example of an element used for encoding or decoding an image according to one embodiment.
  • FIG. 1 b illustrates an example of the number of intra angular prediction modes available for an encoder or decoder according to an MPEG type compression standard, for example the future WC standard.
  • FIG. 2 illustrates the decoding method proposed according to one or more embodiments.
  • FIG. 3a illustrates an example of a so-called “GOP” image grouping structure.
  • FIG. 3b illustrates another example of a so-called “GOP” image grouping structure.
  • FIG. 4a illustrates an example of implementation of the method proposed according to one or more embodiments.
  • FIG. 4b illustrates an example of implementation of the method proposed according to one or more embodiments.
  • FIG. 5 illustrates a non-limiting example of the implementation of the proposed method when the management mode is said to be “explicit”.
  • FIG. 6a illustrates a non-limiting example of implementation of the proposed method when the management mode is said to be “decimation”.
  • FIG. 6b illustrates a non-limiting example of the implementation of the method proposed when the management mode is said to be “decimation”.
  • FIG. 7 illustrates non-limiting examples of implementation of the method proposed when the management mode is called “histogram”.
  • FIG. 8 illustrates a non-limiting example of the implementation of the proposed method when the management mode is said to be “group”.
  • FIG. 9 illustrates the encoding method proposed according to one or more embodiments.
  • FIG. 10 illustrates an example of an encoding device and an example of a device for decoding a sequence of images for implementing the proposed method.
  • Embodiments of a computer readable medium include, but are not limited to, computer storage media and communication media, including any medium facilitating the transfer of a computer program from a location to another.
  • computer storage medium “s)” is meant any physical medium that can be accessed by a computer. Examples of computer storage media include, but are not limited to, flash memory disks or components or any other memory devices. flash (e.g.
  • various forms of computer readable medium can transmit or carry instructions to a computer, such as a router, a gateway, a server, or any data transmission equipment, whether it is wired transmission (by coaxial cable, optical fiber, telephone wires, DSL cable, or Ethernet cable), wireless (by infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, end of virtual tunnel, virtual firewall).
  • a computer such as a router, a gateway, a server, or any data transmission equipment, whether it is wired transmission (by coaxial cable, optical fiber, telephone wires, DSL cable, or Ethernet cable), wireless (by infrared, radio, cellular, microwave), or virtualized transmission equipment (virtual router, virtual gateway, end of virtual tunnel, virtual firewall).
  • the instructions may, depending on the embodiments, include code of any computer programming language or computer program element, such as, without limitation, assembly languages, C, C ++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, and bash scripting.
  • HTML HyperText Markup Language
  • XML Extensible Markup Language
  • HTTP HyperText Transfer Protocol
  • PHP Hypertext Preprocessor
  • SQL SQL
  • MySQL Java, JavaScript, JavaScript Object Notation
  • Python Python
  • bash scripting any computer programming language or computer program element
  • Video data are generally the subject of source coding aimed at compressing them in order to limit the resources required for their transmission and / or their storage.
  • encoding standards such as H.264 / AVC, H.265 / HEVC, MPEG-2, or the future WC compression standard (h.266), which can be used for this purpose.
  • the images of a video sequence or of a video stream are considered sequentially.
  • Each image of the video sequence can be divided for example into slices (or “slice” in English). These slices can represent a portion of the image.
  • Slices can also be divided into elements of fixed size, for example 16x16, 32x32, 64x64, or 128x128 pixels, for the future VVC standard.
  • the elements can be macroblocks, CTUs (coding tree unit), or even CTB (coding block unit).
  • Each element can be further divided into smaller fixed size elements 4x4, 8x8, 16x16, 32x32, 64x64, or 128x128 pixels.
  • These elements of smaller size can be for example blocks, CU (coding unit), CB (coding block), “prediction unit” (PU), “predict block” (PB), “transform unit” (TU), or even “transform blocks” (TB).
  • One of the objectives of partitioning the image into elements, which themselves can be divided into elements, is to make it possible to adapt and refine the types of processing to be applied to each element of the image.
  • the term “type of processing” means one or more data processing operations carried out on the video data during encoding or decoding.
  • the elements of the image can be processed according to the type of processing known as "intra prediction”.
  • This type of processing makes it possible to predict the elements, for example CU or CB, of an image to be encoded. Prediction aims to exploit the different correlations that exist between the pixels of the images of a video sequence. This correlation can be spatial called “intra prediction”, that is to say between pixels of the same image being encoded, or it can be temporal called “inter prediction”, that is to say between the pixels of an image being encoded and the pixels of the previously encoded images.
  • the neighboring pixels can be taken into account according to different configurations, and each configuration constitutes a specific coding parameter for the type of processing known as “intra prediction” for example.
  • this encoding parameter can be a prediction mode in a certain direction.
  • FIG. 1a illustrates an element 100, for example a CU or a PB or even an MB, treated from a type of treatment, for example a intra prediction, according to a given coding parameter, for example an intra prediction mode in a certain direction 103.
  • a type of treatment for example a intra prediction
  • a given coding parameter for example an intra prediction mode in a certain direction 103.
  • an element 100 of size 4x4 pixels can be surrounded by a set of pixels 101, 102 already encoded (respectively decoded ) belonging to neighboring elements.
  • FIG. 1b illustrates an example of the coding parameters available to encode the elements in intra, and in particular to encode the element 100 in the case of the future WC standard.
  • a total of 67 encoding parameters may be available for the intra prediction of element 100.
  • the encoder can select the optimal coding parameter (that is to say the coding parameter making it possible to obtain the predicted element 100 closest to the element of the image), and predict all the pixels of the element 100 as a function of the pixels 101, 102.
  • the pixels used can be the pixels of pixel row 101.
  • the predicted element 100 is then compared to the original element of the image being processed to generate a residue representing the difference between the two elements.
  • This residue can then be transformed, for example by DCT (discrete Fourier transform), then quantized before its encoding in the binary stream.
  • the decoder When decoding the intra-encoded element of an image to be restored, the decoder reconstructs the predicted element with the same encoding parameter used for the encoding of the element by the encoder and on the basis pixels 101 and 102 previously decoded. The residue is further added to the predicted element in order to bridge the existing differences between the predicted element and the original element. This operation can be repeated for all the elements of each frame of the video sequence.
  • a so-called “offset” value can be added to a selection of an element, for example a CTU or CTB, during the processing. involving the application of an ODS filter.
  • an offset value can be added to the value of each pixel of a selection of the element according to one of the SAO filter application modes (or SAO filter types).
  • This value can be determined by the encoder during the encoding of the image of the sequence of images then signaled in the binary stream, for example at the level of the first syntactic element of each CTU for the HEVC standard or the future. WC.
  • the signaling of this offset value can be performed against a predefined list of offset values. Depending on the compression standard, the number of values may be different. For example, in the case of the MPEG and WC standards, when the pixel encoding is carried out on 10 bits, the predefined list of offset value includes 32 offset values. Thus, the cost of signaling the selection of an offset value from 32 offset values for each element can be relatively large. In 8 bit, this list includes 8 values.
  • a certain number of coding parameters can. be associated with each of these types of treatment.
  • the encoder or the decoder may test all the encoding parameters to determine the optimal encoding parameter for a type of treatment given. The determination can be made on the basis of one or more metrics associated with this type of processing. For example, when the type of processing is an intra prediction, the metric is the distortion rate combined with the associated signaling rate within a criterion known as the rate-distortion cost. Thus, the encoder selects the encoding parameter with the lowest rate-distortion cost for the element being processed among all the available intra prediction modes.
  • a compromise when encoding or decoding a video sequence, a compromise must be found between several aspects, such as, for example, the bit rate, the quality (distortion), the encoding time, and the consumption. of energy.
  • This search for a compromise can depend on the application, for example the real-time encoding of a video stream (sport or live TV broadcast for example), or on the contrary of the encoding or decoding of a sequence. video intended to be stored on external memories, or for example according to a constraint of low consumption.
  • having a high number of coding parameters per type of processing can provide an overall gain on the efficiency of encoding or decoding, but this gain may vary depending for example on the type of image (I, P or B) or the content of the images.
  • a high number of coding parameters for a type of processing can become counterproductive due to the irrelevance of a large part of the coding parameters that can be used for a given image with regard to the additional cost of encoding linked to the signaling of an encoding parameter among more encoding parameters.
  • FIG. 2 illustrates the method proposed according to one or more embodiments. This method can be implemented by any device comprising a processor and a memory, and configured for its implementation, such as for example, a video decoder, or any equipment configured for the decoding of a video sequence.
  • the device 500 obtains first information from first encoded data contained in the binary stream.
  • This binary stream can be encoded according for example to MPEG type standards, such as the HEVC standard or the future WC standard.
  • the first information can be signaled in the signaling part of the bit stream, for example the PPS.
  • the first information encoded in the first data can be instructions intended for the decoder defining the management modes allowing the determination of lists of coding parameters according to different selection rules.
  • the first data can be signaled at the level of the signaling part of the binary stream, for example the PPS, or the “slice headers”.
  • This PPS field can contain initial information relating to one or more encoded images. Attaching multiple images to a single PPS containing the use of at least one list management mode can reduce overall signaling cost.
  • the decoder can, on decoding the first encoded data, obtain an instruction for activating the method, for example “intra_adaptive_subset_enabled_flag”, and on decoding the instruction “intra_adaptive_subset_mode” determine the management mode to be used.
  • This management mode to be used can be the one that the encoder used to encode the elements of one or more images of the sequence of images.
  • the device 500 determines a list of encoding parameters on the basis of the first information and at least one predefined list of encoding parameters. From, for example, the instructions defined by the first information encoded in the first encoded data which can be included in the signaling part of the binary stream, the decoder can determine, according to a management mode, a list of parameters. encoding selected from a predefined list of encoding parameters.
  • the predefined list of encoding parameters can be a list of prediction modes (intra or inter).
  • the predefined list of encoding parameters may be an "offset" list.
  • step 13 the device obtains second information from second encoded data contained in the binary stream, the second information corresponding to an encoding parameter from among the encoding parameters of the list of encoding parameters.
  • the list of encoding parameters being able to be included strictly in the predefined list of encoding parameters, the list of encoding parameters may contain a reduced number of encoding parameters.
  • the signaling of an encoding parameter, selected by the encoder, from the determined list of encoding parameters can allow the second data corresponding to the encoding of this signaling to be encoded on a reduced number of bits.
  • step 14 the device determines an element of a restored image corresponding to an element of an image of the sequence of images by means of said encoding parameter corresponding to the second information item and of encoded data representative of the image element of the sequence.
  • the determination of an element of a restored image performed with an encoding parameter contained in a restricted list of encoding parameters can allow optimization of the signaling cost, but while maintaining relevant encoding parameters in one or more lists of encoding parameters.
  • the use of one or more coding parameter lists for determining elements of a restored image can be conditioned by the element coding characteristics of the image. Characteristics encoding can be the size of the elements, the type of intra and / or inter encoding, the quantization step, etc. The encoding characteristics relating to the elements of one or more images can be included in the first information.
  • the encoder can encode the selected encoding parameter allowing the determination of the element of the image reconstructed by the decoder,
  • the decoder can obtain the encoding characteristics of the picture elements, and thus determine the lists of encoding parameters specific to these encoding characteristics of the picture elements. Depending on their encoding characteristics, the encoded picture elements can be determined based on one or more encoding parameter lists meeting those characteristics.
  • encoding characteristic is the size in pixels of the element.
  • a first determined list of encoding parameters can be used to encode an element having a size less than or equal to a first value.
  • a second determined list of encoding parameter can be used to encode an element having an element size greater than this first value.
  • a first list of encoding parameters can be used for image element sizes of 16x16 pixels, and the second list used for element sizes of the same image greater than 32x32 pixels.
  • the encoding characteristics of picture elements can include chromatic characteristics or luminosity characteristics of an element. Indeed, the pixels of each element of an image can be decomposed into two components. A first component relating to the luminosity characteristics is called “luma” and can define the luminosity of the pixel. A second component relating to the chromatic characteristics called “chroma” can define the color of the pixel, conventionally it consists of two components chroma U and chroma V. For example, for the same image, a first determined list of coding parameters can be used. exclusively for luma components, and a second determined list of encoding parameters can be used exclusively for chroma components.
  • an encoding parameter for example a prediction mode, whether for the encoding or decoding of the element of this image is carried out according to a first list for chroma components and a second list for luma components.
  • the encoding characteristics of picture elements may include quantization steps.
  • the encoding characteristics of picture elements can include the type of encoding of the element or the type of encoding of the image to be encoded within a "group of picture" (GOP). .
  • a first determined list of encoding parameters can be used exclusively for the encoding of intra-type images, that is to say for which the elements are encoded intra.
  • a second determined list of encoding parameters can be used for encoding exclusively predictive type images (P), that is to say for which the elements can be encoded intra and inter.
  • a third list can be used for image encoding of the bi-predictive type (B), that is to say for which the elements can be encoded intra and inter using several reference images.
  • the same determined list of encoding parameters can be used for encoding the same type of encoding of picture elements not found in the same GOPs.
  • the images processed according to one or more types of processing associated with respective encoding parameters are encoded within a group. of images or "group of picture” (GOP).
  • the GOP defines the order in which the images with intra (spatial) prediction and the images with inter (temporal) prediction can be arranged.
  • GOPs are key elements in the compression of a video sequence, since they allow to group the images dependent on each other.
  • Each GOP can contain, depending on the type of structure of the GOP, a succession of encoded images of intra, predictive, and bidirectional type, and the first image of a GOP is generally an image of intra type in order to make it possible to start GOP decoding.
  • each frame is generated from the frames encoded in that GOP.
  • Figures 3a and 3b illustrate examples of two conventional structures of set of images or GOP ("group of pictures" in English) constituting a video sequence to be encoded.
  • the first structure is an IP type structure, that is to say an alternation of images of intra type and images of predictive type.
  • Intra-type images are placed regularly, for example every 4 images in this case, in order to refresh the prediction and to allow access to the stream in particular.
  • the predictive type image 401 is predicted, according to the inter prediction, from the image data of the intra type image 400, by means of a motion compensation signaled by motion information based for example on a motion vector and a reference image.
  • the second GOP structure shown is an IBP structure, ie an alternation of images of intra type (I), images of predictive type (P), and images of bidirectional type (B).
  • the predictive type image 411 is predicted from the image data of the intra type image 410
  • the bidirectional type image 420 is predicted from the image data of the intra-type images 412 and predictive type 413, through the intermediary, as previously, of motion compensation.
  • This type of structure has the advantage of allowing the bidirectional type images (B) to use a prediction between two images from opposite temporal directions and thus improve the efficiency of this prediction, and therefore the compression efficiency.
  • video data may have a pyramidal type structure, where each image of the GOP is further defined by a hierarchical level or level or temporaljd in English.
  • the decoder decodes the first data in the signaling part, for example the PPS ("picture parameter set") of the binary stream, in order to obtain the first information allowing it to know the characteristics of encoding of the elements of the image of the sequence of images, for example the GOP structure comprising an image alternation of intra type, predictive type, or bidirectional type.
  • the PPS picture parameter set
  • a first determined list of coding parameters can be used only for the encoding or decoding of one or more intra-type images, and for a size of elements greater than a defined value.
  • a second determined list of coding parameters can be used for type P or B images.
  • FIG. 4a shows a decoder implementing the method on the basis of an MPEG-type compression standard, for example HEVC or the future WC standard.
  • the decoder 500 On receipt of a binary stream 506 generated by an encoder implementing the method, the decoder 500 decodes first data relating to first information, for example instructions corresponding to one or more management modes for determining d 'one or more lists of encoding parameters. These instructions defined for example in the PPS or the “slice headers” can be used for determining elements of an image, or for a set of images of the sequence of images, for example a GOP or images presenting the same encoding characteristics of image elements.
  • the decoder 500 determines one or more lists of encoding parameters on the basis of one or more predefined lists of encoding parameters that the decoder has in its memory. These determined lists of encoding parameters are identical to those that the encoder has determined for encoding the picture elements of the picture sequence. In fact, from the first information, the decoder can deduce the parameter setting of the encoder, and thus the various management modes which can be used.
  • the decoder When the decoder decodes an element, it determines the encoding characteristics of this element to deduce therefrom the determined list to be used among the determined lists. Then it decodes the second data relating to the second information. This second information provides information on the index of the encoding parameter to be used from the determined list of encoding parameters to be used for determining the element to be decoded. This process may be repeated for all image elements in the sequence of images to generate an output 507 of an image sequence.
  • the decoder determines one or more lists of intra prediction modes which are identical to those used for encoding this image.
  • a list can be determined to be used for the determination of image elements encoded according to characteristics of type intra, that is to say elements of an image of type intra, and for elements of size 16x16 pixels. , then an element encoded according to these characteristics, that is to say encoded in an image of intra type (or intra image) and having a pixel size of 16x16 pixels, can then be predicted (determined) on the basis of this list of prediction modes.
  • the decoder identifies the index of the encoding parameter of the determined list to be used for the decoding of the element to be decoded.
  • Figure 4b illustrates an implementation of the method in one or more embodiments on the encoder side.
  • an encoder 501 receives a sequence of images 502 to be encoded.
  • the encoder also receives input data 503 allowing the encoding to be configured.
  • These input data can contain instructions, which can indicate, among other things, the implementation of the method, the management mode to be used, the encoding characteristics. of image elements, and / or the use of encoding parameter lists as a function of encoding characteristics.
  • the encoder 501 can then generate a binary stream comprising the encoded image elements 504.
  • the binary stream 504 can also include the input data having served for the encoding of the elements. images and which can allow the decoder to correctly decode them.
  • This input data can be encoded in the first data located in the signaling part of the bit stream, for example PPS.
  • the indices of the encoding parameters used for encoding the picture elements can be signaled by encoding in the second data located in the signaling portion of the bit stream 504.
  • Obtaining a predictive element by means of the optimal or relevant coding parameter makes it possible to calculate, as previously described for the calculation of a residue, which can then be transformed, for example by DCT, then quantified according to a step of quantification. After quantization, the data from the encoding can be encoded into the bitstream 504 called "bitstream".
  • FIG. 5 illustrates an example of a management mode implemented by the method for determining an element of an image being encoded or decoded.
  • the decoder 500 determines, from the instructions contained in the first information defining this management mode, one or more lists of coding parameters.
  • the instructions may for example explicitly list a first set of encoding parameter indices.
  • a second list may explicitly list a second set of encoding parameter indices.
  • a third list may explicitly list a third set of encoding parameter indices, etc.
  • the instructions may, in addition, specify encoding characteristics of elements for which these predefined lists of encoding parameter indices are to be used.
  • the decoder 500 determines 603 the first list LI_E1 by selection of the coding parameters according to the indices defined in the first set of indices.
  • 3 encoding parameter indices are defined in the instructions for the first list.
  • the indices can refer to the predefined list L P 600. For example the index 3 for the coding parameter p3, the index 2 for the coding parameter P2, and the index 5 for the coding parameter p 5 .
  • the first indexed list LI_E1 601 can be determined 603 and comprising a first index 0 corresponding to the coding parameter p3, an index 1 corresponding to the coding parameter P2, and an index 2 corresponding to the coding parameter ps.
  • the decoder 500 can determine 603 a second indexed list of coding parameters LI_E2 604 on the basis of the predefined list L P 600.
  • the instructions can define a second set of coding parameter indices comprising 5 coding parameters p 3 , P4, P7, Ps, P10 associated respectively with the indices 3, 4, 7, 8 and 10 in the predefined list of coding parameters.
  • the decoder 500 can determine an indexed list LI_E2 comprising the coding parameters P3, P4, P7, Ps, P10 associated respectively with the indices 0, 1, 2, 3, 4.
  • the use of the first and / or second list for determining the elements of the image to be restored can depend on the encoding characteristics of the elements of the image which can be indicated in the instructions included in the first ones. information.
  • the first list LI_E1 can be used for the determination of elements encoded in intra (spatial prediction)
  • the second list LI_E2 can be used for the determination of elements encoded in inter (temporal prediction) (in particular for example when the encoding parameters are so-called “offset” values.
  • FIG. 6a illustrates an example of a mode of management of coding parameters by “Decimation”. Decoder 500 determines at least one indexed list 702 by selecting encoding parameters from the prefinished lists of encoding parameters 700 (eg, a list of 67 intra prediction modes).
  • the decoder 500 obtains information on the fact that the so-called "decimation" management mode is activated and the values of the selection shift parameters k and of the decimation factor n. As indicated above, this information enables the decoder 500 to determine a list of encoding parameters by selecting the indices k + n.m from a predefined list of encoding parameters.
  • the information can also comprise, in addition to or in replacement of k and n, a hierarchical level of the image to be decoded in the structure of the GOP defined by an integer L. In the case of FIG. 6a, the value of n is equal to 2 and the value of k is equal to 1.
  • the decoder 500 determines the list LI_D1 indexed according to a new indexing 702 and where each index of this list LI_D1 is associated with an encoding parameter obtained following the selection of one encoding parameter out of two in the predefined parameter list. coding 700.
  • the decoder 500 can use the lists determined by decimation according to the encoding characteristics of the element being decoded. For example, a first list 702 can be used exclusively for the decoding of elements having a certain level of brightness and included in images of intra type. A second indexed list (not shown) can be used exclusively for the decoding of elements having an element size greater than a value (for example greater than 8x8 pixels) included in type B or type P images.
  • the decimation is carried out only for the images below (or above) a certain hierarchical level. It is also possible to define several hierarchical levels with for each level specific values of k and n.
  • the values k and n can be implicit, that is to say that on the basis of the value L the decoder 500 deduces a pair k, n without these being included in the first information.
  • FIG. 6b illustrates hierarchical levels in a GOP structure comprising 19 images 760, 761, 762.
  • the structure of the GOP here comprises several hierarchical levels L0 to L5.
  • the selection by decimation can provide for different values of k and n (for example the pairs (1; 2), (1; 4) and (1; 8)).
  • the determined lists are then used for the decoding of the elements of each image of the GOP according to the hierarchical level L1 to L5 of the image in which the element to be decoded is located (for example the list obtained with the pair (1; 2 ) can be used for images of hierarchical levels L3 to L5, the list obtained with the pair (1; 4) can be used for images of hierarchical level L2 and the list obtained with the pair (1; 8) can be used for the images of hierarchical level L1, the predefined list being used for the images of hierarchical level L0.
  • the decimation can be carried out on only part of the predefined list. For example, when the encoding parameters are intra prediction modes, the decimation can be performed only on the angular modes.
  • the first information can then contain additional information, for example the indices of the coding parameters to be kept before carrying out the decimation. It is also possible to define a value of k sufficient to spare the first coding parameters of the predetermined list.
  • the first determined list LI_D1 then comprises 35 prediction modes. Indeed, this first list includes 2 modes not angular, namely DC and Planar, for 65 angular modes.
  • the list LI_D1 then comprises the two non-angular modes and the angular modes resulting from the selection by decimation, ie after selection a total of 33 angular modes.
  • FIG. 7 illustrates an example of another management mode implemented by the method.
  • the decoder 500 determines 850 at least one indexed list 810 or 870 as a function of a level of use frequencies of the coding parameters of the predefined list of. encoding parameters.
  • This frequency of use may, for example, be representative of the use of an encoding parameter for determining the previous picture elements and / or the picture being decoded.
  • the frequency of use for each encoding parameter of a predefined list can be represented in the form of a histogram.
  • a histogram 800 can be defined by an abscissa 840 of coding parameters, and according to an ordinate 830 indicating the frequency of use, for example in percentage.
  • the list of encoding parameters can be determined from a selection of encoding parameters having a frequency of use obeying selection rules.
  • the selection rules for this management mode can be defined for example by a selection factor h, and / or a selection threshold S. These selection parameters can be included in the first information allowing the decoder 500 to define the management mode.
  • the selection rules can be the selection of the h coding parameters from among the coding parameters of the histogram (h a positive integer) having the highest frequencies of use.
  • the determined list of coding parameters can for example include a ranking in decreasing or increasing order of the frequency of use.
  • the list LI_H1 810 of determined coding parameter 850 comprises the three coding parameters p 10 , p 9 , and p 6 presenting the most frequent use frequencies. higher among encoding parameters from the predefined list. This list is reordered so that the index 0 is associated with the encoding parameter p 10 the index 1 is associated with the encoding parameter p 9 and the index 2 is associated with the encoding parameter p 6 .
  • the first information can then include information on the fact that the management mode called "histogram" is activated and the factor h.
  • the selection rules can also be the selection of coding parameters having frequencies of use greater than a threshold "S" 820.
  • the determined list of coding parameters can for example include a ranking in decreasing or increasing order of frequency of use. For example, according to the histogram 800, with the threshold S 820, the list LI_H2 870 of coding parameters is determined 860 which comprises the coding parameters rb, P 7 , R Q , P IO and p 12 presenting the frequencies use of the encoding parameters in the predefined list.
  • This list is reordered so that the index 0 is associated with the encoding parameter p 10 , the index 1 is associated with the encoding parameter p 9 , the index 2 is associated with the encoding parameter rb, the index 3 is associated with the coding parameter p, the index 4 is associated with the coding parameter pi 2 .
  • the first information can then include information on the fact that the management mode called “histogram” is activated and the selection threshold "S".
  • FIG. 8 illustrates an example of another management mode implemented by the method.
  • the decoder 500 determines 901 at least one list of indexed coding parameters 902 comprising one or more so-called primary coding parameters surrounded by so-called secondary coding parameters according to the 'set I - [ ⁇ (R) K - m * :; KR) K + m *].
  • i (p) k are the indices of the primary encoding parameters and m A.
  • (shift factor) are strictly positive integers specified for example in the instructions of the so-called “group” management mode included in the first information.
  • the first information contains three primary coding parameters (P2, P7, and p,) and an offset factor (d) of 1.
  • the decoder 500 determines list 902. This contains the explicitly signaled primary encoding parameters and the secondary encoding parameters which are then pi, p 3 , R Q , P S , P M and p i + 1 .
  • FIG. 9 illustrates the method proposed according to one or more embodiments.
  • This method can be implemented by any device comprising a processor and a memory, and configured for its implementation, such as, for example, a video encoder 501, or any equipment configured for encoding a video sequence.
  • the device 501 determines an encoding setting for an image of the sequence of images (video sequence).
  • the encoding setting can be encoding input data, such as, for example, instructions specifying the management modes to be used, the encoding characteristics of elements, and / or the management modes. to be used according to the encoding characteristics.
  • the device 501 determines a list of encoding parameters.
  • the determination of the list of coding parameters can be carried out according to one of the previously indicated methods, for example, by "decimation”, by "histogram", by explicit selection or even by "group”. These different methods can also be combined, i.e. a first method (from among its methods) is applied to select from the predefined list of encoding parameters a first list of encoding parameters and a second method. (from among its methods) is applied to select from this first list of encoding parameters a second list of encoding parameters.
  • the device 501 obtains a binary stream comprising first information as well as encoded data representative of the elements of the image.
  • the first information can for example indicate the parameter setting used for the encoding of the image of the sequence of images.
  • Second information can be included in the encoded data representative of the elements. This second information indicates the encoding parameter used from the list determined to obtain an element of the image.
  • FIG. 10 illustrates an example of the architecture of a decoding device, and an example of the architecture of a device for encoding a video sequence for the implementation of the proposed method.
  • the device 500 comprises a controller 902, operably coupled to an input interface 901, to an output interface 906 and to a memory 903, which controls a coding parameter management module 905 and a control unit.
  • decoding 904 for decoding images of a video sequence.
  • the input interface 901 is configured to receive as input a binary stream corresponding to a sequence of images encoded, according to the method for example, in a binary stream.
  • the controller 902 is configured to drive the coding parameter management module 905 and the decoding unit 904 for the implementation of one or more embodiments of the proposed method.
  • the coding parameter management module 905 can be configured for the implementation of one or more embodiments of the method for determining and using lists of coding parameters proposed. In particular, it can be configured to receive on the input interface a binary stream encoded according to the method and comprising first and second encoded data. On decoding this binary stream, the management mode can be configured to obtain first information from first encoded data contained in the binary stream, to determine a list of encoding parameters based on the first information and at least a predefined list of encoding parameters. The coding parameter management module 905 can furthermore be configured to obtain second information from second encoded data contained in the stream. binary, the second information corresponding to an encoding parameter among the encoding parameters of the list of encoding parameters.
  • the memory 903 can be configured to store signaled information in the bit stream, such as first and second decoded information of the first and second encoded data.
  • the decoding unit 904 via the management module can be configured to determine an element of a restored image corresponding to an element of an image of the sequence of images by means of a parameter of encoding corresponding to the second information and encoded data representative of the element of the image of the sequence, and in which the size of the second encoded data depends on a number of encoding parameters in the list of encoding parameters.
  • the device 500 can be configured to provide at output 906 a decoded video data stream, for example a sequence of images.
  • the device 500 may be a computer, a computer network, an electronic component, or another device comprising a processor operably coupled to a memory, as well as, depending on the embodiment chosen, a storage unit. data, and other associated hardware elements such as a network interface and a media drive for reading and writing to removable storage media (not shown in Fig. 10).
  • the removable storage medium can be, for example, a compact disc (CD), a digital video / versatile disc (DVD), a flash disc, a USB stick, etc.
  • the memory, data storage unit, or removable storage medium contains instructions which, when executed by controller 902, cause controller 902 to perform or control interface parts of it.
  • the controller 902 can be a component implementing a processor or a calculation unit for the decoding of one or more images of a sequence of images on the basis of at least one list of encoding parameters according to the proposed method and the control of units 901, 902, 903, 904, 905, 906 of device 500.
  • the device 500 can be implemented in software form, as described above, or in hardware form, such as an application specific integrated circuit (ASIC), or in the form of a combination of hardware elements. and software, for example a software program intended to be loaded and executed on a component of FPGA (Field Programmable Gâte Array) type.
  • FPGA Field Programmable Gâte Array
  • the device 501 comprises a controller 912, operatively coupled to an input interface 91 1, to an output interface 916 and to a memory 913, which controls a coding parameter management module 915 and a unit.
  • encoding 914 for encoding images of a sequence of images.
  • the 911 input interface is configured to receive as input a sequence of images corresponding, for example, to a video sequence or a live distributed video stream.
  • the controller 912 is configured to drive the encoding parameter management module 915 and the encoding unit 914 for the implementation of one or more embodiments of the proposed method.
  • the coding parameter management module 915 can be configured for the implementation of one or more embodiments of the method for determining and using lists of coding parameters proposed. In particular, it can be configured for, an image of the sequence of images, to determine an encoding setting, for example from the input interface. The encoding parameter management module 915, further, can be configured to determine a list of encoding parameters based on the encoding setting and at least one predefined list of encoding parameters.
  • the input interface is configured to also receive input data comprising, for example a parameterization of the encoding of the sequence of images, for example instructions, which can signal, among other things, the setting.
  • input data comprising, for example a parameterization of the encoding of the sequence of images, for example instructions, which can signal, among other things, the setting.
  • Memory 913 can be configured to store input information, such as input data.
  • the encoding unit 914 can be configured to obtain a video binary stream comprising, encoded data representative of first information, the first information indicating the encoding setting, as well as encoded data representative of an element of the image obtained by means of an encoding parameter of the list of determined encoding parameters, the encoded data representative of the element comprises encoded data representative of second information, the size of the encoded data representative of the second information depends on a number of coding parameters in the list of coding parameters, the binary stream obtained being able to be sent to the device 500 for example.
  • the device 501 may be a computer, a computer network, an electronic component, or another device comprising a processor operably coupled to a memory, as well as, depending on the embodiment chosen, a storage unit. data, and other associated hardware elements such as a network interface and a media drive for reading and writing to removable storage media (not shown in Fig. 10).
  • the removable storage medium can be, for example, a compact disc (CD), a digital video / versatile disc (DVD), a flash disc, a USB stick, etc.
  • the memory, the data storage unit or the removable storage medium contains instructions which, when executed by the controller 912, cause this controller 912 to perform or control the interface parts of it.
  • the controller 912 can be a component implementing a processor or a computing unit for encoding one or more images of a video sequence on the basis of at least one list of encoding parameters according to the proposed method and the control. units 911, 912, 913, 914, 915, 916 of device 501.
  • the device 501 can be implemented in software form, as described above, or in hardware form, such as an application specific integrated circuit (ASIC), or in the form of a combination of hardware elements. and software, for example a software program intended to be loaded and executed on a component of FPGA (Field Programmable Gâte Array) type.
  • FPGA Field Programmable Gâte Array

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

L'invention concerne un procédé de décodage d'un flux binaire comprenant une séquence d'images encodées, le procédé comprenant : - obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire; - déterminer une liste de paramètres de codage sur la base des premières informations et d'au moins une liste prédéfinie de paramètres de codage; - obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage; - déterminer un élément d'une image restituée correspondant à un élément d'une image de la séquence d'images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l'élément de l'image de la séquence; dans lequel la taille des deuxièmes données encodées dépend d'un nombre de paramètres de codage dans la liste de paramètres de codage.

Description

Description
Titre : Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
Domaine et contexte de l’invention
[0001] La présente description se rapporte au domaine de la compression vidéo, et plus spécifiquement aux encodeurs et décodeurs vidéo.
[0002] La description peut s’appliquer notamment aux protocoles de sélection de modes de prédictions dans les standards de compression vidéo MPEG, comme par exemple l’AVC (h.264) pour « Advanced Video Coding », HEVC (h.265) pour « High Efficiency Video Coding », et les futurs standards de compression MPEG, comme par exemple le VVC (h.266) pour « Versatile Video Coding ».
[0003] Les schémas de compression vidéo classique sont basés sur les mêmes principes depuis la première génération de standard MPEG, le MPEG2. Les images d’une séquence vidéo ou d’un flux vidéo sont considérées séquentiellement et divisées en éléments, eux-mêmes pouvant être divisés en éléments. Ces éléments peuvent être par exemple des macroblocs (MB), des « coding tree units » (CTU) ou encore des blocs, des « coding units » (CU) ou des « prédiction units » (PU).
[0004] La division des images en éléments ou/et éléments de pixels, lors des processus d’encodage d’une séquence vidéo, permet de traiter localement les données d’image. Différents types de traitement associés à des paramètres de codages peuvent être utilisés pour encoder chaque élément.
[0005] Les différents types de traitements peuvent être généralement utilisés pour améliorer, par exemple, le processus de compression vidéo lors de l’encodage vidéo. Un type de traitement peut être par exemple une prédiction intra comprenant des modes de prédiction intra comme paramètres de codage. Selon un autre exemple, le type de traitement peut être l’application d’un filtre à décalage adaptatif d’échantillons comprenant comme paramètres de codage des valeurs de décalage ou offset. Selon un autre exemple, le type de traitement peut être une prédiction inter comportant des modes dit « modes merge » comme paramètres de codage.
[0006] Selon les standards de compression et les types de paramètres de codages, un certain nombre de paramètres de codage sont accessibles pour l’encodage et le décodage. Ce nombre de paramètres de codages peut, selon le type et le standard de compression être relativement important et ainsi entraîner une signalisation conséquente qui peut réduire d’autant la performance de la compression en cas d’utilisation sous-optimale ou incomplète de l’ensemble des paramètres de codage Une utilisation incomplète peut intervenir lors d’une mise en œuvre précise d’un encodeur avec des contraintes fortes de rapidité d’exécution ou de complexité, amenant le fabricant à ne pas exploiter l’ensemble des paramètres. Une utilisation sous-optimale des paramètres de codage peut intervenir en fonction d’un contenu spécifique et/ou d’un point d’utilisation de l’encodeur.
[0007] Généralement, l’évolution d’un standard de compression, comme par exemple le standard de compression de type MPEG, implique un gain de compression, mais aussi une augmentation du nombre de paramètres de codage disponibles pour un même type de traitement. Par exemple les modes de prédiction intra qui sont au nombre de 35 pour le standard HEVC, et 67 pour le futur standard de compression VVC.
[0008] Les paramètres de codages utilisés lors de l’encodage vidéo sont nécessaires lors du décodage du flux binaire correspondant. L’encodeur doit ainsi les signaliser au décodeur dans le flux binaire, mais en contrepartie d’un certain coût de signalisation. Cette signalisation peut représenter un certain nombre de bits qui affecte la performance de la compression notamment si elle n’est pas compensée pas un gain de qualité de compression suffisant. La signalisation peut consister par exemple à signaler un paramètre de codage. Par exemple, lorsque les paramètres de codages sont des modes de prédiction intra dans le standard HEVC, la signalisation du mode de prédiction sélectionné par l’encodeur pour un élément représente jusqu’à 5 bits. C’est-à-dire que l’encodeur encode la valeur d’indice correspondant à ce mode de prédiction intra parmi 35 modes de prédiction. Dans le cas du futur standard de compression WC, cette signalisation est effectuée sur jusqu’à 6 bits pour couvrir les 67 modes de prédictions.
[0009] Ainsi le coût de signalisation globale peut rapidement devenir important. Cette signalisation est d’autant plus importante que le nombre de paramètres de codages disponibles est grand et que le nombre d’éléments à encoder est important.
[0010] La présente invention vient améliorer la situation.
[0011] A cet effet, il est proposé un procédé de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le procédé comprenant:
- obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
- déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
- déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence ;
dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
[0012] Cela permet de décoder une séquence d’images encodées dans un flux binaire sur la base d’une liste de paramètres de codage incluse dans la liste prédéfinie de paramètres de codage. Ainsi, le nombre de paramètres de codage disponible pour l’encodage et le décodage peut être réduit. Il est donc possible de réduire la taille de la signalisation affectée aux paramètres de codage, c’est-à-dire les deuxièmes données encodées. Avantageusement, la liste de paramètres est strictement incluse dans la liste prédéfinie, permettant ainsi de réduire la taille de la signalisation quel que soit l’élément à décoder. [0013] De plus, de manière avantageuse, cette réduction du nombre de paramètres de codage en amont peut permettre de réduire le temps de calcul d’encodage ou décodage et/ou réduire les ressources matérielles nécessaires, en particulier par exemple lorsque la sélection d’un paramètre de codage parmi une liste de paramètre de codage nécessite de tous les tester afin de sélectionner le paramètre de codage optimal.
[0014] Par paramètre de codage, on entend un paramètre sur la base duquel sont obtenues les données encodées représentatives d’un élément. Autrement dit par paramètre de codage on entend une fonction ou un paramètre d’une fonction permettant d’obtenir les données encodées représentatives d’un élément. Par exemple, un paramètre de codage peut permettre de déterminer un élément prédictif dont le différentiel avec l’élément à encoder est le résidu. Un tel paramètre de codage peut ainsi être un mode de prédiction, c’est-à-dire que le paramètre de codage peut indiquer un élément d’une image de la séquence d’image (soit de la même image soit d’une image différente que celle de l’élément qui est à encoder/décoder). Le paramètre de codage peut également permettre le calcule d’un résidu une fois l’élément prédictif (c’est-à-dire indiqué par un mode de prédiction) de l’élément à encodé/décodé déterminé.
[0015] Par un élément de l’image, on entend une unité de traitement. Ces unités de traitement divisent ou découpent l’image en groupe de pixels. Cet élément peut représenter un ensemble de pixels ou correspondre à un seul pixel, une image étant divisée en éléments qui sont ensuite traités pour l’encodage ou le décodage. À titre d’exemple, les éléments peuvent être des macroblocs, des CTU (coding tree unit), ou encore CTB (coding block unit). Chaque élément peut être de plus divisé en éléments plus petits de taille fixe 4x4, 8x8, 16x16, 32x32, 64x64, ou 128x128 pixels ou des éléments rectangulaires. Ces éléments de taille plus petite peuvent être par exemple des blocs, des CU (coding unit), des CB (coding block), des « prédiction unit » (PU), des « predict block » (PB), des « transform unit » (TU), ou encore des « transform block » (TB).
[0016] Par obtenir des premières informations à partir de premières données encodées dans le flux binaire, on entend le décodage des premières données encodées comprenant les premières informations. Ces premières informations peuvent donc être signalisées dans le flux binaire par l’encodeur à travers les premières données encodées. Ces premières informations peuvent comprendre, par exemple, des informations relatives à un mode de gestion de paramètres de codages (indication d’un mode de gestion des paramètres de codages, paramétrage du mode de gestion utilisé pour l’encodage...). Par mode de gestion de paramètres de codage, on entend un mode définissant la manière dont sont déterminées les listes de paramètres de codage sur la base des premières informations (par exemple des caractéristiques de codage) et de la liste prédéfinie de paramètres de codage.
[0017] Plusieurs modes de gestions peuvent être indiqués dans les premières informations afin de déterminer plusieurs listes de paramètres de codage à partir de la même liste prédéfinie de paramètres de codage, permettant ainsi d’utiliser la liste la plus adaptée pour l’encodage ou le décodage de chaque élément d’une image en fonction des différents besoins (par exemple caractéristique de l’image, caractéristique de l’élément...).
[0018] Il est entendu par liste prédéfinie de paramètres de codage une liste comportant un nombre fini de paramètres de codage. Ce nombre peut être fonction du standard de compression utilisé pour l’encodage de la séquence vidéo, et du type de paramètres de codage. Par exemples des modes de prédiction ou des valeurs de décalage d’un filtre dit « offset ». Le type de paramètres de codage peut être déterminé selon les premières informations. La liste prédéfinie de paramètres de codage peut comporter une indexation des paramètres de codage, par exemple de 0 à N-1 avec N un entier positif.
[0019] A titre d’exemple, si les paramètres de codage sont des modes de prédiction intra dans le standard de compression HEVC, la liste prédéfinie comporte 35 paramètres de codage ou modes de prédiction intra. Selon un autre exemple, dans le cas du futur standard de compression VVC, la liste prédéfinie de paramètres de codage comporterait alors 67 modes de prédiction intra pour un élément, par exemple des CU.
[0020] Selon un autre exemple, si les paramètres de codage sont des valeurs de décalage utilisées lors du filtrage « sample adaptive offset » (SAO) pour des pixels codés sur 10 bits dans le standard HEVC ou futur VVC, la liste prédéfinie de paramètres de codage peut comporter alors 32 valeurs de décalage pour un élément, par exemple un CTU.
[0021] Il peut être compris par déterminer une liste de paramètres de codage, la détermination d’au moins une liste de paramètres de codage strictement comprise dans au moins une liste prédéfinie de paramètres de codage. La liste de paramètres de codage peut comporter une indexation des paramètres de codage, par exemple de 0 à i, avec i entier positif inférieur strictement à N-1.
[0022] Par obtenir des deuxièmes informations à partir de deuxièmes données encodées dans le flux binaire, on entend le décodage de deuxièmes données encodées comprenant des deuxièmes informations. Ces deuxièmes informations peuvent donc être signalisées dans le flux binaire par l’encodeur à travers les deuxièmes données encodées. Ces deuxièmes informations permettent d’indiquer au décodeur le paramètre de codage à utiliser parmi les paramètres de codage de la liste déterminée pour la détermination d’un élément dans l’image restituée.
[0023] Puisque l’encodeur et le décodeur possèdent la même liste de paramètres de codage déterminée, lorsque l’encodeur signale le paramètre de codage à utiliser pour le décodage parmi la liste de paramètres de codage, le décodeur peut retrouver ce paramètre de codage parmi la même liste de paramètres de codage.
[0024] Par déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images (ou simplement déterminer un élément d’une image), on entend le fait de reconstituer les pixels contenus dans cet élément de l’image par l’application du paramètre de codage signalé dans la deuxième information. Le paramètre de codage est relatif à un type de traitement, par exemple une prédiction, intra ou inter, ou l’application d’un filtre SAO. Ainsi, la détermination de l’élément par un type de traitement spécifique, consiste à appliquer un paramètre de codage de ce type.
[0025] Il peut être compris par taille des deuxièmes données encodées une taille pouvant être définie par un nombre de bits. Les deuxièmes données encodées peuvent correspondre à un indice d’un paramètre de codage signalé dans le flux binaire par l’encodeur. Cet indice étant celui d’un des paramètres de codage compris dans la liste indexée de paramètres de codage déterminée par le décodeur. Le nombre de bits utilisés pour encoder l’indice est fonction du nombre de paramètres de codage dans la liste indexée déterminée.
[0026] Ainsi lors du décodage d’une image d’une séquence d’images, c’est-à-dire du décodage des éléments de cette image, pour chaque élément peut être signalé par les deuxièmes informations, l’indice d’un paramètre de codage à utiliser parmi un nombre réduit de paramètres de codage compris dans la liste de paramètres de codage déterminée par le décodeur. Le coût de signalisation en bits peut ainsi être diminué.
[0027] Avantageusement, la liste de paramètres de codage peut être déterminée par sélection de paramètres de codage dans la liste prédéfinie de paramètres de codage ou par sélection parmi une pluralité de listes prédéfinies de paramètres de codage.
[0028] Ainsi, soit la liste est déterminée par sélection des paramètres de codage au sein de la liste prédéfinie soit la sélection est réalisée en amont de l’obtention des premières informations et donc indépendamment de celles-ci, c’est-à-dire que plusieurs sous listes de paramètres de codage sont prédéterminée, la détermination de la liste consiste alors à sélectionner l’une de ces sous listes prédéterminées. Les sous listes de paramètres de codage prédéterminée sont des sous listes de la liste prédéterminée. Cela permet de réduire la taille des premières informations nécessaire pour déterminer la liste.
[0029] La sélection des paramètres de codage au sein de la liste prédéfinie permet d’adapter le nombre de paramètre de codage qui peuvent être utilisé en fonction de l’image et lorsque plusieurs listes sont déterminées par sélection dans la liste prédéfinie alors il est possible d’adapter le nombre de paramètres de codage en fonction des éléments. Ainsi, deux éléments d’une même image peuvent être encodés/décodés avec des listes déterminées de taille différente. Par exemple, les éléments d’une image encodés/décodés en intra d’une zone intra- refresh (dans le cadre d’un encodage intra-refresh) pourront être encodés/décodés au moyen d’une liste comportant plus de paramètre d’encodage que les éléments de l’image encodés/décodés en intra en dehors de la zone intra- refresh. [0030] Selon un ou plusieurs modes de réalisation, les premières données encodées et/ou les deuxièmes données encodées peuvent être comprises dans une partie signalisation du flux binaire. La partie signalisation peut permettre de simplifier le décodage d’une séquence vidéo en renseignant par exemple sur la structure des images, le type d’image, la résolution d’encodage, etc. La partie de signalisation générale du standard HEVC se compose d’un champ (également appelé NAL) « Video Parameter Set » (VPS), d’un champ « Sequence Parameter Set » (SPS), et d’un champ « Picture Parameter Set » (PPS). Le futur standard WC reprendrait au moins les champs SPS et PPS.
[0031] Le champ VPS comprend les informations relatives à la vidéo. Le champ VPS comprend par exemple une information concernant le « Profil », le « Level » et le « Tier » qui définissent des propriétés de décodage.
[0032] Le champ SPS comprend les informations relatives à la séquence d’images considérée. Toutes les images de la séquence utilisent en principe le même SPS. Le champ SPS comprend notamment des informations relatives aux outils de codage utilisés, ou encore des paramètres importants décrivant les propriétés de la séquence encodée (par exemple la taille des images).
[0033] Le champ PPS comprend des informations relatives à chaque image, même si plusieurs images peuvent faire référence au même PPS afin de réduire la taille de la signalisation. Le PPS comprend notamment des informations supplémentaires relatives aux outils de codage utilisés dans la ou les images qui s’y réfèrent (par exemple le « mode de prédiction intra »). C’est par exemple, dans ce champ PPS, que les premières et deuxièmes informations peuvent être signalisées.
[0034] Selon un autre exemple, les premières et deuxièmes informations peuvent être signalisées dans l’entête des tranches ou « slices » de l’image de la séquence d’images.
[0035] En outre, les premières données encodées et/ou les deuxièmes données encodées peuvent être signalisées selon un mécanisme de signalisation propre au type de paramètre de codage. [0036] Avantageusement, la liste de paramètres de codage peut être fonction de caractéristiques d’encodage d’éléments de l’image.
[0037] Ainsi, il est possible d’utiliser des listes déterminées différentes pour décoder des éléments de l’image en fonction des spécificités de ces éléments. Ainsi, une première liste peut être utilisée pour encoder/décoder un premier élément et une deuxième liste pour encoder/décoder un deuxième élément d’une même image. Pour cela il est possible de déterminer pour une image donnée (ou un groupe d’images données), sur la base des premières informations une pluralité de listes de paramètres de codage parmi lesquelles on vient sélectionner une liste en fonction des caractéristiques d’encodage de l’élément à décoder/encoder de cette image donnée. Les listes déterminées sont obtenues avant de procéder au décodage/encodage des éléments de l’image à décoder, c’est-à-dire que les listes déterminées sont obtenues avant le décodage d’un ensemble d’éléments de l’image. Au moment d’encoder/décoder un élément, une liste parmi la pluralité de listes déterminée pour l’image est sélectionnée en fonction des caractéristiques d’encodage de cet élément, ces caractéristiques d’encodage sont propres à l’élément à encoder/décoder. Les premières informations peuvent comporter les caractéristiques d’encodage des éléments. Dans les deux cas il est ainsi possible d’obtenir une grande liberté dans la détermination de la ou des listes de paramètres de codage pour s’adapter aux spécificités de chaque élément à encoder/décoder. Avantageusement, au moins deux listes sont déterminées et au moins deux éléments de l’image sont respectivement encodés/décodés avec des listes déterminées différentes.
[0038] Les caractéristiques d’encodage d’éléments de l’image sont propres à l’élément à encoder/décoder. Ils peuvent ainsi dépendre uniquement de cet élément, à savoir que si l’on change l’un des éléments de l’image à encoder/décoder l’on ne change pas les caractéristiques d’encodage de l’élément à encoder/décoder.
[0039] Avantageusement, les caractéristiques d’encodage d’éléments de l’image comprennent une taille d’élément et/ou un pas de quantification (QP) d’élément et/ou un type chromatique d’élément et/ou un type luminosité d’élément et/ou un type d’encodage intra d’élément et/ou un type d’encodage inter d’élément et/ou une taille de transformée et/ou un type de transformée et/ou un type de filtre.
[0040] Il peut être entendu par une taille d’élément une taille définie par un nombre de pixels, par exemple 64x64 pixels.
[0041] Par un type chromatique d’élément et un type luminosité d’élément, on entend une composante de luminosité dit « luma », Y, et une composante de couleur dite « chroma », U ou V, des pixels de l’élément.
[0042] Par type d’encodage intra d’élément, on entend que l’élément de l’image I est encodé en intra c’est-à-dire que l’élément n’est pas encodé à partir d’un élément d’une autre image que l’image I.
[0043] Par type d’encodage inter d’élément, on entend que l’élément de l’image I est encodé en Inter c’est-à-dire que l’élément est encodé au moins à partir d’un élément d’une autre image que l’image I.
[0044] Par un premier élément encodé à partir d’un deuxième élément, on entend que le mode de prédiction (Intra, Inter...) utilisé pour encoder le premier élément et qui est signalé dans les données encodées représentatives du premier élément vise ou indique d’utiliser le deuxième élément (c’est-à-dire les valeurs du deuxième élément une fois décodé) pour encoder le premier élément.
[0045] Il peut être compris par une taille de transformée, une taille de transformée en cosinus discrète (DCT) de 4x4, 8x8, 16x16, 32x32 ou 64x64 pixels.
[0046] Il peut être compris par un type de transformée, un type DCT-II ou un type DST-VII ou un type DCT-VIII.
[0047] Il peut être compris par type de filtre, un filtre de décalage adaptatif d’échantillon (sample adaptive offset, SAO) de type « contour » (« Edge ») ou « Bande » (« Band »), un filtre de déblocage « Deblocking Filter » ou un filtre de boucle adaptatif « Adaptive Loop Filtering, ALF ».
[0048] Avantageusement, la détermination de la liste de paramètres de codage peut se faire, par sélection dans la liste prédéfinie de paramètres de codage de paramètres de codage spécifiés par les premières informations. [0049] Ainsi, les premières informations obtenues par décodage des premières données encodées comprennent des informations indiquant explicitement les paramètres de codage à sélectionner. Par exemple, les premières informations comprennent une liste d’indices correspondant aux paramètres de codage de la ou les listes prédéfinies lorsque celles-ci sont indexées par exemple de 0 à N-1 , N étant un entier positif. Il s’agit ici d’un mode de gestion dit « explicite ». Ainsi dans le mode de gestion dit « explicit », des instructions peuvent indiquer explicitement les paramètres de codage que le décodeur peut sélectionner parmi une ou plusieurs listes prédéfinies de paramètres de codage permettant de constituer par exemple une première liste de paramètres de codage.
[0050] Avantageusement, les instructions peuvent indiquer plusieurs ensembles de paramètres de codage pour la détermination de plusieurs listes de paramètres de codage.
[0051] Avantageusement, la liste prédéfinie de paramètres de codage peut être indexée de 0 à N-1 , avec N un nombre de paramètres de codage dans la liste prédéfinie de paramètres de codage et dans lequel la détermination de la liste de paramètres de codage peut se faire par sélection sur la base des premières informations :
- des paramètres de codage de la liste prédéfinie d’indices k+n.m, avec n entier strictement positif et k entier positif ou nul et n+k inférieur ou égal à N-1 et m compris entre 0 et la partie entière par défaut de (N-k-1 )/n ; et,
- des paramètres de codage de la liste prédéfinie d’indices inférieurs strictement à k’ avec k’ entier positif ou nul inférieur ou égal à k.
[0052] Ainsi, il est possible de déterminer une ou plusieurs listes de paramètres de codage de manière simple et avec une signalisation de faible taille. Ainsi, il peut être possible de transmettre un minimum d’instructions dans les premières données pour limiter le coût de la signalisation global dans le flux binaire. De plus, une telle sélection dans la liste prédéfinie est régulière c’est-à-dire que les paramètres de codage sélectionnés sont répartis de manière régulière dans la liste prédéfinie. Ainsi, si le paramètre de codage (pi) de la liste prédéfinie qu’utiliserait l’encodeur/décodeur pour encoder/décoder l’élément n’a pas été sélectionné dans la liste déterminée utilisée pour encoder/décoder l’élément de l’image alors l’écart d’indice entre le paramètre de codage (pi) et le paramètre de codage (p2) de la liste déterminée effectivement utilisé par l’encodeur/décodeur pour encoder/décoder l’élément reste inférieur à n/2 et en tout cas inférieur à n. Or, de par l’ordonnancement des paramètres de codage, la différence entre des résidus obtenus avec deux paramètres de codage d’indices proches est en moyenne plus faible que la différence entre des résidus obtenus avec deux paramètres de codage d’indices plus éloignés. Ainsi, avec une liste déterminée par une telle sélection on obtient en moyenne des résidus plus proches de ceux qui auraient été obtenus en se servant de la liste prédéfinie. Ainsi, on réduit la quantité de données encodées nécessaires pour encoder les résidus des éléments de l’image tout en réduisant la signalisation nécessaire pour signaliser chaque paramètre de codage. De plus, ce type de sélection permet d’obtenir des listes déterminées dont la structure/construction est similaire à celle de la liste prédéfinie qui permet de ne pas s’éloigner trop de la construction de la liste prédéfinie. Ainsi, le codeur arithmétique CABAC sera moins impacté.
[0053] L’on sélectionne dans la liste prédéfinie les paramètres de codage d’indice k+n.m, avec m allant de 0 à la partie entière par défaut de (N-k-1 )/n. Le terme k peut permettre de définir un décalage dans la sélection des paramètres de codage.
[0054] Le mode de gestion permettant une telle sélection est appelé mode de gestion par « décimation ». Les entiers positifs k et n, ainsi qu’une information comme indiquant que le mode de gestion par « décimation » est activé suffisent au décodeur pour pouvoir déterminer une liste de paramètres de codage selon ce mode de gestion. Ainsi, les premières informations peuvent comprendre les entiers k, n. L’entier n représente un facteur de décimation permettant de sélectionner un paramètre de codage dans une liste prédéfinie de paramètres de codage tous les n paramètres de codages.
[0055] Selon un ou plusieurs modes de réalisation, n et m peuvent être déterminés en fonction d’un niveau hiérarchique de l’image par rapport aux images de la séquence d’images.
[0056] Par niveau hiérarchique de l’image par rapport aux images de la séquence d’images ou plus généralement d’un groupement d’images ou group d’images (GOP), il est entendu que dans le cas où les images d’un ensemble d’images utilisent des images précédemment codées, le niveau hiérarchique 0 est celui dont les images servent de références aux images encodées ensuite et qui utilisent lui- même uniquement des prédictions intra ou des images de niveau hiérarchique 0 ; le niveau hiérarchique 1 peut utiliser des images de niveau hiérarchique 0 ou 1 , et ainsi de suite. Les images de dernier niveau hiérarchique sont souvent référencées par aucune autre image.
[0057] Ainsi, les listes de paramètres de codage utilisées pour encoder/décoder chaque image peuvent donc comporter un nombre de paramètres de codage différent selon le niveau hiérarchique des images.
[0058] Avantageusement, la détermination de la liste de paramètres de codage peut se faire par sélection (sur la base des premières informations) des paramètres de codage de la liste prédéfinie en fonction de niveaux de fréquences d’utilisation des paramètres de codage de la liste prédéfinie.
[0059] Il est entendu par fréquences d’utilisation d’un paramètre de codage, le nombre de fois où ce paramètre de codage a été utilisé pour la détermination d’éléments d’images restituées précédentes. Plus précisément, le nombre de fois où ce paramètre de codage a été utilisé pour le décodage des éléments de l’image en cours de décodage et/ou des images précédentes.
[0060] Une telle sélection dans la liste prédéfinie permet de sélectionner les paramètres de codage les plus susceptibles d’être utilisés au regard des images précédentes. Ceci est pertinent aussi bien lorsque l’on encode/décode des éléments en intra qu’en inter. En effet, les prédictions spatiales avec des niveaux de fréquence d’utilisation élevés dans une image précédente sont plus susceptibles d’avoir des niveaux de fréquence d’utilisation élevés dans l’image en cours d’encodage/décodage. Ainsi, les paramètres de codage de la liste prédéfinie qu’utiliserait l’encodeur/le décodeur pour encoder/décoder les éléments de l’image en cours de traitement sont plus susceptibles d’être sélectionnés dans les listes déterminées. Ainsi, avec une liste déterminée par une telle sélection on obtient en moyenne des résidus plus proches de ceux qui auraient été obtenus en se servant de la liste prédéfinie. Ainsi, on réduit la quantité de données encodées nécessaires pour encoder les résidus des éléments de l’image tout en réduisant la signalisation nécessaire pour signaliser chaque paramètre de codage. [0061] À titre d’exemple, la sélection dans la liste prédéfinie en fonction des niveaux de fréquences d'utilisation peut se faire en sélectionnant les paramètres de codage avec un niveau de fréquences d’utilisation supérieur à un seuil ou en sélectionnant un nombre prédéfini de paramètres de codage ayant les niveaux de fréquences d’utilisation les plus élevées parmi les paramètres de codage de la liste prédéfinie.
[0062] Le mode de gestion permettant une telle sélection est appelé mode de gestion « histogramme ». Le seuil ou le nombre prédéfini de paramètres de codage ayant les niveaux de fréquences d’utilisation les plus élevées peuvent être compris dans les premières informations. Ainsi, les informations comprises dans les premières informations sont une information indiquant que le mode de gestion « histogramme » est activé ainsi que le seuil ou le nombre associé. Ainsi, ce mode de sélection nécessite peu de signalisation.
[0063] Avantageusement, la liste prédéfinie de paramètres de codage peut être indexée et la détermination de la liste de paramètres de codage peut se faire par sélection sur la base des premières informations :
- de paramètres de codage primaires spécifiés par les premières informations ; et
- de paramètres de codage secondaires tel qu’un indice de chaque paramètre de codage secondaire est compris dans \Jk[i(p)k - m¾ ; i(p)k + m¾] où i(p)k sont les indices des paramètres de codage primaires et pk sont des entiers strictement positifs spécifiés par les premières informations.
[0064] Ainsi, il est possible déterminer une ou plusieurs listes de paramètres de codage avec peu de signalisation. En effet, il est possible de transmettre un minimum d’instructions dans les premières données, et limiter le coût de signalisation global dans le flux binaire.
[0065] Certains paramètres de codage (les paramètres de codage primaire) sont explicitement indiqués dans les premières informations. La sélection des autres paramètres de codage (paramètres de codage secondaires) se fait en prenant les paramètres d’indice compris dans le voisinage des paramètres de codage primaires. Par exemple les paramètres d’indice [2(r),¾ - mk ; 2(p),¾ + m*] compris dans le voisinage du k ième paramètre de codage primaire. [0066] Le mode de gestion permettant une telle sélection est appelé mode de gestion « groupe ». Ainsi, les informations qui peuvent être comprises dans les premières informations pour mettre en œuvre une telle sélection sont une information indiquant que le mode de gestion « groupe » est activé ainsi que les indices des paramètres de codage primaires et les valeurs pk associés. Ainsi, ce mode de sélection nécessite peu de signalisation. Il est possible pour réduire encore la signalisation de donner la même valeur à tous les pk.
[0067] Avantageusement, la liste prédéfinie de paramètres de codage ou la pluralité de listes prédéfinies sont des listes prédéfinies de modes de prédiction ou des listes prédéfinies de valeurs de décalage d’un filtre.
[0068] Il peut être entendu par modes de prédictions, des modes intra ou inter permettant de déterminer un élément (autrement dit de déterminer les pixels de l’élément) d’une image à partir d’autres éléments appartenant à la même image pour les éléments encodés en intra et à partir d’élément d’autres images pour les éléments encodés en inter.
[0069] Il est entendu par valeur de décalage, une valeur pouvant être ajoutée à chaque pixel d’un élément résultant d’une prédiction intra ou inter afin de corriger les erreurs survenues lors de l’encodage (notamment celles relatives à la quantification).
[0070] Un deuxième aspect de l’invention concerne un procédé d’encodage d’un flux binaire vidéo correspondant à une séquence d’images qui peut comprendre:
- pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
- déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
obtenir un flux binaire vidéo comprenant :
- des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
- des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
[0071] Comme précédemment indiqué la liste de paramètres de codage peut comporter un nombre restreint de paramètres de codage permettant de réduire la taille de la signalisation des paramètres de codage et de réduire la quantité de calcul nécessaire pour encoder les éléments de l’image.
[0072] Par paramétrage d’encodage, il est entendu des données d’entrées de l’encodage. Par exemple les paramétrages d’encodage peuvent être :
- des instructions précisant les modes de gestion à utiliser,
- les caractéristiques d’encodage d’éléments, et/ou
- les modes de gestion à utiliser en fonction des caractéristiques d’encodage.
[0073] Par flux binaire vidéo, on entend le flux binaire résultant de l’encodage de la séquence d’images.
[0074] Par données encodées représentatives d’un ou plusieurs éléments, il est entendu les données comprises dans une séquence binaire et donc dans le flux binaire vidéo qui sont obtenues par encodage du ou desdits éléments. Il s’agit de données relatives à un élément de l’image issu du traitement vidéo appliqué à la séquence d’images. Ces données encodées comportent l’information sur la base de laquelle le décodeur décodera la séquence d’images encodées pour restituer l’élément de l’image.
[0075] Ces données encodées sont obtenues à partir de l’élément qu’elles représentent (par exemple, pour déterminer un résidu), mais également à partir d’autres éléments soit de l’image (prédiction Intra) soit d’autres images du flux vidéo (prédiction Inter). Autrement dit, les données encodées représentatives d’un premier élément sont obtenues à partir d’un deuxième élément lorsque le mode de prédiction (ou plus généralement le paramètre de codage) utilisé pour encoder le premier élément et qui est signalé dans les données encodées représentatives du premier élément vise ou indique d’utiliser le deuxième élément (c’est-à-dire les valeurs du deuxième élément une fois décodé) pour encoder le premier élément.
[0076] Les données encodées peuvent comporter les deuxièmes informations encodées. Les deuxièmes données peuvent correspondre à la signalisation du paramètre de codage à utiliser pour la détermination de l’élément de l’image à restituer lors du décodage. Par exemple, les deuxièmes données encodées peuvent comprendre l’indice du paramètre de codage à utiliser parmi les indices de la liste de paramètres de codage, qui est la même que ce soit pour l’encodeur ou le décodeur.
[0077] À titre d’exemple, ces données encodées représentatives peuvent comporter l’indice d’un mode de prédiction ainsi qu’un résidu encodé après quantification et représentant la différence entre les valeurs d’un élément prédictif et l’élément de l’image.
[0078] Un troisième aspect de l’invention concerne un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie des procédés décrit ci-avant, lorsque ce programme est exécuté par un processeur.
[0079] Un quatrième aspect de l’invention concerne un dispositif de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
- un processeur; et
- un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
- obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
- déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
- déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence, et dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage. [0080] Un cinquième aspect de l’invention concerne un dispositif d’encodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
- un processeur; et
- un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
- pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
- déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir un flux binaire vidéo comprenant :
- des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
- des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
Brève description des dessins
[0081] D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels :
[0082] [Fig. 1 a] illustre un exemple d’élément utilisé pour l’encodage ou le décodage d’une image selon un mode de réalisation.
[0083] [Fig. 1 b] illustre un exemple du nombre de modes de prédiction intra angulaires disponibles pour un encodeur ou décodeur suivant un standard de compression de type MPEG, par exemple le futur standard WC.
[0084] [Fig. 2] illustre le procédé de décodage proposé selon un ou plusieurs modes de réalisation.
[0085] [Fig. 3a] illustre un exemple de structure de groupement d’images dit « GOP ». [0086] [Fig. 3b] illustre un autre exemple de structure de groupement d’images dit « GOP ».
[0087] [Fig. 4a] illustre un exemple de mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation.
[0088] [Fig. 4b] illustre un exemple de mise en œuvre du procédé proposé selon un ou plusieurs modes de réalisation.
[0089] [Fig. 5] illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « explicit ».
[0090] [Fig. 6a] illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « décimation ».
[0091] [Fig. 6b] illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « décimation ».
[0092] [Fig. 7] illustre des exemples non limitatifs de mise en œuvre du procédé proposé lorsque le mode gestion est dit « histogramme ».
[0093] [Fig. 8] illustre un exemple non limitatif de mise en œuvre du procédé proposé lorsque le mode gestion est dit « groupe ».
[0094] [Fig. 9] illustre le procédé d’encodage proposé selon un ou plusieurs modes de réalisation.
[0095] [Fig. 10] illustre un exemple de dispositif d’encodage et un exemple de dispositif de décodage d’une séquence d’images pour la mise en œuvre du procédé proposé.
Description des modes de réalisation
[0096] Les modes de réalisation d’un support lisible par ordinateur incluent, de manière non exhaustive, des supports de stockage informatique et des supports de communication, y compris tout support facilitant le transfert d’un programme d’ordinateur d’un endroit vers un autre. Par «support(s) de stockage informatique», on entend tout support physique pouvant être accédé par ordinateur. Les exemples de support de stockage informatique incluent, de manière non limitative, les disques ou composants de mémoire flash ou tous autres dispositifs à mémoire flash (par exemple des clés USB, des clés de mémoire, des sticks mémoire, des disques-clés), des CD-ROM ou autres dispositifs de stockage optique de données, des DVD, des dispositifs de stockage de données à disque magnétique ou autres dispositifs de stockage magnétique de données, des composants de mémoire de données, des mémoires RAM, ROM, EEPROM, des cartes mémoires («smart cards»), des mémoires de type SSD («Solid State Drive»), et toute autre forme de support utilisable pour transporter ou stocker ou mémoriser des données ou structures de données qui peuvent être lues par un processeur d’ordinateur.
[0097] En outre, diverses formes de support lisible par ordinateur peuvent transmettre ou porter des instructions vers un ordinateur, tel qu’un routeur, une passerelle, un serveur, ou tout équipement de transmission de données, qu’il s’agisse de transmission filaire (par câble coaxial, fibre optique, fils téléphoniques, câble DSL, ou câble Ethernet), sans-fil (par infrarouge, radio, cellulaire, microondes), ou des équipements de transmission virtualisés (routeur virtuel, passerelle virtuelle, extrémité de tunnel virtuel, pare-feu virtuel). Les instructions peuvent, selon les modes de réalisation, comprendre du code de tout langage de programmation informatique ou élément de programme informatique, tel que, sans limitation, les langages assembleur, C, C++, Visual Basic, HyperText Markup Language (HTML), Extensible Markup Language (XML), HyperText Transfer Protocol (HTTP), Hypertext Preprocessor (PHP), SQL, MySQL, Java, JavaScript, JavaScript Object Notation (JSON), Python, et bash scripting.
[0098] De plus, les termes «notamment», «par exemple», «exemple», «typiquement» sont utilisés dans la présente description pour désigner des exemples ou illustrations de modes de réalisation non limitatifs, qui ne correspondent pas nécessairement à des modes de réalisation préférés ou avantageux par rapport à d’autres aspects ou modes de réalisation possibles.
[0099] Les données vidéo font en général l’objet d’un codage source visant à les compresser afin de limiter les ressources nécessaires à leur transmission et/ou à leur stockage. Il existe de nombreux standards de codage, tels que le H.264/AVC, H.265/HEVC, MPEG-2, ou encore le futur standard de compression WC (h.266), qui peuvent être utilisés à cette fin. [0100] Dans les schémas de compression vidéo classique, les images d’une séquence vidéo ou d’un flux vidéo sont considérées séquentiellement. Chaque image de la séquence vidéo peut être divisée par exemple en tranche (ou « slice » en anglais). Ces tranches peuvent représenter une portion de l’image. Les tranches peuvent être aussi divisées en éléments de taille fixe, par exemple 16x16, 32x32, 64x64, ou 128x128 pixels, pour le futur standard VVC. À titre d’exemple, les éléments peuvent être des macroblocs, des CTU (coding tree unit), ou encore CTB (coding block unit). Chaque élément peut être de plus divisé en éléments plus petits de taille fixe 4x4, 8x8, 16x16, 32x32, 64x64, ou 128x128 pixels. Ces éléments de taille plus petite peuvent être par exemple des blocs, des CU (coding unit), des CB (coding block), des « prédiction unit » (PU), des « predict block » (PB), des « transform unit » (TU), ou encore des « transform block » (TB). Un des objectifs du partitionnement de l’image en élément, eux même pouvant être divisés en éléments, est de permettre d’adapter et d’affiner les types de traitement à appliquer sur chaque élément de l’image.
[0101] On entend par type de traitement, une ou plusieurs opérations de traitements de données effectuées sur les données vidéo lors de l’encodage ou décodage. Par exemple, lors de l’encodage d’une image, les éléments de l’image peuvent être traités selon le type de traitement dit « prédiction intra ». Ce type de traitement permet de prédire les éléments, par exemple des CU ou CB, d’une image à encoder. La prédiction vise l’exploitation des différentes corrélations existantes entre les pixels des images d’une séquence vidéo. Cette corrélation peut-être spatiale dite « prédiction intra », c’est-à-dire entre des pixels d’une même image en cours de codage, ou elle peut être temporelle dite « prédiction inter », c’est-à-dire entre les pixels d’une image en cours de codage et les pixels des images précédemment codées.
[0102] La prise en compte des pixels voisins peut être réalisée suivant différentes configurations, et chaque configuration constitue un paramètre de codage spécifique pour le type de traitement dit « prédiction intra » par exemple. Ainsi, ce paramètre de codage peut être un mode de prédiction selon une certaine direction.
[0103] Par exemple, la figure 1a illustre un élément 100, par exemple un CU ou un PB ou encore un MB, traité à partir d’un type de traitement, par exemple une prédiction intra, suivant un paramètre de codage donné, par exemple un mode de prédiction intra selon une certaine direction 103. Selon cet exemple, un élément 100 de taille 4x4 pixels peut être entouré par un ensemble de pixels 101 ,102 déjà encodés (respectivement décodés) appartenant aux éléments voisins.
[0104] La figure 1 b illustre un exemple des paramètres de codage disponibles pour encoder les éléments en intra, et notamment pour encoder l’élément 100 dans le cas du futur standard WC. Au total, 67 paramètres de codage (non représentés en totalité sur la figure 1 a) peuvent être disponibles pour la prédiction intra de l’élément 100.
[0105] À partir des paramètres de codages disponibles pour le type de traitement dit prédiction intra, l’encodeur peut sélectionner le paramètre de codage optimal (c’est-à-dire le paramètre de codage permettant d’obtenir l’élément prédit 100 le plus proche de l’élément de l’image), et prédire l’ensemble des pixels de l’élément 100 en fonction des pixels 101 , 102. Pour une prédiction intra selon un mode de prédiction vertical 103, les pixels utilisés peuvent être les pixels de la rangée de pixels 101.
[0106] L’élément 100 prédit est ensuite comparé à l’élément originel de l’image en cours de traitement afin de générer un résidu représentant la différence entre les deux éléments. Ce résidu peut être ensuite transformé, par exemple par DCT (transformée discrète de Fourier), puis quantifié avant son encodage dans le flux binaire.
[0107] Lors du décodage de l’élément encodé en intra d’une image à restituer, le décodeur reconstruit l’élément prédit avec le même paramètre de codage utilisé pour l’encodage de l’élément par l’encodeur et sur la base des pixels 101 et 102 préalablement décodés. Le résidu est de plus ajouté à l’élément prédit afin de combler les différences existantes entre l’élément prédit et l’élément originel. Cette opération peut être répétée pour tous les éléments de chaque image de la séquence vidéo.
[0108] Selon un autre exemple, après l’encodage en intra ou inter d’un élément, une valeur de décalage dit « offset » peut être ajoutée à une sélection d’un élément, par exemple un CTU ou CTB, lors du traitement faisant intervenir l’application d’un filtre SAO. En effet, après une prédiction intra ou inter suivi d’une quantification, l’élément reconstruit de l’image en cours de décodage peut présenter des distorsions. Pour les corriger, une valeur de décalage peut être ajoutée à la valeur de chaque pixel d’une sélection de l’élément selon l’un des modes d’applications du filtre SAO (ou types de filtre SAO). Cette valeur peut être déterminée par l’encodeur au cours de l’encodage de l’image de la séquence d’images puis signalisée dans le flux binaire, par exemple au niveau du premier élément syntaxique de chaque CTU pour le standard HEVC ou le futur WC. La signalisation de cette valeur de décalage peut être effectuée par rapport à une liste prédéfinie de valeurs de décalage. Selon le standard de compression, le nombre de valeurs peut être différent. Par exemple, dans le cas des standards MPEG et WC, lorsque l’encodage des pixels est effectué sur 10 bits, la liste prédéfinie de valeur de décalage comprend 32 valeurs de décalage. Ainsi, le coût de la signalisation de la sélection d’une valeur de décalage parmi 32 valeurs de décalage pour chaque élément peut être relativement important. En 8 bit, cette liste comprend 8 valeurs.
[0109] Ainsi, pour chaque type de traitement utilisé lors de l’encodage ou du décodage vidéo, par exemple pour une prédiction intra, une prédiction inter ou pour l’application d’un filtre SAO, un certain nombre de paramètres de codage peuvent être associés à chacun de ces types de traitement.
[0110] Lors de l’encodage ou décodage d’un élément par exemple, suivant le type de traitement, il peut être nécessaire pour l’encodeur ou le décodeur de tester tous les paramètres de codages pour déterminer le paramètre de codage optimal pour un type de traitement donné. La détermination peut être effectuée sur la base d’une ou plusieurs métriques associées à ce type de traitement. Par exemple, lorsque le type de traitement est une prédiction intra, la métrique est le taux de distorsion combiné au débit de signalisation associé au sein d’un critère dit coût débit-distorsion. Ainsi, l’encodeur sélectionne le paramètre de codage présentant le plus faible coût débit-distorsion pour l’élément en cours de traitement parmi tous les modes de prédiction intra disponibles.
[0111] Certains types de mécanismes, par exemple pour les standards de compression de type MPEG, permettent de réduire ou supprimer le nombre de tests à effectuer pour chaque paramètre de codage. Certains autres types de mécanismes permettent quant à eux de réduire le coût en bits de signalisation pour chaque élément encodé.
[0112] Malgré l’utilisation de différents types de mécanismes ceux-ci sont insuffisants, notamment dans un cadre de sous-utilisation de l’ensemble des paramètres de codage à disposition et d’autant plus au regard des nouvelles applications toujours plus exigeantes. Ceci est vrai que la sous-utilisation soit volontaire, du fait d’une mise en œuvre spécifique, ou bien liée au contenu et à un point de fonctionnement donné de l’encodeur.
[0113] En effet, lors de l’encodage ou décodage d’une séquence vidéo, un compromis doit être trouvé entre plusieurs aspects, comme par exemple, le débit, la qualité (distorsion), le temps d’encodage, et la consommation d’énergie. Cette recherche du compromis peut être dépendante de l’application, par exemple l’encodage en temps réel d’un flux vidéo (sport ou émission TV en direct live par exemple), ou au contraire de l’encodage ou décodage d’une séquence vidéo destinée à être stockée sur des mémoires externes, ou encore par exemple selon une contrainte de faible consommation.
[0114] Par exemple, d’un point de vue débit-distorsion ou coût global en débit, le fait d’avoir un nombre élevé de paramètres de codages par type de traitement peut apporter un gain de façon globale sur l’efficacité d’encodage ou décodage, mais ce gain peut varier selon par exemple le type d’image (I, P ou B) ou encore le contenu des images. Ainsi dans certaines situations, un nombre élevé de paramètres de codage pour un type de traitement peut devenir contre-productif du fait de la non-pertinence d’une large partie des paramètres de codage pouvant être utilisée pour une image donnée au regard du surcoût de codage lié à la signalisation d’un paramètre de codage parmi davantage de paramètres de codage.
[0115] D’un point de vue temps d’encodage/décodage et consommation de ressources matérielles au regard du compromis débit-qualité, le nombre élevé de paramètres de codage pour un type de traitement donné peut devenir une contrainte très forte pour l’implémentation d’encodeur et décodeur temps réel par exemple. [0116] La figure 2 illustre le procédé proposé selon un ou plusieurs modes de réalisation. Ce procédé peut être mis en œuvre par tout dispositif comprenant un processeur et une mémoire, et configuré pour sa mise en œuvre, tel que par exemple, un décodeur vidéo, ou tout équipement configuré pour le décodage d’une séquence vidéo.
[0117] A l’étape 11 , le dispositif 500 obtient des premières informations à partir de premières données encodées contenues dans le flux binaire. Ce flux binaire peut être encodé selon par exemple les standards de type MPEG, comme le standard HEVC ou le futur standard WC. Par exemple, les premières informations peuvent être signalisées dans la partie signalisation du flux binaire, par exemple le PPS. Les premières informations encodées dans des premières données peuvent être des instructions à destination du décodeur définissant les modes de gestion permettant la détermination de listes de paramètres de codage selon différentes règles de sélection. Les premières données peuvent être signalisées au niveau de la partie de signalisation du flux binaire par exemple le PPS, ou les « entêtes de tranches » (slice headers). Ce champ PPS peut contenir des premières informations relatives à une ou plusieurs images encodées. Le rattachement de plusieurs images à un seul PPS contenant l’utilisation d’au moins un mode de gestion de listes peut réduire le coût de signalisation global.
[0118] À titre d’exemple, le décodeur peut sur décodage des premières données encodées obtenir une instruction d’activation du procédé, par exemple « intra_adaptive_subset_enabled_flag», et sur décodage de l’instruction « intra_adaptive_subset_mode » déterminer le mode de gestion à utiliser. Ce mode de gestion à utiliser peut être celui que l’encodeur a utilisé pour encoder les éléments d’une ou plusieurs images de la séquence d’images.
[0119] Selon un exemple, les instructions
« intra_adaptive_subset_enabled_flag=1 » et « intra_adaptive_subset_mode=2 », indiquent par la valeur 1 au décodeur de mettre en œuvre le procédé, et d’utiliser le mode de gestion numéro 2 par la valeur 2.
[0120] A l’étape 12, le dispositif 500 détermine une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage. [0121] A partir, par exemple, des instructions définies par les premières informations encodées dans les premières données encodées qui peuvent être comprises dans la partie signalisation du flux binaire, le décodeur peut déterminer, selon un mode de gestion, une liste de paramètres de codage sélectionnés parmi une liste prédéfinie de paramètres de codage.
[0122] Par exemple, la liste prédéfinie de paramètres de codage peut être une liste de modes de prédiction (intra ou inter). Selon un autre exemple, la liste prédéfinie de paramètres de codage peut-être une liste d’ « offset ».
[0123] A l’étape 13, le dispositif obtient des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage.
[0124] Ainsi, la liste de paramètres de codage pouvant être incluse strictement dans la liste prédéfinie de paramètre de codage, la liste de paramètres de codages peut contenir un nombre réduit de paramètres de codage. La signalisation d’un paramètre de codage, sélectionné par l’encodeur, parmi la liste déterminée de paramètres de codage peut permettre que les deuxièmes données correspondant à l’encodage de cette signalisation soient encodées sur un nombre de bits réduit.
[0125] A l’étape 14, le dispositif détermine un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence.
[0126] Ainsi, la détermination d’un élément d’une image restituée effectuée avec un paramètre de codage contenu dans une liste restreinte de paramètres de codage peut permettre une optimisation du coût de signalisation, mais tout en maintenant des paramètres de codage pertinents dans une ou plusieurs listes de paramètres de codage.
[0127] L’utilisation d’une ou plusieurs listes de paramètres de codage pour la détermination d’éléments d’une image restituée peut être conditionnée par les caractéristiques d’encodage d’élément de l’image. Les caractéristiques d’encodage peuvent être la taille des éléments, le type d’encodage intra et/ou inter, le pas de quantification, etc. Les caractéristiques d’encodage relatives aux éléments d’une ou plusieurs images peuvent être incluses dans les premières informations. Lors de l’encodage des éléments de l’image, l’encodeur peut encoder le paramètre de codage sélectionné permettant la détermination de l’élément de l’image reconstitué par le décodeur,
[0128] Lors du décodage des premières données, le décodeur peut obtenir les caractéristiques d’encodage des éléments d’image, et ainsi déterminer les listes de paramètres de codage propres à ces caractéristiques d’encodage d’éléments d’image. En fonction de leurs caractéristiques d’encodage, les éléments d’images encodés peuvent être déterminés sur la base d’une ou plusieurs listes de paramètres d’encodage répondant à ces caractéristiques.
[0129] Par exemple, si la caractéristique d’encodage est la taille en pixels de l’élément. Lors de l’encodage d’une image, une première liste déterminée de paramètres de codage peut être utilisée pour encoder un élément ayant une taille inférieure ou égale à une première valeur. Une deuxième liste déterminée de paramètre de codage peut être utilisée pour encoder un élément ayant une taille d’éléments supérieure à cette première valeur.
[0130] Il peut être aussi possible de définir une plage de valeurs de taille pour chaque liste de paramètres de codage. Par exemple, une première liste de paramètres de codage peut être utilisée pour des tailles d’éléments de l’image de 16x16 pixels, et la deuxième liste utilisée pour des tailles d’éléments de cette même image supérieures à 32x32 pixels.
[0131] Les caractéristiques d’encodage d’éléments d’image peuvent comprendre des caractéristiques chromatiques ou des caractéristiques de luminosité d’un élément. En effet, les pixels de chaque élément d’une image peuvent être décomposés en deux composantes. Une première composante relative aux caractéristiques de luminosité est dite « luma » et peut définir la luminosité du pixel. Une deuxième composante relative aux caractéristiques chromatique dit « chroma » peut définir la couleur du pixel, classiquement elle est constituée de deux composantes chroma U et chroma V. Par exemple, pour une même image, une première liste déterminée de paramètres de codage peut être utilisée exclusivement pour les composantes luma, et une deuxième liste déterminée de paramètres de codage peut être utilisée exclusivement pour les composantes chroma.
[0132] Ainsi pour un élément d’image, le choix d’un paramètre de codage, par exemple un mode de prédiction, que ce soit pour l’encodage ou décodage de l’élément de cette image est effectué selon une première liste pour les composantes chroma et une deuxième liste pour les composantes luma.
[0133] Les caractéristiques d’encodage d’éléments d’image peuvent comprendre des pas de quantification.
[0134] Les caractéristiques d’encodage d’éléments d’image peuvent comprendre le type d’encodage de l’élément ou le type d’encodage de l’image à encoder au sein d'un « group of picture » (GOP). Une première liste déterminée de paramètres de codage peut être utilisée exclusivement pour l’encodage d’images de type intra, c’est-à-dire pour lesquelles les éléments sont encodés en intra. Une deuxième liste déterminée de paramètres de codage peut être utilisée pour l’encodage exclusivement d’images de type prédictif (P), c’est-à-dire pour lesquelles les éléments peuvent être encodés en intra et en inter. Une troisième liste peut être utilisée pour l’encodage d’image de type bi-prédictif (B), c’est-à-dire pour lesquelles les éléments peuvent être encodés en intra et en inter utilisant plusieurs images de références.
[0135] Selon un autre exemple, une même liste déterminée de paramètres de codage peut être utilisée pour l’encodage d’un même type d’encodage d’éléments d’image ne se trouvant pas dans les mêmes GOP. Par exemple, une même liste de paramètres de codage utilisée pour deux images intra situées respectivement dans deux GOP séparés.
[0136] En effet, lors de l’encodage de séquence vidéo, dans les schémas de compression actuels par exemple de type MPEG, les images traitées selon un ou plusieurs types de traitement associés à des paramètres de codage respectifs sont encodées au sein de groupement d’images ou « group of picture » (GOP). Le GOP définit l’ordre dans lequel peuvent être disposées les images à prédiction intra (spatiale) et les images à prédiction inter (temporelle). Les GOP sont des éléments clés dans la compression d’une séquence vidéo, puisqu’ils permettent de grouper les images dépendantes des unes des autres.
[0137] Chaque GOP peut contenir, suivant le type de structure du GOP, une succession d’images encodées de type intra, prédictif, et bidirectionnel, et la première image d’un GOP est généralement une image de type intra afin de permettre de démarrer le décodage du GOP. Lors du décodage d’un GOP d’une séquence vidéo, chaque image est générée à partir des images encodées dans ce GOP.
[0138] Les figures 3a et 3b illustrent des exemples de deux structures classiques d’ensemble d’images ou GOP (« group of pictures » en anglais) constituant une séquence vidéo à encoder.
[0139] La première structure est une structure de type IP, soit une alternance d’images de type intra et d’images de type prédictif. Des images de type intra sont placées régulièrement, par exemple toutes les 4 images dans le cas présent, afin de rafraîchir la prédiction et de permettre d’accéder au flux notamment. Ainsi, selon cet exemple, l’image de type prédictif 401 est prédite, selon la prédiction inter, à partir des données d’image de l’image de type intra 400, par l’intermédiaire d’une compensation de mouvement signalée par des informations de mouvements basées par exemple sur un vecteur de mouvement et une image de référence.
[0140] La seconde structure de GOP représentée est une structure IBP, soit une alternance d’images de type intra (I), d’images de type prédictif (P), et d’images de type bidirectionnel (B). Ainsi dans ce type de structure, l’image de type prédictif 411 est prédite à partir des données d’image de l’image de type intra 410, et l’image de type bidirectionnel 420 est prédite à partir des données d’image des images de type intra 412 et de type prédictif 413, par l’intermédiaire, comme précédemment, d’une compensation de mouvement. Ce type de structure a l’avantage de permettre que les images de type bidirectionnel (B) peuvent utiliser une prédiction inter venant de deux images de directions temporelles opposées et ainsi améliorer l’efficacité de cette prédiction, et par conséquent l’efficacité de compression des données vidéo. [0141] Selon un autre exemple non représenté, un GOP peut présenter une structure de type pyramidale, où chaque image du GOP est définie en plus par un niveau hiérarchique ou level ou temporaljd en anglais.
[0142] Lors du décodage du GOP, le décodeur décode les premières données dans la partie signalisation, par exemple le PPS (« picture parameter set ») du flux binaire, afin d’obtenir les premières informations lui permettant de connaître les caractéristiques d’encodage des éléments de l’image de la séquence d’images, par exemple la structure de GOP comportant une alternance d’image de type intra, de type prédictif, ou de type bidirectionnel.
[0143] Une première liste de paramètres de codage déterminée peut être utilisée uniquement pour l’encodage ou décodage d’une ou plusieurs images de type intra, et pour une taille d’éléments supérieure à une valeur définie. Une deuxième liste de paramètres de codage déterminée peut être utilisée pour des images de type P ou B.
[0144] Il est possible qu’un même paramètre de codage appartienne à plusieurs listes de paramètres de codage.
[0145] La figure 4a présente un décodeur mettant en œuvre le procédé sur la base d’un standard de compression de type MPEG, par exemple HEVC ou le futur standard WC.
[0146] Sur réception d’un flux binaire 506 généré par un encodeur mettant en œuvre le procédé, le décodeur 500 décode des premières données relatives à des premières informations, par exemple des instructions correspondant à un ou plusieurs modes de gestion pour la détermination d’une ou plusieurs listes de paramètres de codage. Ces instructions définies par exemple dans le PPS ou le « slice headers » peuvent être utilisées pour la détermination d’éléments d’une image, ou pour un ensemble d’images de la séquence d’images, par exemple un GOP ou des images présentant les mêmes caractéristiques d’encodage d’éléments d’images.
[0147] Ainsi, à partir des instructions définies dans les premières informations, le décodeur 500 détermine une ou plusieurs listes de paramètres de codage sur la base d’une ou plusieurs listes prédéfinies de paramètres de codage que le décodeur possède dans sa mémoire. Ces listes déterminées de paramètres de codage sont identiques à celles que l’encodeur a déterminé pour l’encodage des éléments d’images de la séquence d’image. En effet, à partir des premières informations, le décodeur peut déduire le paramétrage de l’encodeur, et ainsi les différents modes de gestion qui peuvent être utilisés.
[0148] Lorsque le décodeur décode un élément, il détermine les caractéristiques d’encodage de cet élément pour en déduire la liste déterminée à utiliser parmi les listes déterminées. Ensuite il décode les deuxièmes données relatives aux deuxièmes informations. Ces deuxièmes informations renseignent sur l’indice du paramètre de codage à utiliser parmi la liste déterminée de paramètres de codage à utiliser pour la détermination de l’élément à décoder. Ce processus peut être répété pour tous les éléments des images de la séquence d’images afin de générer 507 en sortie une séquence d’images.
[0149] Dans le cas où les paramètres de codage sont des modes de prédiction intra, pour une image à décoder, à partir des premières données encodées dans le flux binaire 506, le décodeur détermine une ou plusieurs listes de modes de prédiction intra qui sont identiques à celles utilisées pour l’encodage de cette image. Une liste peut être déterminée pour être utilisée pour la détermination d’éléments d’images encodées selon des caractéristiques de type intra, c’est-à- dire des éléments d’une image de type intra, et pour les éléments de taille 16x16 pixels, alors un élément encodé selon ces caractéristiques, c’est-à-dire encodé dans une image de type intra (ou image intra) et ayant une taille de pixels de 16x16 pixels, peut alors être prédit (déterminé) sur la base de cette liste de modes de prédiction. À partir des deuxièmes informations encodées le décodeur identifie l’indice du paramètre de codage de la liste déterminée à utiliser pour le décodage de l’élément à décoder.
[0150] La figure 4b illustre une mise en œuvre du procédé dans un ou plusieurs modes de réalisation du côté de l’encodeur. Ainsi, un encodeur 501 reçoit une séquence d’images 502 à encoder. L’encodeur reçoit de plus des données d’entrée 503 permettant le paramétrage de l’encodage. Ces données d’entrée peuvent contenir des instructions, qui peuvent signaler, entre autres, la mise en œuvre du procédé, le mode de gestion à utiliser, les caractéristiques d’encodage d’éléments d’images, et/ou l’utilisation des listes de paramètres de codage en fonction des caractéristiques d’encodage.
[0151] Au cours du processus d’encodage, l’encodeur 501 peut générer ensuite un flux binaire comprenant les éléments d’images encodés 504. Le flux binaire 504 peut comprendre aussi les données d’entrée ayant servi pour l’encodage des éléments d’images et qui peuvent permettre au décodeur de correctement les décoder. Ces données d’entrée peuvent être encodées dans les premières données situées dans la partie signalisation du flux binaire, par exemple PPS.
[0152] De plus, les indices des paramètres de codage utilisés pour l’encodage des éléments d’image peuvent être signalisés par encodage dans les deuxièmes données situées dans la partie signalisation du flux binaire 504.
[0153] L’obtention d’un élément prédictif au moyen du paramètre de codage optimal ou pertinent permet de calculer comme précédemment décrit au calcul d’un résidu, qui peut être ensuite transformé, par exemple par DCT, puis quantifié selon un pas de quantification. Après la quantification, les données issues de l’encodage peuvent être encodées dans le flux binaire 504 dit « bitstream ».
[0154] La figure 5 illustre, un exemple de mode de gestion mise en œuvre par le procédé pour la détermination d’un élément d’une image en cours d’encodage ou de décodage. Ainsi, lorsque le mode de gestion est un mode de gestion dit « explicit », le décodeur 500 détermine, à partir des instructions contenues dans les premières informations définissant ce mode de gestion, une ou plusieurs listes de paramètres de codage. Les instructions peuvent par exemple lister explicitement un premier ensemble d’indices de paramètres de codage. Une deuxième liste peut lister explicitement un deuxième ensemble d’indices de paramètres de codage. Une troisième liste peut lister explicitement un troisième ensemble d’indices de paramètres de codage, etc. Les instructions peuvent, de plus, spécifier des caractéristiques d’encodage d’éléments pour lesquelles ces listes prédéfinies d’indices de paramètres de codage doivent être utilisées.
[0155] Sur lecture des instructions définissant le premier ensemble d’indices de paramètres de codage, et à partir de la liste prédéfinie 600 de paramètres de codage LP comportant N-1 paramètres de codage, le décodeur 500 détermine 603 la première liste LI_E1 par sélection des paramètres de codage selon les indices définis dans le premier ensemble d’indices. Ici, 3 indices de paramètres de codage sont définis dans les instructions pour la première liste. Les indices peuvent se référer à la liste prédéfinie LP 600. Par exemple l’indice 3 pour le paramètre de codage p3, l’indice 2 pour le paramètre de codage P2, et l’indice 5 pour le paramètre de codage p5. Ainsi, la première liste indexée LI_E1 601 peut être déterminée 603 et comportant un premier indice 0 correspondant au paramètre de codage p3, un indice 1 correspondant au paramètre de codage P2, et un indice 2 correspondant au paramètre de codage ps.
[0156] En fonction des instructions comprises dans les premières informations, le décodeur 500 peut déterminer 603 une deuxième liste indexée de paramètres de codage LI_E2 604 sur la base de la liste prédéfinie LP 600. Par exemple, les instructions peuvent définir un deuxième ensemble d’indices de paramètres de codage comportant 5 paramètres de codages p3, P4, P7, Ps, P10 associés respectivement aux indices 3, 4, 7, 8 et 10 dans la liste prédéfinie de paramètres de codage. À partir de ces instructions, le décodeur 500 peut déterminer une liste indexée LI_E2 comportant les paramètres de codage P3, P4, P7, Ps, P10 associés respectivement aux indices 0, 1 , 2, 3, 4.
[0157] L’utilisation de la première et/ou deuxième liste pour la détermination des éléments de l’image à restituer peut être fonction des caractéristiques d’encodage des éléments de l’image qui peuvent être signalisés dans les instructions comprises dans les premières informations. Par exemple, la première liste LI_E1 peut être utilisée pour la détermination d’éléments encodés en intra (prédiction spatiale), et la deuxième liste LI_E2 peut être utilisée pour la détermination d’éléments encodés en inter (prédiction temporelle) (notamment par exemple lorsque les paramètres de codages sont des valeurs de décalage dites « offset »).
[0158] La détermination d’une multitude de listes déterminées de paramètres de codage peut permettre, en contraignant leur utilisation aux caractéristiques d’encodage d’éléments d’images, une grande adaptabilité des paramètres de codage possibles pour l’encodage des éléments d’une image d’une séquence d’images tout en maintenant un faible coût de signalisation. [0159] La figure 6a illustre, un exemple de mode de gestion de paramètres de codage par « Décimation ». Le décodeur 500 détermine au moins une liste indexée 702 en sélectionnant des paramètres de codage dans les listes préfinies de paramètres de codage 700 (par exemple une liste de 67 modes de prédiction intra).
[0160] A partir des informations comprises dans les premières informations, le décodeur 500 obtient une information du fait que le mode de gestion dit « décimation » est activé et les valeurs des paramètres de décalage k de sélection et du facteur de décimation n. Comme indiqué précédemment ces informations permettent au décodeur 500 de déterminer une liste de paramètres de codage par sélection des indices k+n.m dans une liste prédéfinie de paramètre de codage. Les informations peuvent aussi comprendre en plus ou en remplacement de k et n, un niveau hiérarchique de l’image à décoder dans la structure du GOP défini par un nombre entier L. Dans le cas de la figure 6a, la valeur de n est égale à 2 et la valeur de k est égale à 1.
[0161] Ainsi le décodeur 500 détermine la liste LI_D1 indexée selon une nouvelle indexation 702 et où chaque indice de cette liste LI_D1 est associé à un paramètre de codage obtenu suivant la sélection d’un paramètre de codage sur deux dans la liste prédéfinie de paramètre de codage 700.
[0162] Ensuite lors du décodage des éléments de l’image, le décodeur 500 peut utiliser les listes déterminées par décimation en fonction des caractéristiques d’encodages de l’élément en cours de décodage. Par exemple, une première liste 702 peut être utilisée exclusivement pour le décodage d’éléments ayant un certain niveau de luminosité et compris dans des images de type intra. Une deuxième liste indexée (non représentée) peut être utilisée exclusivement pour le décodage d’éléments ayant une taille d'éléments supérieures à une valeur (par exemple supérieure à 8x8 pixels) compris dans des images de type B ou de type P.
[0163] Lorsque les premières informations comprennent un niveau hiérarchique L, la décimation n’est réalisée que pour les images en dessous (ou au-dessus) d’un certain niveau hiérarchique. Il est également possible de définir plusieurs niveaux hiérarchiques avec pour chaque niveau des valeurs spécifiques de k et n. Lorsque la valeur L est comprise dans les premières informations les valeurs k et n peuvent être implicites, c’est-à-dire que sur la base de la valeur L le décodeur 500 déduit un couple k,n sans que ceux-ci soient compris dans les premières informations.
[0164] La figure 6b illustre des niveaux hiérarchiques dans une structure de GOP comportant 19 images 760, 761 , 762. La structure du GOP comporte ici plusieurs niveaux hiérarchiques L0 à L5.
[0165] Pour chaque valeur du niveau hiérarchique L, la sélection par décimation peut prévoir des valeurs différentes de k et n (par exemple les couple (1 ; 2), (1 ; 4) et (1 ; 8)). Les listes déterminées sont ensuite utilisées pour le décodage des éléments de chaque image du GOP en fonction du niveau hiérarchique L1 à L5 de l’image dans lequel se trouve l’élément à décoder (par exemple la liste obtenue avec le couple (1 ;2) peut être utilisée pour les images de niveaux hiérarchiques L3 à L5, la liste obtenue avec le couple (1 ;4) peut être utilisée pour les images de niveau hiérarchique L2 et la liste obtenue avec le couple (1 ;8) peut être utilisée pour les images de niveau hiérarchique L1 , la liste prédéfinie étant utilisée pour les images de niveau hiérarchique L0.
[0166] L’utilisation des listes obtenues par décimation peut être faite uniquement pour le décodage d’images d’un même type. Par exemple, en référence à la figure 6b, seules les images de type B 762 peuvent être décodées sur la base de listes obtenue par décimation. Si l’on considère que l’image 760 est une image de type intra et que l’image 761 est une image de type prédictif.
[0167] Suivant les premières informations, la décimation peut être effectuée sur une partie seulement de la liste prédéfinie. Par exemple, lorsque les paramètres de codages sont des modes de prédiction intra, la décimation peut être effectuée uniquement sur les modes angulaires. Les premières informations peuvent alors contenir une information supplémentaire par exemple les indices des paramètres de codage à conserver avant d’effectuer la décimation. Il est également possible de définir une valeur de k suffisante pour épargner les premiers paramètres de codage de la liste prédéterminée.
[0168] Par exemple, la première liste LI_D1 déterminée comprend alors 35 modes de prédiction. En effet, cette première liste comprend 2 modes non angulaires, à savoir DC et Planar, pour 65 modes angulaires. La liste LI_D1 comprend alors les deux modes non angulaires et les modes angulaires issus de la sélection par décimation, soit après sélection un total de 33 modes angulaires.
[0169] La figure 7 illustre, un exemple d’un autre mode de gestion mis en œuvre par le procédé. Ainsi, lorsque le mode de gestion est un mode de gestion par « Histogramme », le décodeur 500 détermine 850 au moins une liste indexée 810 ou 870 en fonction d’un niveau de fréquences d’utilisation des paramètres de codage de la liste prédéfinie de paramètres de codage. Cette fréquence d’utilisation peut être par exemple représentative de l’utilisation d’un paramètre de codage pour la détermination des éléments d’images précédentes et/ou de l’image en cours de décodage. Selon un exemple, la fréquence d’utilisation pour chaque paramètre de codage d’une liste prédéfinie peut être représentée sous la forme d’un histogramme.
[0170] Ainsi, en référence à la figure 7, un histogramme 800 peut être défini par une abscisse 840 de paramètres de codage, et selon une ordonnée 830 indiquant la fréquence d’utilisation, par exemple en pourcentage.
[0171] La liste de paramètres de codage peut être déterminée à partir d’une sélection de paramètres de codage présentant une fréquence d’utilisation obéissant à des règles de sélection.
[0172] Les règles de sélection pour ce mode de gestion peuvent être définies par exemple par un facteur h de sélection, et/ou un seuil S de sélection. Ces paramètres de sélection peuvent être compris dans les premières informations permettant au décodeur 500 de définir le mode gestion.
[0173] Ainsi, les règles de sélection peuvent être la sélection des h paramètres de codage parmi les paramètres de codage de l’histogramme (h un nombre entier positif) présentant des fréquences d’utilisation les plus élevées. La liste déterminée de paramètres de codage peut par exemple comprendre un classement par ordre décroissant ou croissant de la fréquence d’utilisation. Par exemple, selon l’histogramme 800, lorsque le facteur h est égale à 3, la liste LI_H1 810 de paramètre de codage déterminée 850 comporte les trois paramètres de codage p10, p9, et p6 présentant les fréquences d’utilisation les plus élevées parmi les paramètres de codage de la liste prédéfinie. Cette liste est réordonnée de sorte que l’indice 0 est associé au paramètre de codage p10 l’indice 1 est associé au paramètre de codage p9 et l’indice 2 est associé au paramètre de codage p6.
[0174] Les premières informations peuvent alors comprendre une information sur le fait que le mode de gestion dit « histogramme » est activé et le facteur h.
[0175] Les règles de sélection peuvent également être la sélection des paramètres de codage présentant des fréquences d’utilisation supérieures à un seuil « S » 820. La liste déterminée de paramètres de codage peut par exemple comprendre un classement par ordre décroissant ou croissant de la fréquence d’utilisation. Par exemple, selon l’histogramme 800, avec le seuil S 820, l’on détermine 860 la liste LI_H2 870 de paramètres de codage qui comporte les paramètres de codage rb, P7, RQ, PIO et p12 présentant les fréquences d’utilisation les plus élevées parmi les paramètres de codage de la liste prédéfinie. Cette liste est réordonnée de sorte que l’indice 0 est associé au paramètre de codage p10, l’indice 1 est associé au paramètre de codage p9, l’indice 2 est associé au paramètre de codage rb, l’indice 3 est associé au paramètre de codage p , l’indice 4 est associé au paramètre de codage p-i2.
[0176] Les premières informations peuvent alors comprendre une information sur le fait que le mode de gestion dit « histogramme » est activé et le seuil « S » de sélection.
[0177] Il peut être possible de combiner les paramètres de sélection. Ainsi suivant les instructions définies dans le paramétrage du mode de gestion « histogramme », il peut être possible, par exemple, d’appliquer un seuil de sélection suivi d’un facteur de sélection.
[0178] La figure 8 illustre un exemple d’un autre mode de gestion mise en œuvre par le procédé. Lorsque le mode de gestion est un mode de gestion dit par exemple « groupe », le décodeur 500 détermine 901 au moins une liste de paramètres de codage indexé 902 comportant un ou plusieurs paramètres de codage dits primaires entourés de paramètres de codage dits secondaires selon l’ensemble I -[Ϊ(R)K - m*:; KR)K + m*]. où i(p)k sont les indices des paramètres de codage primaires et mA. (facteur de décalage) sont des entiers strictement positifs spécifiés par exemple dans les instructions du mode de gestion dit « groupe » comprises dans les premières informations.
[0179] Par exemple, dans la figure 8, les premières informations contiennent trois paramètres de codage primaires (P2, P7, et p,) et un facteur de décalage (d) de 1. Sur la base de ces instructions le décodeur 500 détermine la liste 902. Celle-ci contient les paramètres de codage primaires explicitement signalisés et les paramètres de codage secondaires qui sont alors pi, p3, RQ, PS, PM et pi+1.
[0180] La figure 9 illustre le procédé proposé selon un ou plusieurs modes de réalisation. Ce procédé peut être mis en œuvre par tout dispositif comprenant un processeur et une mémoire, et configuré pour sa mise en œuvre, tel que par exemple, un encodeur vidéo 501 , ou tout équipement configuré pour l’encodage d’une séquence vidéo.
[0181] A l’étape 17, le dispositif 501 détermine un paramétrage d’encodage pour une image de la séquence d’images (séquence vidéo). Par exemple, le paramétrage d’encodage peut être des données d’entrée de l’encodage, comme par exemple, des instructions précisant les modes de gestion à utiliser, les caractéristiques d’encodage d’éléments, et/ou les modes de gestion à utiliser en fonction des caractéristiques d’encodage.
[0182] A l’étape 18, le dispositif 501 détermine une liste de paramètres de codage. La détermination de la liste de paramètres de codage peut s’effectuer selon l’une des méthodes précédemment indiquées, par exemple, par « décimation », par « histogramme », par sélection explicite ou encore par « groupe ». Ces différentes méthodes peuvent également être combinées, c’est-à- dire qu’une première méthode (parmi ses méthodes) est appliquée pour sélectionner à partir de la liste prédéfinie de paramètres de codage une première liste de paramètres de codage et une deuxième méthode (parmi ses méthodes) est appliquée pour sélectionner à partir de cette première liste de paramètres de codage une deuxième liste de paramètres de codage.
[0183] A l’étape 19, le dispositif 501 obtient un flux binaire comprenant des premières informations ainsi que des données encodées représentatives des éléments de l’image. [0184] Les premières informations peuvent par exemple indiquer le paramétrage utilisé pour l’encodage de l’image de la séquence d’images.
[0185] Des deuxièmes informations peuvent être comprises dans les données encodées représentatives des éléments. Ces deuxièmes informations indiquent le paramètre de codage utilisé parmi la liste déterminée pour l’obtention d’un élément de l’image.
[0186] La figure 10 illustre un exemple d’architecture d’un dispositif de décodage, et un exemple d’architecture d’un dispositif d’encodage d’une séquence vidéo pour la mise en œuvre du procédé proposé.
[0187] Le dispositif 500 comprend un contrôleur 902, couplé de manière opérationnelle à une interface d’entrée 901 , à une interface de sortie 906 et à une mémoire 903, qui pilote un module de gestion de paramètres de codage 905 et une unité de décodage 904 pour le décodage d’images d’une séquence vidéo.
[0188] L’interface d’entrée 901 est configurée pour recevoir en entrée un flux binaire correspondant à une séquence d’images encodées, selon le procédé par exemple, dans un flux binaire.
[0189] Le contrôleur 902 est configuré pour piloter le module de gestion de paramètres de codage 905 et l’unité de décodage 904 pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé proposé.
[0190] Le module de gestion de paramètres de codage 905 peut être configuré pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé de détermination et d’utilisation de listes de paramètres de codage proposé. En particulier, il peut être configuré pour recevoir sur l’interface d’entrée un flux binaire encodé selon le procédé et comprenant des premières et deuxièmes données encodées. Sur décodage de ce flux binaire, le mode de gestion peut être configuré pour obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire, pour déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage. Le module de gestion de paramètres de codage 905, peut en outre, être configuré, pour obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage. La mémoire 903 peut être configurée pour stocker des informations signalisées dans le flux binaire, comme des premières et deuxièmes informations décodées des premières et deuxièmes données encodées.
[0191] L’unité de décodage 904 par l’intermédiaire du module de gestion peut être configurée pour déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen d’un paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence, et dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
[0192] Le dispositif 500 peut être configuré pour fournir en sortie 906 un flux de données vidéo décodé, par exemple une séquence d’images.
[0193] Le dispositif 500 peut être un ordinateur, un réseau d’ordinateurs, un composant électronique, ou un autre appareil comportant un processeur couplé de manière opérationnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure 10). Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, etc. En fonction du mode de réalisation, la mémoire, l’unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le contrôleur 902, amènent ce contrôleur 902 à effectuer ou contrôler les parties interface d’entrée 901 , module de gestion de paramètres de codage 905, décodage des images et/ou traitement de données des exemples de mise en œuvre du procédé proposé décrit dans les présentes. Le contrôleur 902 peut être un composant implémentant un processeur ou une unité de calcul pour le décodage d’une ou plusieurs images d’une séquence d’images sur la base d’au moins une liste de paramètres de codage selon le procédé proposé et le contrôle des unités 901 , 902, 903, 904, 905, 906 du dispositif 500. [0194] En outre, le dispositif 500 peut être mis en œuvre sous forme logicielle, comme décrit ci-dessus, ou sous forme matérielle, comme un circuit intégré spécifique application (ASIC), ou sous forme d'une combinaison d'éléments matériels et logiciels, par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA (Field Programmable Gâte Array).
[0195] Le dispositif 501 comprend un contrôleur 912, couplé de manière opérationnelle à une interface d’entrée 91 1 , à une interface de sortie 916 et à une mémoire 913, qui pilote un module de gestion de paramètres de codage 915 et une unité d’encodage 914 pour l’encodage des images d’une séquence d’images.
[0196] L’interface d’entrée 911 est configurée pour recevoir en entrée une séquence d’images correspondant par exemple à une séquence vidéo ou un flux vidéo distribué en direct.
[0197] Le contrôleur 912 est configuré pour piloter le module de gestion de paramètres de codage 915 et l’unité d’encodage 914 pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé proposé.
[0198] Le module de gestion de paramètres de codage 915 peut être configuré pour la mise en œuvre d’un ou de plusieurs modes de réalisation du procédé de détermination et utilisation de listes de paramètres de codage proposé. En particulier, il peut être configuré pour, une image de la séquence d’images, déterminer un paramétrage d’encodage, par exemple à partir de l’interface d’entrée. Le module de gestion de paramètres de codage 915, peut en outre, être configuré pour déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage.
[0199] L’interface d’entrée est configurée pour recevoir aussi des données d’entrée comportant, par exemple un paramétrage de l’encodage de la séquence d’images, par exemple des instructions, qui peuvent signaler, entre autres, la mise en œuvre du procédé, le mode de gestion à utiliser, les caractéristiques d’encodage d’éléments d’images de la séquence d’images, et la manière dont l’utilisation des listes de paramètres de codage des modes de gestions peut être fonction de ces caractéristiques d’encodage. [0200] La mémoire 913 peut être configurée pour stocker des informations d’entrée, comme les données d’entrées.
[0201] L’unité d’encodage 914 peut être configurée pour obtenir un flux binaire vidéo comprenant, des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage , ainsi que des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage, le flux binaire obtenu pouvant être envoyé vers le dispositif 500 par exemple.
[0202] Le dispositif 501 peut être un ordinateur, un réseau d’ordinateurs, un composant électronique, ou un autre appareil comportant un processeur couplé de manière opérationnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure 10). Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, etc. En fonction du mode de réalisation, la mémoire, l’unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le contrôleur 912, amènent ce contrôleur 912 à effectuer ou contrôler les parties interface d’entrée 911 , module de gestion de paramètres de codage 915, encodage des images et/ou traitement de données des exemples de mise en œuvre du procédé proposé décrit dans les présentes. Le contrôleur 912 peut être un composant implémentant un processeur ou une unité de calcul pour l’encodage d’une ou plusieurs images d’une séquence vidéo sur la base d’au moins une liste de paramètres de codage selon le procédé proposé et le contrôle des unités 911 , 912, 913, 914, 915, 916 du dispositif 501 . [0203] En outre, le dispositif 501 peut être mis en œuvre sous forme logicielle, comme décrit ci-dessus, ou sous forme matérielle, comme un circuit intégré spécifique application (ASIC), ou sous forme d'une combinaison d'éléments matériels et logiciels, par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA (Field Programmable Gâte Array).
[0204] Le procédé ne se limite pas aux exemples de modes de réalisation décrits ci-avant, seulement à titre d’exemple, mais elle englobe toutes les variantes que pourra envisager l’homme de l’art dans le cadre des revendications ci-après.

Claims

Revendications
[Revendication 1] Procédé de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le procédé comprenant:
- obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
- déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
- déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence ;
dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
[Revendication 2] Procédé selon la revendication 1 , dans lequel la liste de paramètres de codage est déterminée par sélection de paramètres de codage dans la liste prédéfinie de paramètres de codage ou par sélection parmi une pluralité de listes prédéfinies de paramètres de codage.
[Revendication 3] Procédé selon l’une quelconque des revendications précédentes, dans lequel les premières données encodées et/ou les deuxièmes données encodées sont comprises dans une partie signalisation du flux binaire.
[Revendication 4] Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste de paramètres de codage est fonction de caractéristiques d’encodage d’éléments de l’image.
[Revendication 5] Procédé selon la revendication 4, dans lequel les caractéristiques d’encodage d’éléments de l’image comprennent une taille d’élément et/ou un pas de quantification d’élément et/ou un type chromatique d’élément et/ou un type luminosité d’élément et/ou un type d’encodage intra d’élément et/ou un type d’encodage inter d’élément et/ou une taille de transformée et/ou un type de transformée et/ou un type de filtre.
[Revendication 6] Procédé selon l’une quelconque des revendications précédentes, dans lequel la détermination de la liste de paramètres de codage se fait par sélection dans la liste prédéfinie de paramètres de codage de paramètres de codage spécifiés par les premières informations.
[Revendication 7] Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste prédéfinie de paramètres de codage est indexée de 0 à N-1 , avec N un nombre de paramètres de codage dans la liste prédéfinie et dans lequel la détermination de la liste de paramètres de codage se fait par sélection sur la base des premières informations :
- des paramètres de codage de la liste prédéfinie d’indices k+n.m, avec n entier strictement positif et k entier positif ou nul et n+k inférieur ou égal à N-1 et m compris entre 0 et la partie entière par défaut de (N-k-1 )/n ; et
- des paramètres de codage de la liste prédéfinie d’indices inférieurs strictement à k’ avec k’ entier positif ou nul inférieur ou égal à k.
[Revendication 8] Procédé selon la revendication 7 dans lequel n et m sont déterminés en fonction d’un niveau hiérarchique de l’image par rapport aux images de la séquence d’images.
[Revendication 9] Procédé selon l’une quelconque des revendications précédentes, dans lequel la détermination de la liste de paramètres de codage se fait par sélection sur la base des premières informations des paramètres de codage de la liste prédéfinie en fonction de niveaux de fréquences d’utilisation des paramètres de codage de la liste prédéfinie.
[Revendication 10] Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste prédéfinie de paramètres de codage est indexée et dans lequel la détermination de la liste de paramètres de codage se fait par sélection sur la base des premières informations :
- de paramètres de codage primaires spécifiés par les premières informations ; et
- de paramètres de codage secondaires tel qu’un indice de chaque paramètre de codage secondaire est compris dans II¾[ί(r)¾ - m&; î(p)fc + m&] où i(p)k sont les indices des paramètres de codage primaires et m¾ sont des entiers strictement positifs spécifiés par les premières informations.
[Revendication 11] Procédé selon l’une quelconque des revendications précédentes, dans lequel la liste prédéfinie de paramètres de codage ou la pluralité de listes prédéfinies sont des listes prédéfinies de modes de prédiction ou des listes prédéfinies de valeurs de décalage de décalage adaptatif d’un filtre.
[Revendication 12] Procédé d’encodage d’un flux binaire vidéo correspondant à une séquence d’images, le procédé comprenant:
- pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
- déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir un flux binaire vidéo comprenant :
-des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
- des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
[Revendication 13] Programme informatique comportant des instructions pour la mise en œuvre du procédé selon l’une des revendications 1 à 12, lorsque ce programme est exécuté par un processeur.
[Revendication 14] Dispositif de décodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
- un processeur; et
- un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
- obtenir des premières informations à partir de premières données encodées contenues dans le flux binaire ;
- déterminer une liste de paramètres de codage sur la base des premières informations et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir des deuxièmes informations à partir de deuxièmes données encodées contenues dans le flux binaire, les deuxièmes informations correspondant à un paramètre de codage parmi les paramètres de codage de la liste de paramètres de codage ;
- déterminer un élément d’une image restituée correspondant à un élément d’une image de la séquence d’images au moyen dudit paramètre de codage correspondant à la deuxième information et de données encodées représentatives de l’élément de l’image de la séquence ;
dans lequel la taille des deuxièmes données encodées dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
[Revendication 15] Dispositif d’encodage d’un flux binaire vidéo correspondant à une séquence d’images, le dispositif comprenant :
- un processeur; et
- un support informatique non-transitoire comprenant des instructions qui lorsqu’elles sont exécutées par le processeur configure le dispositif pour:
- pour une image de la séquence d’images, déterminer un paramétrage d’encodage ;
- déterminer une liste de paramètres de codage sur la base du paramétrage d’encodage et d’au moins une liste prédéfinie de paramètres de codage ;
- obtenir un flux binaire vidéo comprenant :
- des données encodées représentatives de premières informations, les premières informations indiquant le paramétrage d’encodage ;
- des données encodées représentatives d’un élément de l’image obtenues au moyen d’un paramètre de codage de la liste de paramètres de codage déterminé, les données encodées représentatives de l’élément comprennent des données encodées représentatives de deuxièmes informations, la taille des données encodées représentatives des deuxièmes informations dépend d’un nombre de paramètres de codage dans la liste de paramètres de codage.
EP20747051.9A 2019-06-27 2020-06-26 Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat Pending EP3991436A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1907069A FR3098070B1 (fr) 2019-06-27 2019-06-27 Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat
PCT/FR2020/051124 WO2020260843A1 (fr) 2019-06-27 2020-06-26 Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat

Publications (1)

Publication Number Publication Date
EP3991436A1 true EP3991436A1 (fr) 2022-05-04

Family

ID=68072760

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20747051.9A Pending EP3991436A1 (fr) 2019-06-27 2020-06-26 Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat

Country Status (4)

Country Link
US (1) US20220368923A1 (fr)
EP (1) EP3991436A1 (fr)
FR (1) FR3098070B1 (fr)
WO (1) WO2020260843A1 (fr)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060153299A1 (en) * 2005-01-07 2006-07-13 Kabushiki Kaisha Toshiba Coded video sequence conversion apparatus, method and program product for coded video sequence conversion
US8588536B2 (en) * 2010-02-22 2013-11-19 Texas Instruments Incorporated Guaranteed-rate tiled image data compression
US9379736B2 (en) * 2011-06-03 2016-06-28 Qualcomm Incorporated Context-adaptive coding video data
CN103096047B (zh) * 2011-11-01 2018-06-19 中兴通讯股份有限公司 一种分片层参数集解码及编码方法和装置
US20130114694A1 (en) * 2011-11-08 2013-05-09 Qualcomm Incorporated Parameter set groups for coded video data
US10771781B2 (en) * 2018-03-12 2020-09-08 Electronics And Telecommunications Research Institute Method and apparatus for deriving intra prediction mode
US11818343B2 (en) * 2021-03-12 2023-11-14 Tencent America LLC Sample offset with predefined filters

Also Published As

Publication number Publication date
FR3098070B1 (fr) 2022-02-18
FR3098070A1 (fr) 2021-01-01
US20220368923A1 (en) 2022-11-17
WO2020260843A1 (fr) 2020-12-30

Similar Documents

Publication Publication Date Title
EP3182707B1 (fr) Procédé et support d'enregistrement mémorisant un flux de données d'images codées
EP2985998B1 (fr) Support d'enregistrement mémorisant un flux de données d'images codées
EP3318061B1 (fr) Procede d'encodage d'image et equipement pour la mise en oeuvre du procede
EP3758371A1 (fr) Procédé de traitement d'un ensemble d'images d'une séquence vidéo
FR2951345A1 (fr) Procede et dispositif de traitement d'une sequence video
FR3014278A1 (fr) Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
EP2716045B1 (fr) Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
WO2020260843A1 (fr) Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat
FR2956789A1 (fr) Procede et dispositif de traitement d'une sequence video
FR3026592A1 (fr) Procede de transcodage de donnees video a fusion d'unites de codage, programme informatique, module de transcodage et equipement de telecommunications associes
EP3259909B1 (fr) Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
EP3272122A1 (fr) Codage d'images par quantification vectorielle
FR2925818A1 (fr) Procede de decodage a complexite variable d'un signal d'images, terminal de decodage, procede de codage, dispositif de codage, signal et programmes d'ordinateur correspondants
WO2020161413A1 (fr) Procédés et dispositifs de codage et de décodage d'un flux de données représentatif d'au moins une image
FR3139260A1 (fr) Lissage hors boucle de codage d’une frontière entre deux zones d’image
WO2013007920A1 (fr) Procédé de codage et décodage d'images, dispositif de codage et décodage et programmes d'ordinateur correspondants
FR3081656A1 (fr) Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image.
FR3086486A1 (fr) Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image.
FR2927494A1 (fr) Procede de decodage et codage d'une sequence d'images avec compensation de mouvement

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: 20211220

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

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)