EP3918798A1 - Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo - Google Patents

Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo

Info

Publication number
EP3918798A1
EP3918798A1 EP20705242.4A EP20705242A EP3918798A1 EP 3918798 A1 EP3918798 A1 EP 3918798A1 EP 20705242 A EP20705242 A EP 20705242A EP 3918798 A1 EP3918798 A1 EP 3918798A1
Authority
EP
European Patent Office
Prior art keywords
block
image
spatial
resolution
coding
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
EP20705242.4A
Other languages
German (de)
English (en)
Inventor
Glenn HERROU
Jean-Yves Aubie
Wassim HAMIDOUCHE
Luce Morin
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.)
Fondation B Com
Original Assignee
Fondation B Com
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 Fondation B Com filed Critical Fondation B Com
Publication of EP3918798A1 publication Critical patent/EP3918798A1/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer

Definitions

  • the present invention relates generally to the technical field of the compression of the data rate for the transmission of the video content of these data.
  • scalable compression which consists of using a base layer and one or more enhancement layers to compress the data.
  • Data representative of video content may be compressed into a base layer and one or more enhancement layers.
  • a scalable compression standard like SHVC can be used. The latter is based on the principle of an adaptation of a quantity from one layer to another. For example, this quantity may be the spatial resolution where each enhancement layer has a resolution greater than that of the previous one.
  • This base layer / enhancement layer structure makes it possible to adapt the spatial resolution, for example depending on the transmission conditions of the stream.
  • Scalable compression standards such as SHVC as defined in the ITU-T document, H.265, High efficiency video coding, 04/2015, implement a complex coding architecture resulting in very high processing times and increased latency.
  • the invention proposes in particular to solve the aforementioned problems.
  • the invention proposes a method for encoding data corresponding to a video sequence, in a scalable binary stream in spatial resolution, comprising a base layer and at least one improvement layer.
  • the method comprises for at least one image of the video sequence,
  • the method further comprising ⁇ partitioning of the second image into blocks by inferring the initial size of at least one of the blocks from the size of a corresponding block in the first image, said at least one block of the second image having a reso initial spatial lution,
  • ⁇ coding of data representative of said at least one block based on the determined coding spatial resolution, to generate at least one improvement layer.
  • the invention allows in a scalable compression scheme an adaptation of the spatial resolution at the block level of the image.
  • the blocks partitioning heterogeneous contents of an image (for example natural contents) can then be encoded using for each a suitable encoding spatial resolution. This provides better image reproduction when it is decoded.
  • a very low complexity encoding process is obtained with few calculations.
  • the invention is not a standard coding method expensive in terms of computing power but a method having very low complexity as well as low latency.
  • said set of predetermined spatial resolutions can comprise at least said initial spatial resolution.
  • the processing of the block and therefore the number of calculations during its encoding is limited.
  • the determination of the spatial coding resolution of the block of the second image can comprise
  • This mode of implementation has low complexity and allows several possible spatial resolutions to be tested, in order to be able to choose the one offering the best compromise between the necessary bit rate and the distortion resulting from the coding. Limiting the number of spatial resolutions to be tested makes it possible to control the number of calculations.
  • the determined coding spatial resolution may be associated with the lowest evaluated rate-distortion cost. This mode of implementation offers the advantage of being particularly easy to implement.
  • the method may further comprise: o an analysis of the content of said block of the second image, and o a selection of the predetermined spatial resolutions having a rate-distortion cost below a predetermined threshold, and if one of the selected spatial resolutions The encoding spatial resolution is determined from said adapted spatial resolution, otherwise the encoding spatial resolution is determined from the selected predetermined spatial resolution having the most evaluated rate-distortion cost. low.
  • the determination of the spatial coding resolution of the block of the second image may further comprise o a selection of the predetermined spatial resolutions having a rate-distortion cost below a predetermined threshold, and
  • the spatial encoding resolution determined for said block is determined from the spatial resolution of the encoded block of the neighborhood, otherwise the spatial encoding resolution is determined from the selected predetermined spatial resolution having the lowest evaluated bit rate-distortion cost.
  • the determination of the coding spatial resolution of the block of the second image may further comprise, if no spatial resolution is suitable for the analyzed content of said block, a comparison between said selected spatial resolutions and the spatial resolution of at least one encoded block of the neighborhood, and if the result of the comparison satisfies a predetermined criterion, the spatial encoding resolution for said block is determined at from the spatial resolution of the encoded block of the neighborhood, otherwise the encoding spatial resolution is determined from the selected predetermined spatial resolution having the lowest evaluated bit rate-distortion cost.
  • the three aforementioned examples allow the blocks belonging to areas of the image having a homogeneous content in terms of details or outlines, to be assigned the same spatial coding resolution. Thus, too frequent changes in coding spatial resolution, which can adversely affect visual quality, are avoided.
  • the coding of at least one block of the first image can comprise
  • obtaining from the first motion vector, a second motion vector pointing to a second so-called reference block in said second reference image, said second reference block being associated with one or more predetermined spatial resolutions, and
  • determining the spatial resolution coding of said block of the second image from the one or more predetermined spatial resolutions deu xth reference block.
  • This other mode of implementation has two advantages in particular, namely the temporal consistency of the choice of resolution and a zero signaling cost, since the decoder can implement identical steps.
  • Said second reference block having a predetermined spatial resolution, the coding spatial resolution of the block of the second image can be inferred from said predetermined spatial resolution of the second reference block.
  • the spatial coding resolution of said block of the second image can be determined from the predetermined majority spatial resolution associated with the second reference block.
  • the spatial coding resolution of said block of the second image can be determined from said predetermined spatial resolution, otherwise, the spatial coding resolution of said block of the second image is determined from the predefined majority spatial resolution associated with the second reference block.
  • this predetermined threshold associated with a predetermined spatial resolution makes it possible to limit the risks of loss of important details of the image.
  • the coding of said information representative of said at least one block of the second image can comprise a sub-sampling of said at least one block of the second image to obtain an intermediate block at a spatial coding resolution, if the spatial coding resolution is lower at the initial spatial resolution,
  • the invention also proposes a method for decoding a scable binary stream in spatial resolution, comprising a base layer and at least one improvement layer, comprising coded data corresponding to a video sequence, the method comprising for at least one enhancement layer. minus one block of an image of the video sequence, o decoding of the data corresponding to the block for the improvement layer to obtain decoded data representative of the block for the improvement layer, and a decoding of resolution information spatial, representative of a spatial coding resolution of said block for the improvement layer,
  • the invention also proposes a method for decoding a scable binary stream in spatial resolution, comprising a base layer and at least one improvement layer, comprising coded data corresponding to a video sequence, the method comprising for at least one enhancement layer. minus one block of an image of the video sequence, o decoding of the data corresponding to the block for the base layer to obtain a decoded block for the base layer,
  • the invention also proposes a device for encoding data corresponding to a video sequence, in a scalable binary stream in spatial resolution comprising a base layer and at least one improvement layer, the device being configured to implement for at least one image of the video sequence, o obtaining from said image, a first image, partitioning of the first image into blocks, each block having a given size, and encoding of at least one block of the first image to generate the base layer,
  • the device being further configured to implement
  • ⁇ coding of data representative of said at least one block based on the determined coding spatial resolution, to generate at least one improvement layer.
  • the invention also proposes a device for decoding a scalable binary stream in spatial resolution comprising a base layer and at least one improvement layer, comprising coded data corresponding to a video sequence, the positive device being configured to put implemented for at least one block of an image of the video sequence,
  • the invention also proposes a device for decoding a sca lable binary stream in spatial resolution comprising a base layer and at least one improvement layer, comprising coded data corresponding to a video sequence, the device being configured to put in work for at least one block of an image of the video sequence,
  • decoding device being further configured to implement
  • FIG. 1 is a view of an encoding device and a decoding device according to one embodiment of the invention
  • FIG. 2 illustrates a method of encoding data corresponding to a video sequence according to an embodiment of the invention
  • FIG. 3 illustrates a method of decoding a binary stream corresponding to a video sequence according to an embodiment of the invention
  • FIG. 4 illustrates a base layer and an enhancement layer corresponding to an image of a video sequence
  • FIG. 5 illustrates an example of a set of possible spatial resolutions for a block of an image
  • FIG. 7 illustrates a first variant of a module for the coding device according to a first embodiment of the invention
  • FIG. 8 illustrates an example of the coding method that can be implemented by the first variant of the coding module
  • FIG. 9 illustrates a second variant of a module for the encoding device according to a second embodiment of the invention.
  • FIG. 10 illustrates an example of the coding method that can be implemented by the second variant of the coding module
  • FIG. 11 illustrates a motion vector in a base layer and in an enhancement layer corresponding to a reference image
  • FIG. 12 illustrates a first variant of a decoding device according to a first embodiment of the invention
  • FIG. 13 illustrates an example of the decoding method that can be implemented by the first variant of the decoding device
  • FIG. 14 illustrates a second variant of a decoding device according to a second embodiment of the invention
  • FIG. 15 illustrates an example of the decoding method that can be implemented by the second variant of the decoding device
  • FIG. 16 illustrates an example of a possible implementation for an encoding or decoding device according to the invention.
  • Figure 1 shows a system consisting of an encoder 100 and a decoder 150 suitable for video compression into a base layer and one or more enhancement layers.
  • an enhancement layer has a higher spatial resolution than the base layer and the previous enhancement layer.
  • the encoder 100 receives as input images 105 forming a video sequence. For example, these images have a high UHD resolution for “Ultra High Definition” in English, corresponding to 3840 pixels by 2160 pixels.
  • a UHD image is supplied to the input of a module 110 which makes it possible to downsample it and to deliver an image 115 with a resolution lower than the input image (here HD for “High Definition” in English , corresponding to 1920 pixels by 1080 pixels).
  • the images 105 may for example be in the so-called 8k format (7680 pixels by 4320 pixels) and downsampled in the UHD format.
  • the encoding of the downsampled image 115 provides encoded data for the base layer.
  • the image 115 is partitioned into blocks, each block being coded by a coding module 120 (for example corresponding to an coding module of HEVC type), according to a coding standard known to those skilled in the art. , for example HEVC.
  • the reference 125 symbolizes a coded block for the base layer, delivered by the coding module 120.
  • the UHD image is also provided at the input of another encoding module 130 for encoding the data forming an enhancement layer.
  • another encoding module 130 for encoding the data forming an enhancement layer.
  • a single enhancement layer is considered, an encoding device for several enhancement layers being easily deducible from this example, by multiplying the encoding modules for the different enhancement layers.
  • This other coding module 130 receives as input coding information 1 17 from the coding module 120 for the base layer.
  • This coding information 1 17 as explained in more detail below, include in particular a size of a block of the base layer.
  • the other encoding module 130 can partition the UHD image into different blocks whose initial size is inferred from the block size of the base layer.
  • the initial block size for the enhancement layer is inferred from the corresponding block size for the base layer.
  • a corresponding block 415 for a base layer 405 has the same spatial position as a considered block 435 of an enhancement layer 425.
  • the other encoding module 130 includes means for determining a spatial resolution for the blocks of the enhancement layer. These means are able to determine the spatial resolution of a block from a set of predetermined spatial resolutions.
  • the spatial resolution of a block represents a number of pixels in the block. It is generally expressed as being the product between the number of pixels according to a first direction (horizontal for example) and the number of pixels according to a second direction (vertical for example).
  • the initial spatial resolution of a block corresponds to the number of pixels in a block, after the partitioning of the image into blocks.
  • the spatial resolution of the block can be modified by under- or over-sampling it in one or two directions.
  • FIG. 5 illustrates examples of spatial resolutions which may belong to the aforementioned set of spatial resolutions. Shown are four examples of different spatial resolutions for a block (N * N, 2N * N, N * 2N and 2N * 2N), where N is an integer which represents a number of pixels.
  • the other coding module 130 is configured to determine a residue relating to a difference between the block for the improvement layer considered and a corresponding reconstructed block (that is to say coded then decoded according to a method well known to those skilled in the art) 1 16 supplied by the encoding module 120 for the base layer. This residue is encoded and delivered at the output of encoder 135.
  • the decoder 150 receives as input a binary stream comprising encoded data representative of UHD images 105.
  • a decoding module 160 capable of decoding data encoded according to the standard used by the encoder 100, decodes encoded blocks 125 for the base layer. , and outputs decoded blocks 165 at HD resolution.
  • the decoded block 165 corresponds here to the block 1 16 reconstructed after encoding for the base layer.
  • Another decoding module 170 is able to decode a binary stream comprising encoded data corresponding to residues 135 for the enhancement layer.
  • the decoding module 170 provides a decoded block 175 at UHD resolution, from the corresponding decoded block 165 for the base layer, and the decoded data relating to the residue 135.
  • the other decoding module 170 may also input encoding information 167 from the decoding module 160 for the base layer.
  • this coding information 167 can be obtained from the binary stream supplied at the input of the other decoding module 170.
  • decoder 150 provides a decoded block 176 corresponding to the block having a higher spatial resolution (UHD) 175 or lower (HD) 165.
  • FIG. 2 illustrates an example of a coding method according to the invention, implemented by the encoder 100 of FIG. 1.
  • a first step E200 comprises a reception of images having a higher spatial resolution (for example UHD).
  • these UHD images R205 are sub-sampled so as to obtain images R215 having a lower spatial resolution (for example HD).
  • the word image is to be interpreted here in a broad sense. It can designate an image with several components in the case of an image in YCbCr format for example, or only one of these components, or even a spatial sub-part (or portion) of an image with several components or of the one of its components.
  • At least one sub-sampled image R215 is partitioned into blocks and then coded block by block in a step E230 to generate the base layer R235.
  • the images (at least one) having the higher spatial resolution R205 are also partitioned into blocks and coded block by block in an E220 encoding step to generate the data for the enhancement layer.
  • This step E220 also uses R236 encoding information which includes block size information for the base layer.
  • This R236 encoding information is used for the partitioning into blocks during the E220 encoding step for the enhancement layer, the initial size of a block for the enhancement layer being inferred from the size of the corresponding block for the base layer.
  • Coding a block for the enhancement layer also includes determining the spatial resolution of the block as explained in more detail with reference to Figure 6.
  • a residue is obtained, from the difference between the block for the enhancement layer and a corresponding block for the base layer R235. This residue is encoded and output from the E225 encoding step.
  • the residues encoded for the enhancement layer R225 and the blocks of the encoded base layer are then transmitted to a receiver coupled to the decoder in a step E240.
  • the data for the base layer and the enhancement layer can be transported jointly on the same distribution network or on two separate networks which could be of different nature.
  • the encoded data relating to the base layer may be transported in digital terrestrial broadcasting while the encoded data relating to the enhancement layer (s) would be transmitted through an internet connection to receivers capable of operating at higher spatial resolutions. high.
  • FIG. 3 illustrates an example of a method for decoding a binary stream comprising coded data representative of a video sequence according to the invention. This method can be implemented by the decoder 150 of FIG. 1.
  • coded data R305 are obtained, for example via a receiver capable of receiving a scalable binary stream in spatial resolution.
  • a step E320 allows decoding of the data representative of the layer of base to output R325 images of the video footage at the lower HD spatial resolution.
  • step E310 the data representative of the improvement layer among the data obtained R305 are decoded using the decoded HD images R325, as explained in more detail below.
  • R315 images of the video sequence at the higher spatial resolution UHD are delivered.
  • Figure 6 details the step of encoding a block for the E220 enhancement layer.
  • an image of higher spatial resolution (UHD in this example) R205.
  • This is partitioned into blocks in a step E610, where the initial size of the blocks is inferred from the size of the corresponding blocks in the base layer R236.
  • Each block resulting from partitioning has an initial spatial resolution.
  • a coding spatial resolution is then determined in a step E620.
  • This R625 encoding spatial resolution is determined from a set of spatial encoding resolutions as detailed in Figures 8 and 10 below, each describing an implementation mode of this determination step E620.
  • the spatial encoding resolution may be different from the initial resolution of a block, because it is more suited to the content of the block and / or closer to the spatial resolutions of neighboring blocks implying greater homogeneity in the rendering of the image and / or having a lower throughput and distortion cost.
  • a residue representative of the block for the improvement layer and information representative of the coding spatial resolution are then encoded in a step E630 as explained with reference to FIG. 2.
  • a residue and an encoded coding spatial resolution information item are obtained.
  • Steps E620 and E630 can be repeated for each block resulting from the partitioning (or only a part) of each image of the video sequence.
  • FIG. 7 illustrates a first embodiment of the decoding module 130 for the image enhancement layer.
  • Figure 8 described below describes a first mode that can be implemented by this decoding module.
  • a higher spatial resolution image 105 is delivered to the input of a block partitioning module 710. This partitioning is carried out according to the size 1 17 of the corresponding blocks in the base layer.
  • a block 106 is delivered to a means 720 for determining the spatial coding resolution of the block.
  • Block 106 has an initial spatial resolution resulting from partitioning. For example, this initial spatial resolution is 2N * 2N.
  • the determination means 720 receives as input an instruction of a spatial resolution of coding to be tested 745 of a decision module 740.
  • the role of this functional module is to choose the spatial resolution offering the best bitrate-distortion compromise.
  • the decision module 740 successively sends the instruction to encode the considered block 106, chosen from the set containing the predetermined possible spatial resolutions.
  • the spatial resolutions to be tested are the four resolutions represented in FIG. 5. This makes it possible to have sufficient possibilities to be able to adapt the spatial resolution of the block for the improvement layer at most. close to the content of the image, while limiting the number of calculations to be performed by the encoding module for the improvement layer 130.
  • the decision module 740 is able to estimate the cost in bit rate and the distortion associated with each of these spatial resolutions tested. To do this, the spatial resolution to be tested 725 is transmitted to the coding chain 730 - 780.
  • a first module 730 is a sub-sampling module which sub-samples block 106 if the spatial resolution to be tested 725 is less than an initial spatial resolution which is here the maximum possible spatial resolution for block 106.
  • a possibly sub-block sampled 735 is output.
  • a residue 755 is generated by a subtraction module 750 from the sub-sampled block 735 and a block to be subtracted 705 obtained from the block of the base layer corresponding to the block 106 considered for the improvement layer.
  • the block to be subtracted 705 is delivered by an oversampling module 700 capable of oversample the corresponding block of base layer 1 16 if the spatial resolution to be tested 725 is greater than the spatial resolution of the corresponding block 1 16.
  • the subtraction module 750 delivers a residue 755.
  • the functional modules 760, 770 and 780 can be identical to the modules that can be found in the encoding module for the base layer 120. Their purpose is to process and encode, in the chosen spatial resolution to be tested. , the residues resulting from the difference between the source block coming from the improvement layer and the decoded block coming from the base layer.
  • a transformation module 760 is configured to deliver a block 765 of coefficients by applying to the residue 755, a transformation, for example DCT ("Discrete Cosine Transform" in English) well known to those skilled in the art.
  • DCT Discrete Cosine Transform
  • a quantization module 770 is capable of uniformly quantizing the coefficients here.
  • the result 775 is then encoded by an entropy encoding module 780 to deliver the encoded residue 135.
  • the entropy coding module 780 is in this embodiment, coupled to the decision module 740 so as to provide it with coding information for the spatial resolution tested.
  • the decision module can thus calculate the throughput cost and the distortion for the spatial resolution tested.
  • the decision module 740 is able to determine the optimal resolution in terms of bit rate-distortion cost which is the spatial coding resolution for the block 106 considered.
  • This encoding resolution (for example 2N * N) is transmitted to the determination module 720 so that it initiates the final encoding loop with the spatial encoding resolution making it possible to obtain the output binary stream representing the considered block of l image to encode.
  • the entropy encoding module 780 provides the encoded residue 135 and encoded information 136 representative of the spatial encoding resolution.
  • the determination module 720 can also be configured to refine the decision taken by the decision module 740 during the study of the throughput-distortion cost.
  • this module 740 is configured to analyze both data representative of the content of the considered block 106 (for example using an analysis of the gradients within the block) and / or for example the resolution chosen during the previous coding of neighboring blocks to the considered block.
  • the coding spatial resolution setpoint 725 transmitted to the coding loop for the final coding may be different from that obtained by the decision module 720 following the rate-distortion cost evaluation.
  • the cost associated with the resolution chosen for a neighboring block is close to the optimal cost found, this will be preferred to that having the optimal cost.
  • the blocks belonging to areas of the image having a homogeneous content in terms of details or outlines will be assigned the same spatial coding resolution. Thus, too frequent changes in coding resolution, which can adversely affect visual quality, are avoided.
  • FIG. 8 represents a flowchart for a first mode of implementation of an encoding method according to the invention, in particular to generate the improvement layer.
  • an image of higher resolution is received, R205, this image is partitioned into blocks, step E610, the initial size of at least one block being inferred from the size of the corresponding block in the base coat R236.
  • the determination of its spatial coding resolution, step E620 comprises a step E821 of choosing a first spatial coding resolution to be tested. This choice is made from a set of predetermined spatial resolutions R827.
  • these predetermined spatial resolutions can comprise the four spatial resolutions represented in FIG. 5.
  • coding of the block for the enhancement layer is performed in a step E823.
  • An R824 encoded residue is obtained for the chosen spatial resolution tested. If other spatial resolutions are yet to be tested, step E825, steps E821, E823 and E825 are repeated until all of the spatial resolutions to be tested have been tested.
  • a coding spatial resolution for the block of the improvement layer is selected.
  • the selection can be made on a criterion of cost of the bit rate and of distortion associated with the coding for a chosen spatial resolution.
  • the spatial coding resolution may be that generating the lowest bit rate and distortion cost. But the selection can be made based on additional criteria as described above. For example, a content analysis of the considered block can be made (by detecting boundaries in the image block). A spatial resolution better suited to this content (for example a so-called “horizontal” spatial resolution 2N * N to be superimposed on a vertical border detected in the image block) can be determined.
  • the spatial resolution adapted to the content will be privileged to be the spatial coding resolution of the block considered for the improvement layer.
  • the spatial resolution of one or more neighboring blocks can be obtained (for example the top and / or left adjacent neighbor), and if the difference in bit rate and distortion cost between this spatial resolution of the neighboring block and the spatial resolution tested having the lowest distortion rate cost for the considered block is less than a predetermined threshold and if for example a content analysis (detection of contours and textures) reveals a similarity between the neighboring block and the considered block , the spatial resolution of the neighbor will be favored to be the spatial coding resolution of the block considered.
  • This example makes it possible to improve the homogeneity within an image, by favoring the same spatial resolutions for neighboring blocks.
  • the various criteria can be studied successively, in order to favor, for the block considered, first a spatial coding resolution adapted to the content, then if this is not advisable, a spatial coding resolution homogeneous to that. of its neighbors, then if the threshold criterion and / or a content similarity criterion is not fulfilled, the spatial resolution having the lowest bit rate and distortion cost.
  • the sequence of the first two criteria respectively linked to the content and to the neighborhood of the considered block can be interchanged.
  • an R625 coding spatial resolution is obtained.
  • the block considered for the enhancement layer is encoded according to this encoding spatial resolution during step E630 to deliver the encoded residue R225.
  • FIGS. 9 and 10 relate respectively to a second embodiment of an encoding module 130 and to a second embodiment of an encoding method that can be implemented in the module of FIG. 9. Reference is now therefore made to FIG. 9 which illustrates the second embodiment of the coding module 130 for the image improvement layer.
  • a partitioning module 910 cuts an image 105 at the higher spatial resolution into blocks, by inferring an initial size of the blocks from the size of the corresponding blocks for the base layer 117.
  • a determination module 900 receives from the module 120 for the encoding of the base layer a motion vector 1 17 pointing to a first reference block in a first reference image, this first reference block being used for the encoding of the corresponding block. 1 16. More precisely, the coding of the corresponding block can integrate a prediction to predict all or part of the data of this block 1 16 from the reference block, according to so-called INTER prediction modes, well known to those skilled in the art.
  • the reference image can be the base layer of another image temporally preceding the image 105 considered.
  • the motion vector comes from the information 1 17 transmitted by the module for the encoding of the base layer 120 to the module for the encoding of the improvement layer 130. It is scaled so as to point to a second block reference in a second reference image corresponding to an improvement layer of the first reference image. The scaled motion vector then points to a second reference block in the second reference frame.
  • FIG. 11 This principle is illustrated in FIG. 11.
  • the base layer 1120 comprises a block 1112 (corresponding for example to the block 1 16 of FIG. 9) corresponding to a block 1 122 in the improvement layer 1130.
  • the reference image for encoding this image at time T is the image of the same video sequence at T-1 .
  • This reference image comprises a base layer 1100 and an improvement layer 1110.
  • the base layer 1100 comprises a source reference block 102 used to predict the block 1112 of the image at the instant. T.
  • the motion vector is a vector 1 103 pointing to the source reference block 1 102 from a block 1101 at the same spatial position as the block to be predicted 1112 but in the base layer 1100 of the reference image.
  • This first scaled motion vector 1103 gives a second motion vector 1 1 13 pointing from a block 1 1 1 1 corresponding to block 1 101, to a second reference block 1 1 12 for the improvement layer .
  • the reference image can be a portion of the image already encoded at time T, for example when the encoding includes a prediction mode called "INTRA Block Copy".
  • the determination module 900 is configured to obtain, from the information 1 17, the spatial resolution of the second reference block on which the scaled motion vector points, according to the principle explained. with reference to figure 1 1.
  • This spatial resolution of the second block constitutes a predetermined spatial resolution.
  • the spatial coding resolution of the considered block 106 can be inferred from the spatial resolution which is the majority.
  • this spatial resolution may be favored to infer the spatial resolution of the considered block 106.
  • a 905 coding spatial resolution has been obtained by the determination module 900, it is used to encode the considered block 106, using the 940-970 coding loop which can be similar to that used to encode a block d 'a base coat.
  • a first module 930 is a sub-sampling module which sub-samples block 106 if the coding spatial resolution 905 is less than an initial spatial resolution which is here the maximum possible spatial resolution for block 106.
  • a possibly sub-block sampled 935 is output.
  • a residue 945 is generated by a subtraction module 940 from the sub-sampled block 935 and a block to be subtracted 925 obtained from the block of the base layer corresponding to the block 106 considered for the improvement layer.
  • the block to be subtracted 925 is delivered by an over-sampling module 920 capable of over-sampling the corresponding block of the base layer 1 16 if the spatial coding resolution 905 is greater than the spatial resolution of the corresponding block 1 16.
  • the subtraction module 940 delivers a residue 945.
  • Functional modules 950, 960 and 970 can be identical to modules that can be found in the encoding module for base layer 120. Their purpose is to process and encode, in the spatial encoding resolution, the residues resulting from the difference between the source block coming from the enhancement layer and the decoded block coming from the base layer.
  • a transformation module 950 is configured to deliver a block 955 of DCT coefficients by applying to the residue 945 a so-called DCT transformation ("Discrete Cosine Transform" in English) well known to those skilled in the art.
  • a quantization module 960 is capable of uniformly quantizing the coefficients here.
  • the result 965 is then encoded by an entropy encoding module 970 to deliver the encoded residue 135.
  • the first or the second mode of implementation of the coding method can be used to code a complete video sequence. They can also both be used for the same video sequence, the first mode being favored for the so-called INTRA images and the second for the so-called INTER images, implementing temporal prediction between two successive images. To implement the latter solution, the resulting device will have to implement in series the two structures shown in Figures 7 and 9.
  • the second mode of implementation of the method can be coupled to another mode of compression for the enhancement layers such as SHVC, one or the other mode being able to be selected according to the type of image. considered.
  • FIG. 10 describes the steps of a second mode of implementation of coding a block for the enhancement layer.
  • a coding step E620 comprises a step E1033 of determining the spatial coding resolution of the block.
  • the determination of the coding spatial resolution receives as input several predetermined spatial resolutions R1032, determined from a first reference image R1022 obtained during a step E1021.
  • This first reference image can be the base layer of the image of the video sequence considered at the previous instant (T-1).
  • a first motion vector R1024 is obtained in step E1023, this first motion vector pointing to a first reference block serving for the prediction of the block of the base layer corresponding to the considered block R615.
  • This first motion vector is scaled, step E1025, so as to have a second motion vector R1026 pointing to a second reference block in a second reference image R1029 obtained during a step E1028.
  • This second reference image corresponds in this example to the image enhancement layer of the video sequence considered at the previous instant (T-1).
  • step E1030 From this second reference block R1030, several spatial resolutions R1032 associated with this second reference block are obtained in step E1030, as explained above, with reference to FIG. 9.
  • the encoding spatial resolution is determined in step E1033 from the received spatial resolutions R1032.
  • the coding spatial resolution determined for the considered block R615 can be inferred from the spatial resolution which is in the majority at step E1033.
  • this spatial resolution can be privileged in step E1033 to infer the spatial resolution of the considered block R615.
  • the determined R615 encoding spatial resolution is used to encode the block for the enhancement layer in step E1033.
  • the coded residue R225 is delivered.
  • Figures 12 and 13 relate respectively to a first embodiment of a decoding module for an enhancement layer and a decoding method that can be implemented by the first embodiment of the decoding module.
  • FIG. 12 represents a decoding module 170 of a decoder 150, according to a first embodiment of the invention.
  • This first embodiment corresponds to the case where the corresponding encoder 100 comprises an entropy decoding module 780 capable of generating coded information representative of a spatial coding resolution for at least one block, as illustrated in FIG. 7.
  • the decoding module 150 receives as input a residue 135 representative of a block for the enhancement layer and the coded information 136 representative of the coding spatial resolution for this block.
  • a decoding module 1210 carries out entropy decoding of residue 135 to deliver a decoded residue 1215 as well as decoded information 1216 comprising the coding spatial resolution information associated with the block associated with residue 135.
  • An inverse quantization module 1220 is able to perform an inverse quantization on the decoded residue 1215, in order to deliver a dequantized residue 1225.
  • An inverse transformation module 1230 is able to apply an inverse transform (for example an inverse DCT if a DCT has been applied to the encoder 100) on the dequantized residue to generate a residual block 1235 transmitted to the input of an adder 1240.
  • This adder 1240 also receives as input a block 1205 delivered by an oversampling module 1200.
  • This module 1200 receives the spatial encoding resolution 1216 as an input. It oversamples a decoded block 165 for the base layer corresponding to the block considered for the enhancement layer, at this spatial encoding resolution 1216.
  • Adder 1240 can output a decoded intermediate block 1245, at the coding spatial resolution.
  • Another upsampling module 1250 is configured to over-sample the intermediate block to a final spatial resolution, if different from the encoding spatial resolution 1216, to obtain a final decoded block 175 for the enhancement layer to. the final spatial resolution corresponding to the initial spatial resolution at the encoder (2N * 2N in our example).
  • FIG. 13 represents a flowchart of a first mode of implementation of the E310 decoding of a block for the enhancement layer, which can be implemented in a decoding module 170 as illustrated in FIG. 12.
  • step E300 encoded data R305.
  • step E320 the encoded data representative of this block is decoded in step E320 to obtain a decoded block R325 for the base layer.
  • Step E310 concerns the decoding of data representative of the corresponding block for the improvement layer.
  • a step E1310 comprises a decoding of the information containing the spatial encoding resolution R1315 associated with the block considered.
  • a step E1320 comprises the decoding of the data representative of the block considered for the improvement layer. These R1325 decoded data are added in step E1350 with the data of an over-sampled decoded block R1345 for the base layer obtained during an over-sampling step E1340 of the decoded block for the base layer R325.
  • An intermediate block R1355 at the coding spatial resolution is obtained. It is oversampled in step E1360 if the encoding spatial resolution is different from the final spatial resolution of the block for the enhancement layer.
  • FIGS. 14 and 15 respectively relate to a second embodiment of the decoding module for the improvement layer 170 and an example of a decoding method for this improvement layer that can be implemented by the module represented on FIG. 14.
  • This second embodiment corresponds to the case where the corresponding encoder 100 does not send to the decoder information representing a spatial coding resolution for at least one block.
  • the decoding module 170 receives as input a residue 135 representative of a block for the enhancement layer.
  • An entropy decoding module 1410 is configured to implement entropy decoding of the residue 135.
  • a decoded residue 1415 is output from the entropy decoding module 1410. The latter performs a decoding as a function of decoding spatial resolution information. 1445, relating to the block for the enhancement layer.
  • An inverse quantization module 1420 is able to perform an inverse quantization on the decoded residue, in order to deliver a dequantized residue 1425.
  • An inverse transformation module 1430 is able to apply an inverse transform (for example an inverse DCT) to the dequantized residue. to generate a residual block 1435 transmitted at the input of an adder 1460.
  • This adder 1460 also receives as input a block 1455 delivered by an oversampling module 1450.
  • This module 1450 upsamples a decoded block 165 for the base layer corresponding to the block considered for the enhancement layer, at the coding spatial resolution 1445 that it also receives as input.
  • the adder 1460 can output a decoded intermediate block 1435, at the encoding spatial resolution 1445.
  • Another oversampling module 1470 is configured to oversample the intermediate block to a final spatial resolution, if it is different from the encoding spatial resolution 1445, to obtain a final decoded block 175 for the enhancement layer to. the final spatial resolution corresponding to the initial spatial resolution at the encoder (2N * 2N in our example).
  • the encoding spatial resolution information for the block is determined by a determination module 1440 based on a motion vector 167 provided by the decoding module for the base layer 160.
  • This motion vector points to a first reference block in a first reference image (e.g., base layer of a previously decoded image), this first reference block being used to predict the block for base layer 165.
  • the determination module is able to scale the motion vector 167 so that it points to a second reference block in a second reference image (for example the enhancement layer corresponding to the base layer forming the first reference image).
  • the determination means 1440 is then configured to infer the coding spatial resolution from the second reference block in the same way as the module 900 of the coding module of FIG. 9.
  • FIG. 15 represents a flowchart of an embodiment of a decoding method that can be implemented by the module of FIG. 14.
  • the decoder receives in step E300, encoded data R305. Then, for at least one block of the base layer, the encoded data representative of this block is decoded in step E320 to obtain a decoded block R325 for the base layer.
  • a first reference image R1535 (for example, base layer of a previously decoded image) is obtained. This first reference image is used for the E320 decoding of the data of the block of the base layer.
  • a second reference image R1545 is obtained from this first reference image (for example the enhancement layer corresponding to the base layer forming the first reference image).
  • step E1550 a second motion vector is obtained from a first motion vector R151 1 used for decoding the data of the corresponding block for the base layer. This second motion vector points to a reference block R1555 in the second reference image.
  • a spatial encoding resolution R1565 is determined in step E1560 from the spatial resolutions inferred from the reference block R1555.
  • the reference block being superimposed on several blocks in the second reference image, these blocks having different spatial resolutions (forming a set of predetermined spatial resolutions), in this case the coding spatial resolution can be inferred from the spatial resolution which is the majority.
  • the presence of one of the spatial resolutions for example 2N * 2N
  • a predetermined rate for example 30%
  • Representative data (residue) of the block for the enhancement layer R1525 is obtained. From these data R1580 is generated an intermediate block R1585 at step E1580. This intermediate block is oversampled in step E1590 if its resolution is different from the coding resolution R1565. The final decoded block R315 is obtained as an output.
  • FIG. 16 illustrates one particular way, among several possible, of implementing a processing means 1600 (for an encoder or a decoder) configured to implement an embodiment of a method according to invention.
  • the processing means 1600 comprises a random access memory 1630 (for example a RAM memory), a processing unit 1610 equipped for example with a processor, and controlled by a computer program stored in a read only memory 1620 (for example a memory ROM or hard drive).
  • a computer program stored in a read only memory 1620 for example a memory ROM or hard drive.
  • the code instructions of the computer program are for example loaded into the random access memory 1630 before being executed by the processor of the processing unit 1610.
  • the computer program executed by the processor may include instructions for implementing a mode of implementation of a coding or decoding method, as described above.
  • FIG. 16 illustrates only one particular way, among several possible, of realizing the processing means 1600 so that it carries out certain steps of the method according to the invention. In fact, these steps can be carried out either on a reprogrammable computing machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated computing machine (for example a set of logic gates such as an FPGA or ASIC, or any other hardware module).
  • a reprogrammable computing machine a PC computer, a DSP processor or a microcontroller
  • a program comprising a sequence of instructions
  • a dedicated computing machine for example a set of logic gates such as an FPGA or ASIC, or any other hardware module.
  • the processing means is produced with a reprogrammable computing machine
  • the corresponding program (that is to say the sequence of instructions) may be stored in a storage medium, which may or may not be removable, this storage medium being partially or fully readable by a computer or processor.
  • a computer program comprising instructions of program code for the execution of the steps of an implementation mode of an encoding or decoding method as described above, can be recorded on a recording medium readable by a computer.

Landscapes

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

Abstract

L'invention porte sur un procédé de codage de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d'amélioration. Le procédé comprend pour au moins une image de la séquence vidéo, une obtention à partir de ladite image, d'une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d'au moins un bloc de la première image pour générer la couche de base, une obtention à partir de ladite image, d'une deuxième image, le procédé comprenant en outre un partitionnement de la deuxième image en blocs en inférant la taille initiale d'au moins l'un des blocs à partir de la taille d'un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale, une détermination d'une résolution spatiale de codage associée audit au moins un bloc à partir d'un ensemble de résolutions spatiales prédéterminées, et un codage de données représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d'amélioration.

Description

Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo
Domaine technique de l'invention
La présente invention concerne de manière générale le domaine technique de la compression du débit de données pour la transmission du contenu vidéo de ces données.
Elle concerne en particulier la compression dite « scalable » consistant à utiliser une couche de base et une ou plusieurs couches d’amélioration pour compresser les données.
Etat de la technique
Les données représentatives d’un contenu vidéo peuvent être compressées en une couche de base et une ou plusieurs couches d’amélioration. Une norme de compression scalable comme SHVC peut être utilisée. Cette dernière se base sur le principe d’une adaptation d’une grandeur d’une couche à l’autre. Par exemple cette grandeur peut être la résolution spatiale où chaque couche d’amélioration possède une résolution supérieure à celle de la précédente. Cette structure couche de base/couches d’amélioration permet d’adapter la résolution spatiale, par exemple en fonction des conditions de transmission du flux.
Les normes de compression scalables telles que SHVC tel que défini dans le document de l’ITU-T, H.265, High efficiency video coding, 04/2015, mettent en œuvre une architecture de codage complexe entraînant des temps de traitement très élevés et une latence accrue.
L’invention propose notamment de résoudre les problèmes précités.
Présentation de l'invention
Dans ce contexte l’invention propose un procédé de codage de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration. Le procédé comprend pour au moins une image de la séquence vidéo,
o une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
o une obtention à partir de ladite image, d’une deuxième image, le procédé comprenant en outre un partitionnement de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une réso lution spatiale initiale,
une détermination d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble de résolutions spatiales prédéterminées, et
un codage de données représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amélioration.
L’invention permet dans un schéma de compression scalable, une adaptation de la résolution spatiale au niveau du bloc de l’image. Les blocs partitionnant des contenus hétérogènes d’une image (par exemple des contenus naturels) peuvent alors être codés en utilisant pour chacun une résolution spatiale de codage adaptée. Cela offre une meilleure restitution de l’image lorsque celle-ci est décodée. Par ailleurs, en réutilisant des décisions prises lors de l’encodage de la couche de base, et en utilisant au moins une résolution spatiale prédéterminée, on obtient un procédé d’encodage à très faible complexité avec peu de calculs. En d’autres termes, l’invention n’est pas un procédé de codage standard coûteux en termes de puissance de calcul mais un procédé ayant une complexité très basse ainsi qu’une latence réduite.
D’autres caractéristiques non limitatives et avantageuses du produit/procédé conforme à l’invention, prises individuellement ou selon toutes les combinaisons techniquement possibles, sont les suivantes.
De préférence ledit ensemble de résolutions spatiales prédéterminées peut comprendre au moins ladite résolution spatiale initiale.
Ainsi, si la résolution spatiale de codage correspond à la résolution spatiale initiale, le traitement du bloc et donc le nombre de calculs lors de son encodage, est limité.
Dans un premier mode de mise en œuvre, la détermination de la résolution spatiale de codage du bloc de la deuxième image peut comprendre
o une évaluation du coût de débit-distorsion pour ledit bloc pour au moins deux résolu tions spatiales prédéterminées, et o une détermination de la résolution spatiale de codage du bloc de la deuxième image en fonction des coûts de débit-distorsion évalués.
Ce mode de mise en œuvre présente une faible complexité et permet que plu sieurs résolutions spatiales possibles soient testées, afin de pouvoir choisir celle offrant le meilleur compromis entre le débit nécessaire et la distorsion résultant du codage. La limitation du nombre de résolutions spatiales à tester permet de maîtriser le nombre de calculs.
La résolution spatiale de codage déterminée peut être associée au coût de débit- distorsion évalué le plus bas. Ce mode de mise en œuvre offre l’avantage d’être parti- culièrement simple à mettre en œuvre.
Le procédé peut comprendre en outre : o une analyse du contenu dudit bloc de la deuxième image, et o une sélection des résolutions spatiales prédéterminées ayant un coût de débit- distorsion inférieur à un seuil prédéterminé, et si l’une des résolutions spatiales sélec- tionnées est adaptée au contenu analysé dudit bloc, la résolution spatiale de codage est déterminée à partir de ladite résolution spatiale adaptée, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas.
Par ailleurs, la détermination de la résolution spatiale de codage du bloc de la deuxième image peut comprendre en outre o une sélection des résolutions spatiales prédéterminées ayant un coût de débit-distor sion inférieur à un seuil prédéterminé, et
o une comparaison entre lesdites résolutions spatiales sélectionnées et la résolution spatiale d’au moins un bloc encodé appartenant au voisinage dudit bloc de la deuxième image, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage déterminée pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisinage, sinon la résolution spatiale de codage est déter minée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas. La détermination de la résolution spatiale de codage du bloc de la deuxième image peut comprendre en outre, si aucune résolution spatiale n’est adaptée au contenu analysé dudit bloc, une comparaison entre lesdites résolutions spatiales sélec tionnées et la résolution spatiale d’au moins un bloc encodé du voisinage, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisi nage, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas.
Les trois exemples précités permettent que les blocs appartenant à des zones de l’image ayant un contenu homogène en termes de détails ou de contours, se voient attribuer la même résolution spatiale de codage. Ainsi, les changements trop fréquents de résolution spatiale de codage, qui peuvent nuire à la qualité visuelle, sont évités.
Selon un autre mode de mise en œuvre, le codage d’au moins un bloc de la première image peut comprendre
o une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence, et
o une détermination dans la première image de référence, d’un premier bloc dit de pré diction et d’un premier vecteur de mouvement pointant sur le premier bloc de prédiction, et/ou la détermination de la résolution spatiale de codage dudit bloc de la deuxième image peut comprendre
une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence,
une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deu xième image de référence, ledit deuxième bloc de référence étant associé une ou plusieurs résolutions spatiales prédéterminées, et
une détermination de la résolution spatiale de codage dudit bloc de la deuxième image à partir des une ou plusieurs résolutions spatiales prédéterminées du deu xième bloc de référence.
Cet autre mode de mise en œuvre présente notamment deux avantages, à sa voir la cohérence temporelle des choix de résolution et un coût en signalisation nul, car le décodeur peut mettre en œuvre des étapes identiques. Ledit deuxième bloc de référence ayant une résolution spatiale prédéterminée, la résolution spatiale de codage du bloc de la deuxième image peut être inférée à partir de ladite résolution spatiale prédéterminée du deuxième bloc de référence.
Par exemple, la résolution spatiale de codage dudit bloc de la deuxième image peut être déterminée à partir de la résolution spatiale prédéterminée majoritaire asso ciée au deuxième bloc de référence.
Dans un autre exemple, si la proportion d’une résolution spatiale prédéterminée associée au deuxième bloc de référence est supérieure à un seuil prédéterminé, la ré solution spatiale de codage dudit bloc de la deuxième image peut être déterminée à partir de ladite résolution spatiale prédéterminée, sinon la résolution spatiale de codage dudit bloc de la deuxième image est déterminée à partir de la résolution spatiale prédé terminée majoritaire associée au deuxième bloc de référence.
La mise en place de ce seuil prédéterminé associé à une résolution spatiale pré déterminée (par exemple la résolution spatiale initiale), permet de limiter les risques de pertes de détails importants de l’image.
Le codage desdites informations représentatives dudit au moins un bloc de la deuxième image peut comprendre o un sous-échantillonnage dudit au moins un bloc de la deuxième image pour obtenir un bloc intermédiaire à une résolution spatiale de codage, si la résolution spatiale de codage est inférieure à la résolution spatiale initiale,
o un sur-échantillonnage à ladite résolution spatiale de codage, du bloc de la première image correspondant audit bloc de la deuxième image, si la résolution spatiale dudit bloc de la couche de base est inférieure à ladite résolution spatiale de codage dudit deuxième bloc de la deuxième image,
o la détermination des données représentatives dudit au moins un bloc de la deuxième image en fonction du bloc de la première image sur-échantillonné et dudit au moins un bloc sous-échantillonné de la deuxième image, et
o le codage desdites informations représentatives dudit au moins un bloc de la deu xième image. L’invention propose également un procédé de décodage d’un flux binaire sca- lable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo, o un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spatiale de codage dudit bloc pour la couche d’amélioration,
o un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
o un premier sur-échantillonnage du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
o une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
o un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amé lioration à partir de ladite information de résolution spatiale pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
L’invention propose également un procédé de décodage d’un flux binaire sca- lable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo, o un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
o un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit décodage comprenant en outre
• une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
• une obtention depuis le flux binaire d’un premier vecteur de mouvement pointant sur un premier bloc de prédiction dans la première image de ré férence, • une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
• une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
• une détermination d’une résolution spatiale de codage dudit bloc de la deuxième image à partir de la résolution spatiale du deuxième bloc de référence,
• un premier sur-échantillonnage du bloc décodé pour la couche de base, fonction de la résolution spatiale de codage,
• une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées re présentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
• un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
L’invention propose également un dispositif de codage de données correspon dant à une séquence vidéo, en un flux binaire scalable en résolution spatiale compre nant une couche de base et au moins une couche d’amélioration, le dispositif étant configuré pour mettre en œuvre pour au moins une image de la séquence vidéo, o une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
o une obtention à partir de ladite image, d’une deuxième image, le dispositif étant en outre configuré pour mettre en œuvre
un partitionnement de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une réso lution spatiale initiale, une détermination d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble de résolutions spatiales prédéterminées, et
un codage de données représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amélioration.
L’invention propose également un dispositif de décodage d’un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amé lioration, comportant des données codées correspondant à une séquence vidéo, le dis positif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
o un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spatiale de codage dudit bloc pour la couche d’amélioration,
o un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
o un premier sur-échantillonnage du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
o une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
o un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amé lioration à partir de ladite information de résolution spatiale pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
L’invention propose également un dispositif de décodage d’un flux binaire sca lable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le dispositif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
o un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base, o un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit dispositif de décodage étant en outre configuré pour mettre en œuvre
• une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
• une obtention depuis le flux binaire d’un premier vecteur de mouvement pointant sur un premier bloc de prédiction dans la première image de ré férence,
• une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
• une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
• une détermination d’une résolution spatiale de codage dudit bloc de la deuxième image à partir de la résolution spatiale du deuxième bloc de référence,
• un premier sur-échantillonnage du bloc décodé pour la couche de base, fonction de la résolution spatiale de codage,
• une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées re présentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
• un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
Bien entendu, les différentes caractéristiques, variantes et formes de réalisation de l'invention peuvent être associées les unes avec les autres selon diverses combinaisons dans la mesure où elles ne sont pas incompatibles ou exclusives les unes des autres. Description détaillée de l'invention
De plus, diverses autres caractéristiques de l'invention ressortent de la description annexée effectuée en référence aux dessins qui illustrent des formes, non limitatives, de réalisation de l'invention et où :
- la figure 1 est une vue d’un dispositif de codage et d’un dispositif de décodage selon un mode de réalisation de l’invention ;
- la figure 2 illustre un procédé de codage de données correspondant à une séquence vidéo selon un mode de mise en œuvre de l’invention ;
- la figure 3 illustre un procédé de décodage d’un flux binaire correspondant à une séquence vidéo selon un mode de mise en œuvre de l’invention ;
- la figure 4 illustre une couche de base et une couche d’amélioration correspondant à une image d’une séquence vidéo ;
- la figure 5 illustre un exemple d’un ensemble de résolutions spatiales possibles pour un bloc d’une image ;
- la figure 6 illustre plus en détail le procédé de codage selon un mode de mise en œuvre l’invention ;
- la figure 7 illustre une première variante d’un module pour le dispositif de codage selon un premier mode de réalisation de l’invention ;
- la figure 8 illustre un exemple du procédé de codage pouvant être mis en œuvre par la première variante du module de codage ;
- la figure 9 illustre une deuxième variante d’un module pour le dispositif de codage selon un deuxième mode de réalisation de l’invention ;
- la figure 10 illustre un exemple du procédé de codage pouvant être mis en œuvre par la deuxième variante du module de codage ;
- la figure 1 1 illustre un vecteur de mouvement dans une couche de base et dans une couche d’amélioration correspondant à une image de référence ;
- la figure 12 illustre une première variante d’un dispositif de décodage selon un premier mode de réalisation de l’invention ;
- la figure 13 illustre un exemple du procédé de décodage pouvant être mis en œuvre par la première variante du dispositif de décodage ;
- la figure 14 illustre une deuxième variante d’un dispositif de décodage selon un deuxième mode de réalisation de l’invention ; - la figure 15 illustre un exemple du procédé de décodage pouvant être mis en œuvre par la deuxième variante du dispositif de décodage ; et
- la figure 16 illustre un exemple d’une implémentation possible pour un dispositif de codage ou de décodage selon l’invention.
Bien entendu, diverses autres modifications peuvent être apportées à l’invention dans le cadre des revendications annexées.
La figure 1 représente un système formé d’un encodeur 100 et d’un décodeur 150 adapté à la compression vidéo en une couche de base et une ou plusieurs couches d’amélioration. On considère ici qu’une couche d’amélioration possède une résolution spatiale supérieure à la couche de base et à la couche d’amélioration précédente. L’encodeur 100 reçoit en entrée des images 105 formant une séquence vidéo. Par exemple ces images ont une résolution élevée UHD pour « Ultra High Définition » en anglais, correspondant à 3840 pixels par 2160 pixels.
Une image UHD est fournie à l’entrée d’un module 1 10 qui permet de la sous- échantillonner et de délivrer une image 1 15 avec une résolution inférieure à l’image d’entrée (ici HD pour « High Définition » en anglais, correspondant à 1920 pixels par 1080 pixels).
En variante, les images 105 peuvent être par exemple au format dit 8k (7680 pixels par 4320 pixels) et sous-échantillonnée au format UHD.
Le codage de l’image sous-échantillonnée 1 15 permet d’obtenir des données codées pour la couche de base. Pour ce faire, l’image 1 15 est partitionnée en blocs, chaque bloc étant codé par un module de codage 120 (par exemple correspondant à un module de codage de type HEVC), selon une norme de codage connu de l’homme du métier, par exemple HEVC. La référence 125 symbolise un bloc codé pour la couche de base, délivré par le module de codage120.
L’image UHD est également fournie en entrée d’un autre module de codage 130 pour le codage des données formant une couche d’amélioration. On considère dans cet exemple une seule couche d’amélioration, un dispositif de codage pour plusieurs couches d’amélioration étant facilement déductible de cet exemple, en démultipliant les modules de codage pour les différentes couches d’amélioration.
Cet autre module de codage 130 reçoit en entrée des informations de codage 1 17 du module de codage 120 pour la couche de base. Ces informations de codage 1 17 comme expliqué plus en détail ci-après, comprennent notamment une taille d’un bloc de la couche de base. L’autre module de codage 130 peut partitionner l’image UHD en différentes blocs dont la taille initiale est inférée de la taille du bloc de la couche de base.
Si la couche de base comprend des blocs de différentes tailles, la taille initiale d’un bloc pour la couche d’amélioration est inférée de la taille du bloc correspondant pour la couche de base.
Comme illustré sur la figure 4, un bloc correspondant 415 pour une couche de base 405 a une même position spatiale qu’un bloc considéré 435 d’une couche d’amélioration 425.
L’autre module de codage 130 comprend des moyens pour déterminer une résolution spatiale pour les blocs de la couche d’amélioration. Ces moyens sont aptes à déterminer la résolution spatiale d’un bloc à partir d’un ensemble de résolutions spatiales prédéterminées.
La résolution spatiale d’un bloc représente un nombre de pixels dans le bloc. Elle s’exprime généralement comme étant le produit entre le nombre de pixels selon une première direction (horizontale par exemple) et le nombre de pixels selon une deuxième direction (verticale par exemple). La résolution spatiale initiale d’un bloc correspond au nombre de pixels dans un bloc, à l’issue du partitionnement de l’image en blocs. La résolution spatiale du bloc peut être modifiée en le sous- ou sur échantillonnant selon une ou deux directions. Par exemple, la résolution spatiale initiale d’un bloc pour la couche d’amélioration peut être de 2N pixels par 2N pixels (où N=8 par exemple). Si le bloc est sous-échantillonné dans la direction verticale, on obtient une résolution spatiale 2N*N pour le bloc.
La figure 5 illustre des exemples de résolutions spatiales pouvant appartenir à l’ensemble de résolutions spatiales précité. Sont représentées quatre exemples de résolutions spatiales différentes pour un bloc (N*N, 2N*N, N*2N et 2N*2N), où N est un entier qui représente un nombre de pixels.
On se réfère à nouveau à la figure 1 . L’autre module de codage 130 est configuré pour déterminer un résidu se rapportant à une différence entre le bloc pour la couche d’amélioration considéré et un bloc correspondant reconstruit (c’est-à-dire codé puis décodé selon un procédé bien connu de l’homme du métier) 1 16 fourni par le module de codage 120 pour la couche de base. Ce résidu est codé et délivré en sortie de l’encodeur 135.
Le décodeur 150 reçoit en entrée un flux binaire comprenant des données encodées représentatives des images UHD 105. Un module de décodage 160 apte à décoder des données codées selon la norme utilisée par l’encodeur 100, décode des blocs codés 125 pour la couche de base, et délivre des blocs décodés 165 à la résolution HD. Le bloc décodé 165 correspond ici au bloc 1 16 reconstruit après encodage pour la couche de base.
Un autre module de décodage 170 est apte à décoder un flux binaire comprenant des données codées correspondant aux résidus 135 pour la couche d’amélioration. Le module de décodage 170 fournit un bloc décodé 175 à la résolution UHD, à partir du bloc correspondant décodé 165 pour la couche de base, et aux données décodées se rapportant au résidu 135.
Pour fournir le bloc décodé 175, l’autre module de décodage 170 peut également recevoir en entrée des informations de codage 167 du module de décodage 160 pour la couche de base. Alternativement, ces informations de codage 167 peuvent être obtenues du flux binaire fourni en entrée de l’autre module de décodage 170.
En fonction du niveau de résolution spatiale souhaité par un utilisateur final, le décodeur 150 fournit un bloc décodé 176 correspondant au bloc ayant une résolution spatiale supérieure (UHD) 175 ou inférieure (HD) 165.
La figure 2 illustre un exemple de procédé de codage selon l’invention, mis en œuvre par l’encodeur 100 de la figure 1 .
Une première étape E200 comprend une réception d’images ayant une résolution spatiale supérieure (par exemple UHD). Dans une étape E210, ces images UHD R205 sont sous-échantillonnées de façon à obtenir des images R215 ayant une résolution spatiale inférieure (par exemple HD). Le mot image est à interpréter ici dans un sens large. Il peut désigner une image avec plusieurs composantes dans le cas d’une image au format YCbCr par exemple, ou une seule de ces composantes, ou encore une sous-partie spatiale (ou portion) d’une image à plusieurs composantes ou de l’une de ses composantes. Au moins une image sous-échantillonnée R215 est partitionnée en blocs puis codée bloc par bloc dans une étape E230 pour générer la couche de base R235.
Les images (au moins une) ayant la résolution spatiale supérieure R205 sont également partitionnées en blocs et codée bloc par bloc lors d’une étape de codage E220 pour générer les données de la couche d’amélioration. Cette étape E220 utilise également des informations d’encodage R236 qui comprennent des informations de taille de blocs pour la couche de base. Ces informations d’encodage R236 sont utilisées pour le partitionnement en blocs lors de l’étape de codage E220 pour la couche d’amélioration, la taille initiale d’un bloc pour la couche d’amélioration étant inférée de la taille du bloc correspondant pour la couche de base.
Le codage d’un bloc pour la couche d’amélioration comprend également la détermination de la résolution spatiale du bloc comme expliqué plus en détail en référence à la figure 6.
Pour chaque bloc de la couche d’amélioration codé, un résidu est obtenu, à partir de la différence entre le bloc pour la couche d’amélioration et d’un bloc correspondant pour la couche de base R235. Ce résidu est encodé et fourni en sortie de l’étape de codage E225.
Les résidus codés pour la couche d’amélioration R225 et les blocs de la couche de base codés sont ensuite transmis vers un récepteur couplé au décodeur dans une étape E240. Les données pour la couche de base et la couche d’amélioration peuvent être transportées conjointement sur un même réseau de distribution ou bien sur deux réseaux distincts qui pourraient être de nature différente. Par exemple, les données codées relatives à la couche de base peuvent être transportées en diffusion numérique terrestre alors que les données codées relatives à la ou les couches d’amélioration seraient transmises via une connexion internet à des récepteurs capables de fonctionner à des résolutions spatiales plus élevées.
La figure 3 illustre un exemple de procédé de décodage d’un flux binaire comprenant des données codées représentatives d’une séquence vidéo selon l’invention. Ce procédé peut être mis en œuvre par le décodeur 150 de la figure 1 .
Dans une première étape E300, des données codées R305 sont obtenues, par exemple via un récepteur apte à recevoir un flux binaire scalable en résolution spatiale. Une étape E320 permet un décodage des données représentatives de la couche de base pour délivrer des images R325 de la séquence vidéo à la résolution spatiale inférieure HD.
Dans une autre étape E310, les données représentatives de la couche d’amélioration parmi les données obtenues R305 sont décodées à l’aide des images HD décodées R325, comme expliqué plus en détail ci-après.
A l’issue de cette étape de décodage E310 sont délivrées des images R315 de la séquence vidéo à la résolution spatiale supérieure UHD.
Finalement une sélection E330 est effectuée pour choisir une séquence vidéo R335 en fonction des contraintes de l’utilisateur.
La figure 6 détaille l’étape de codage d’un bloc pour la couche d’amélioration E220. On considère une image de résolution spatiale supérieure (UHD dans cet exemple) R205. Celle-ci est partitionnée en blocs dans une étape E610, où la taille initiale des blocs est inférée depuis la taille des blocs correspondants dans la couche de base R236. Chaque bloc issu du partitionnement a une résolution spatiale initiale.
Pour au moins un bloc E615 résultant de l’étape de partitionnement E610, on détermine alors une résolution spatiale de codage dans une étape E620. Cette résolution spatiale de codage R625 est déterminée à partir d’un ensemble de résolutions spatiales de codage comme détaillée sur les figures 8 et 10 ci-après, décrivant chacune un mode de mise en œuvre de cette étape de détermination E620.
La résolution spatiale de codage peut être différente de la résolution initiale d’un bloc, car plus adaptée au contenu du bloc et/ou plus proche des résolutions spatiales des blocs voisins impliquant une plus grande homogénéité dans le rendu de l’image et/ou ayant un coût débit et de distorsion plus faible.
Un résidu représentatif du bloc pour la couche d’amélioration et une information représentative de la résolution spatiale de codage sont ensuite codés dans une étape E630 comme expliqué en référence à la figure 2. On obtient un résidu et une information de résolution spatiale de codage encodé R225 pour le bloc concerné. Les étapes E620 et E630 peuvent être répétées pour chaque bloc résultant du partitionnement (ou seulement une partie) de chaque image de la séquence vidéo.
On se réfère à présent à la figure 7 qui illustre un premier mode de réalisation du module de décodage 130 pour la couche d’amélioration des images. La figure 8 décrite ci-après décrit un premier mode pouvant être mis en œuvre par ce module de décodage.
Une image à résolution spatiale supérieure 105 est délivrée en entrée d’un module de partitionnement en blocs 710. Ce partitionnement est réalisé en fonction de la taille 1 17 des blocs correspondant dans la couche de base.
Un bloc 106 est délivré à un moyen de détermination 720 de la résolution spatiale de codage du bloc.
Le bloc 106 a une résolution spatiale initiale résultant du partitionnement. Par exemple, cette résolution spatiale initiale est de 2N*2N.
Le moyen de détermination 720 reçoit en entrée une consigne d’une résolution spatiale de codage à tester 745 d’un module de décision 740. Ce module fonctionnel a pour rôle de choisir la résolution spatiale offrant le meilleur compromis débit- distorsion. Dans un premier temps, le module de décision 740 envoie successivement la consigne de coder le bloc considéré 106, choisie parmi l’ensemble contenant les résolutions spatiales possibles prédéterminées. Dans la suite de la description, il est considéré que les résolutions spatiales à tester sont les quatre résolutions représentées sur la figure 5. Cela permet d’avoir suffisamment de possibilités pour pouvoir adapter la résolution spatiale du bloc pour la couche d’amélioration au plus près du contenu de l’image, tout en limitant le nombre de calculs à effectuer par le module de codage pour la couche d’amélioration 130. En fonction des contraintes de codage et/ou des d’images à encoder, il est possible de réduire ou d’augmenter le nombre de résolutions spatiales à tester.
Le module de décision 740 est apte à estimer le coût en débit et la distorsion associés à chacune de ces résolutions spatiales testées. Pour ce faire, la résolution spatiale à tester 725 est transmise à la chaîne de codage 730 - 780.
Un premier module 730 est un module de sous-échantillonnage qui sous- échantillonne le bloc 106 si la résolution spatiale à tester 725 est inférieure à une résolution spatiale initiale qui est ici la résolution spatiale maximale possible pour le bloc 106. Un bloc possiblement sous-échantillonné 735 est délivré en sortie.
Un résidu 755 est généré par un module de soustraction 750 à partir du bloc sous-échantillonné 735 et d’un bloc à soustraire 705 obtenu à partir du bloc de la couche de base correspondant au bloc 106 considéré pour la couche d’amélioration. Le bloc à soustraire 705 est délivré par un module de sur-échantillonnage 700 apte à sur-échantillonner le bloc correspondant de la couche de base 1 16 si la résolution spatiale à tester 725 est supérieure à la résolution spatiale du bloc correspondant 1 16. Le module de soustraction 750 délivre un résidu 755.
Les modules fonctionnels 760, 770 et 780 peuvent être identiques à des modules que l’on peut trouver dans le module de codage pour la couche de base 120. Ils ont pour but de traiter et d’encoder, dans la résolution spatiale à tester choisie, les résidus résultant de la différence entre le bloc source venant de la couche d’amélioration et du bloc décodé venant de la couche de base.
Un module de transformation 760 est configuré pour délivrer un bloc 765 de coefficients en appliquant sur le résidu 755, une transformation, par exemple DCT (« Discrète Cosinus Transform » en anglais) bien connue de l’homme du métier.
Un module de quantification 770 est apte à quantifier ici uniformément, les coefficients. Le résultat 775 est ensuite codé par un module de codage entropique 780 pour délivrer le résidu codé 135.
Le module de codage entropique 780 est dans ce mode de réalisation, couplé au module de décision 740 de façon à lui fournir des informations de codage pour la résolution spatiale testée. Le module de décision peut ainsi calculer le coût de débit et la distorsion pour la résolution spatiale testée.
Ainsi dans un second temps, une fois toutes les résolutions spatiales testées, le module de décision 740 est apte à déterminer la résolution optimale en termes de coût débit-distorsion qui est la résolution spatiale de codage pour le bloc 106 considéré. Cette résolution de codage (par exemple 2N*N) est transmise au module de détermination 720 afin qu’il initie la boucle d’encodage finale avec la résolution spatiale de codage permettant d’obtenir le flux binaire de sortie représentant le bloc considéré de l’image à coder. Le module de codage entropique 780 fourni le résidu encodé 135 et une information codée 136 représentative de la résolution spatiale de codage.
En variante, le module de détermination 720 peut également être configuré pour affiner la décision prise par le module de décision 740 lors de l’étude du coût débit- distorsion. Pour ce faire, ce module 740 est configuré pour analyser à la fois des données représentatives du contenu du bloc considéré 106 (par exemple à l’aide d’une analyse des gradients au sein du bloc) et/ou par exemple la résolution choisie lors du précédent codage des blocs voisins au bloc considéré. En fonction de cette analyse, la consigne de résolution spatiale de codage 725 transmise à la boucle de codage pour le codage final peut être différente de celle obtenue par le module de décision 720 suite à l’évaluation de coût débit-distorsion. En effet, pour le bloc considéré, si le coût associé à la résolution choisie pour un bloc voisin est proche du coût optimal trouvé, celle-ci sera préférée à celle ayant le coût optimal. De cette manière, les blocs appartenant à des zones de l’image ayant un contenu homogène en termes de détails ou de contours se verront attribuer la même résolution spatiale de codage. Ainsi, les changements trop fréquents de résolution de codage, qui peuvent nuire à la qualité visuelle, sont évités.
La figure 8 représente un organigramme pour un premier mode de mise en œuvre d’un procédé de codage selon l’invention, en particulier pour générer la couche d’amélioration.
Comme déjà présenté en référence à la figure 6, une image de résolution supérieure est reçue, R205, celle-ci est partitionnée en blocs, étape E610, la taille initiale d’au moins un bloc étant inférée de la taille du bloc correspondant dans la couche de base R236.
Pour au moins un bloc résultant R615, la détermination de sa résolution spatiale de codage, étape E620, comprend une étape E821 de choix d’une première résolution spatiale de codage à tester. Ce choix est effectué parmi un ensemble de résolutions spatiales prédéterminées R827. Par exemple ces résolutions spatiales prédéterminées peuvent comprendre les quatre résolutions spatiales représentées sur la figure 5. Pour une résolution spatiale choisie à tester R822, un codage du bloc pour la couche d’amélioration est effectué dans une étape E823. Un résidu encodé R824 est obtenu pour la résolution spatiale choisie testée. Si d’autres résolutions spatiales doivent encore être testées, étape E825, les étapes E821 , E823 et E825 sont répétées jusqu’à ce que toutes les résolutions spatiales à tester l’ait été.
Puis, dans une étape E826, une résolution spatiale de codage pour le bloc de la couche d’amélioration est sélectionnée. La sélection peut être effectuée sur un critère de coût du débit et de distorsion associé au codage pour une résolution spatiale choisie. La résolution spatiale de codage peut être celle générant un coût de débit et de distorsion le plus faible. Mais la sélection peut être faite en se basant sur des critères supplémentaires comme décrit ci-avant. Par exemple, une analyse du contenu du bloc considéré peut être faite (en détectant des frontières dans le bloc d’image). Une résolution spatiale mieux adaptée à ce contenu (par exemple une résolution spatiale dite « horizontale » 2N*N pour se superposer à une frontière verticale détectée dans le bloc d’image) peut être déterminée. Dans ce cas, si la différence de coût de débit et de distorsion entre la résolution spatiale adaptée et la résolution spatiale testée ayant le coût débit distorsion le plus bas pour le bloc considéré est inférieure à un seuil prédéterminé, la résolution spatiale adaptée au contenu sera privilégiée pour être la résolution spatiale de codage du bloc considéré pour la couche d’amélioration.
Selon un autre exemple, la résolution spatiale d’un ou de plusieurs blocs voisins peut être obtenue (par exemple le voisin adjacent haut et/ou gauche), et si la différence de coût de débit et de distorsion entre cette résolution spatiale du bloc voisin et la résolution spatiale testée ayant le coût débit distorsion le plus bas pour le bloc considéré est inférieure à un seuil prédéterminé et si par exemple une analyse de contenu (détection de contours et de textures) révèle une similarité entre le bloc voisin et le bloc considéré, la résolution spatiale du voisin va être privilégiée pour être la résolution spatiale de codage du bloc considéré. Cet exemple permet d’améliorer l’homogénéité au sein d’une image, en privilégiant les mêmes résolutions spatiales pour des blocs voisins.
Selon un dernier exemple, les différents critères peuvent être étudiés successivement, afin de privilégier pour le bloc considéré, d’abord une résolution spatiale de codage adaptée au contenu, puis si ce n’est pas opportun, une résolution spatiale de codage homogène à celle de ses voisins, puis si le critère de seuil et/ou un critère de similarité de contenu n’est pas rempli, la résolution spatiale ayant le coût de débit et de distorsion le plus bas. L’enchaînement des deux premiers critères respectivement lié au contenu et au voisinage du bloc considéré, peut être interchangé.
Finalement une résolution spatiale de codage R625 est obtenue. Le bloc considéré pour la couche d’amélioration est codé en fonction de cette résolution spatiale de codage durant l’étape E630 pour délivrer le résidu encodé R225.
Les figures 9 et 10 suivantes se rapportent respectivement à un deuxième mode de réalisation d’un module de codage 130 et un deuxième mode de mise en œuvre d’un procédé de codage pouvant être implémenté dans le module de la figure 9. On se réfère donc à présent à la figure 9 qui illustre le deuxième mode de réalisation du module de codage 130 pour la couche d’amélioration des images.
De même que pour le premier mode de réalisation, un module de partitionnement 910 découpe une image 105 à la résolution spatiale supérieure en blocs, en inférant une taille initiale des blocs à partir de la taille des blocs correspondant pour la couche de base 1 17.
Un module de détermination 900 reçoit du module 120 pour le codage de la couche de base un vecteur de mouvement 1 17 pointant sur un premier bloc de référence dans une première image de référence, ce premier bloc de référence étant utilisé pour le codage du bloc correspondant 1 16. Plus précisément, le codage du bloc correspondant peut intégrer une prédiction pour prédire tout ou partie des données de ce bloc 1 16 à partir du bloc de référence, selon des modes de prédiction dits INTER bien connu de l’homme du métier. Par exemple, l’image de référence peut être la couche de base d’une autre image précédant temporellement l’image 105 considérée.
Le vecteur de mouvement provient des informations 1 17 transmises par le module pour le codage de la couche de base 120 au module pour le codage de la couche d’amélioration 130. Il est mis à l’échelle de façon à pointer vers un deuxième bloc de référence dans une deuxième image de référence correspondant à une couche d’amélioration de la première image de référence. Le vecteur de mouvement mis à l’échelle pointe alors sur un deuxième bloc de référence dans la deuxième image de référence.
Ce principe est illustré sur la figure 11. On considère une image à un instant T représentée par une couche de base 1 120 et une couche d’amélioration 1 130. La couche de base 1 120 comprend un bloc 1 121 (correspondant par exemple au bloc 1 16 de la figure 9) correspondant à un bloc 1 122 dans la couche d’amélioration 1 130. L’image de référence pour coder cette image à l’instant T est l’image de la même séquence vidéo à T-1 .
Cette image de référence comprend une couche de base 1 100 et une couche d’amélioration 1 1 10. La couche de base 1 100 comprend un bloc de référence source 1 102 utilisé pour prédire le bloc 1 121 de l’image à l’instant T. Le vecteur de mouvement est un vecteur 1 103 pointant sur le bloc de référence source 1 102 depuis un bloc 1 101 à la même position spatiale que le bloc à prédire 1 121 mais dans la couche de base 1 100 de l’image de référence. Ce premier vecteur de mouvement 1 103 mis à l’échelle donne un deuxième vecteur de mouvement 1 1 13 pointant depuis un bloc 1 1 1 1 correspondant au bloc 1 101 , vers un deuxième bloc de référence 1 1 12 pour la couche d’amélioration.
A noter que l’image de référence peut être une portion de l’image déjà codée à l’instant T, par exemple lorsque le codage inclut un mode de prédiction dit « INTRA Block Copy ».
On se rapporte à nouveau à la figure 9. Le module de détermination 900 est configuré pour obtenir depuis les informations 1 17, la résolution spatiale du deuxième bloc de référence sur lequel pointe le vecteur de mouvement mis à l’échelle, selon le principe explicité en référence à la figure 1 1 . Cette résolution spatiale du deuxième bloc constitue une résolution spatiale prédéterminée.
Par exemple, si le deuxième bloc de référence se superpose à plusieurs blocs dans la deuxième image de référence, définis lors du précédent codage de la deuxième image de référence, ces blocs ayant des résolutions spatiales différentes (formant un ensemble de résolutions spatiales prédéterminées), dans ce cas la résolution spatiale de codage du bloc considéré 106 peut être inférée à partir de la résolution spatiale qui est majoritaire.
Par exemple, si parmi les résolutions spatiales différentes, la présence de l’une des résolutions spatiales (par exemple 2N*2N) est supérieure à un taux prédéterminé (par exemple 30%), cette résolution spatiale peut être privilégiée pour inférer la résolution spatiale du bloc considéré 106.
Une fois une résolution spatiale de codage 905 obtenue par le module de détermination 900, elle est utilisée pour coder le bloc considéré 106, à l’aide de la boucle de codage 940-970 qui peut être semblable à celle utilisée pour coder un bloc d’une couche de base.
Un premier module 930 est un module de sous-échantillonnage qui sous- échantillonne le bloc 106 si la résolution spatiale de codage 905 est inférieure à une résolution spatiale initiale qui est ici la résolution spatiale maximale possible pour le bloc 106. Un bloc possiblement sous-échantillonné 935 est délivré en sortie. Un résidu 945 est généré par un module de soustraction 940 à partir du bloc sous-échantillonné 935 et d’un bloc à soustraire 925 obtenu à partir du bloc de la couche de base correspondant au bloc 106 considéré pour la couche d’amélioration. Le bloc à soustraire 925 est délivré par un module de sur-échantillonnage 920 apte à sur-échantillonner le bloc correspondant de la couche de base 1 16 si la résolution spatiale de codage 905 est supérieure à la résolution spatiale du bloc correspondant 1 16. Le module de soustraction 940 délivre un résidu 945.
Les modules fonctionnels 950, 960 et 970 peuvent être identiques à des modules que l’on peut trouver dans le module de codage pour la couche de base 120. Ils ont pour but de traiter et d’encoder, dans la résolution spatiale de codage, les résidus résultant de la différence entre le bloc source venant de la couche d’amélioration et du bloc décodé venant de la couche de base.
Un module de transformation 950 est configuré pour délivrer un bloc 955 de coefficients DCT en appliquant sur le résidu 945, une transformation dite DCT (« Discrète Cosinus Transform » en anglais) bien connue de l’homme du métier.
Un module de quantification 960 est apte à quantifier ici uniformément, les coefficients. Le résultat 965 est ensuite codé par un module de codage entropique 970 pour délivrer le résidu codé 135.
A noter que le premier ou le deuxième mode de mise en œuvre du procédé de codage peut être utilisé pour coder une séquence vidéo complète. Ils peuvent également être utilisés tous les deux pour une même séquence vidéo, le premier mode étant privilégié pour les images dites INTRA et le deuxième pour les images dites INTER, mettant en œuvre de la prédiction temporelle entre deux images successives. Pour mettre en œuvre cette dernière solution, le dispositif résultant devra implémenter en série les deux structures représentées sur les figures 7 et 9.
En variante le deuxième mode de mise en œuvre du procédé (figure 8) peut être couplé à un autre mode de compression pour les couches d’amélioration comme SHVC, l’un ou l’autre mode pouvant être sélectionné selon le type d’image considérée.
On se réfère à la figure 10 qui décrit les étapes d’un deuxième mode de mise en œuvre de codage d’un bloc pour la couche d’amélioration.
Comme déjà décrit précédemment, une image R605 à une résolution spatiale supérieure est partitionnée, étape E610, à l’aide de la taille des blocs correspondant pour la couche de base R236. Pour au moins un bloc R615 résultant, une étape de codage E620 comprend une étape E1033 de détermination de la résolution spatiale de codage du bloc.
La détermination de la résolution spatiale de codage reçoit en entrée plusieurs résolutions spatiales prédéterminées R1032, déterminées à partir d’une première image de référence R1022 obtenue au cours d’une étape E1021 . Cette première image de référence peut être la couche de base de l’image de la séquence vidéo considérée à l’instant précédent (T-1 ). Un premier vecteur de mouvement R1024 est obtenu à l’étape E1023, ce premier vecteur de mouvement pointant vers un premier bloc de référence servant à la prédiction du bloc de la couche de base correspondant au bloc considéré R615.
Ce premier vecteur de mouvement est mis à l’échelle, étape E1025, de façon à avoir un deuxième vecteur de mouvement R1026 pointant sur un deuxième bloc de référence dans une deuxième image de référence R1029 obtenue au cours d’une étape E1028. Cette deuxième image de référence correspond dans cet exemple à la couche d’amélioration de l’image de la séquence vidéo considérée à l’instant précédent (T-1 ). On a donc un deuxième bloc de référence R1030, à l’étape E1027, dans la deuxième image de référence R1029.
A partir de ce deuxième bloc de référence R1030, on obtient plusieurs résolutions spatiales R1032 associées à ce deuxième bloc de référence à l’étape E1030, comme expliqué ci-avant, en référence à la figure 9.
La résolution spatiale de codage est déterminée à l’étape E1033 à partir des résolutions spatiales reçues R1032.
Ainsi, comme expliqué ci-avant, plusieurs résolutions spatiales R1032 étant reçues (du fait que le deuxième bloc de référence contient plusieurs résolutions spatiales différentes), la résolution spatiale de codage déterminée pour le bloc considéré R615 peut être inférée à partir de la résolution spatiale qui est majoritaire à l’étape E1033.
Par ailleurs, si parmi les résolutions spatiales différentes, la présence de l’une des résolutions spatiales (par exemple 2N*2N) est supérieure à un taux prédéterminé (par exemple 30%), cette résolution spatiale peut être privilégiée à l’étape E1033 pour inférer la résolution spatiale du bloc considéré R615. La résolution spatiale de codage R615 déterminée est utilisée pour coder le bloc pour la couche d’amélioration à l’étape E1033. Finalement, le résidu codé R225 est délivré.
Les figures 12 et 13 se rapportent respectivement à un premier mode de réalisation d’un module de décodage pour une couche d’amélioration et d’un procédé de décodage pouvant être mis en œuvre par le premier mode de réalisation du module de décodage.
La figure 12 représente un module de décodage 170 d’un décodeur 150, selon un premier mode de réalisation de l’invention. Ce premier mode de réalisation correspond au cas où l’encodeur correspondant 100 comprend un module de décodage entropique 780 apte à générer une information codée représentative d’une résolution spatiale de codage pour au moins un bloc, comme illustré sur la figure 7.
Le module de décodage 150 reçoit en entrée un résidu 135 représentatif d’un bloc pour la couche d’amélioration et l’information codée 136 représentative de la résolution spatiale de codage pour ce bloc. Un module de décodage 1210 réalise un décodage entropique du résidu 135 pour délivrer un résidu décodé 1215 ainsi qu’une information décodée 1216 comportant l’information de résolution spatiale de codage associée au bloc associé au résidu 135.
Un module de quantification inverse 1220 est apte à opérer une quantification inverse sur le résidu décodé 1215, afin de délivrer un résidu déquantifié 1225. Un module de transformation inverse 1230 est apte à appliquer une transformée inverse (par exemple une DCT inverse si une DCT a été appliquée à l’encodeur 100) sur le résidu déquantifié pour générer un bloc résiduel 1235 transmis en entrée d’un additionneur 1240. Cet additionneur 1240 reçoit également en entrée un bloc 1205 délivré par un module de sur-échantillonnage 1200.
Ce module 1200 reçoit en entrée la résolution spatiale de codage 1216. Il sur échantillonne un bloc 165 décodé pour la couche de base correspondant au bloc considéré pour la couche d’amélioration, à cette résolution spatiale de codage 1216.
L’additionneur 1240 peut délivrer un bloc intermédiaire 1245 décodé, à la résolution spatiale de codage. Un autre module de sur-échantillonnage 1250 est configuré pour sur échantillonner le bloc intermédiaire à une résolution spatiale finale, si elle est différente de la résolution spatiale de codage 1216, afin d’obtenir un bloc décodé final 175 pour la couche d’amélioration à la résolution spatiale finale correspondant à la résolution spatiale initiale à l’encodeur (2N*2N dans notre exemple).
La figure 13 représente un organigramme d’un premier mode de mise en œuvre du décodage E310 d’un bloc pour la couche d’amélioration, pouvant être implémenté dans un module de décodage 170 tel qu’illustré sur la figure 12.
Comme déjà mentionné en référence à la figure 3, sont reçues à l’étape E300, des données codées R305. Puis pour au moins un bloc de la couche de base, les données codées représentatives de ce bloc sont décodées à l’étape E320 pour obtenir un bloc décodé R325 pour la couche de base.
L’étape E310 concerne le décodage des données représentatives du bloc correspondant pour la couche d’amélioration.
Une étape E1310 comprend un décodage des informations contenant la résolution spatiale de codage R1315 associée au bloc considéré. Une étape E1320 comprend le décodage des données représentatives du bloc considéré pour la couche d’amélioration. Ces données décodées R1325 sont additionnées à l’étape E1350 avec les données d’un bloc décodé sur-échantillonné R1345 pour la couche de base obtenu lors d’une étape de sur-échantillonnage E1340 du bloc décodé pour la couche de base R325.
Un bloc intermédiaire R1355 à la résolution spatiale de codage est obtenu. Il est sur-échantillonné à l’étape E1360 si la résolution spatiale de codage est différente de la résolution spatiale finale du bloc pour la couche d’amélioration.
On obtient un bloc décodé final pour la couche d’amélioration à la résolution spatiale finale.
Les figures 14 et 15 se rapportent respectivement à un deuxième mode de réalisation du module de décodage pour la couche d’amélioration 170 et un exemple d’un procédé de décodage pour cette couche d’amélioration pouvant être mis en œuvre par le module représenté sur la figure 14. Ce deuxième mode de réalisation correspond au cas où l’encodeur correspondant 100 n’envoie pas au décodeur une information représentative d’une résolution spatiale de codage pour au moins un bloc.
Comme illustré sur la figure 14 le module de décodage 170 reçoit en entrée un résidu 135 représentatif d’un bloc pour la couche d’amélioration. Un module de décodage entropique 1410 est configuré pour mettre en œuvre un décodage entropique du résidu 135. Un résidu décodé 1415 est délivré en sortie du module de décodage entropique 1410. Ce dernier effectue un décodage en fonction d’une information de résolution spatiale de décodage 1445, relative au bloc pour la couche d’amélioration.
Un module de quantification inverse 1420 est apte à opérer une quantification inverse sur le résidu décodé, afin de délivrer un résidu déquantifié 1425. Un module de transformation inverse 1430 est apte à appliquer une transformée inverse (par exemple un DCT inverse) sur le résidu déquantifié pour générer un bloc résiduel 1435 transmis en entrée d’un additionneur 1460. Cet additionneur 1460 reçoit également en entrée un bloc 1455 délivré par un module de sur-échantillonnage 1450.
Ce module 1450 sur-échantillonne un bloc 165 décodé pour la couche de base correspondant au bloc considéré pour la couche d’amélioration, à la résolution spatiale de codage 1445 qu’il reçoit également en entrée.
L’additionneur 1460 peut délivrer un bloc intermédiaire 1435 décodé, à la résolution spatiale de codage 1445.
Un autre module de sur-échantillonnage 1470 est configuré pour sur échantillonner le bloc intermédiaire à une résolution spatiale finale, si elle est différente de la résolution spatiale de codage 1445, afin d’obtenir un bloc décodé final 175 pour la couche d’amélioration à la résolution spatiale finale correspondant à la résolution spatiale initiale à l’encodeur (2N*2N dans notre exemple).
Pour ce mode de réalisation, l’information de résolution spatiale de codage pour le bloc est déterminée par un module de détermination 1440 en fonction d’un vecteur de mouvement 167 fourni par le module de décodage pour la couche de base 160.
Ce vecteur de mouvement pointe vers un premier bloc de référence dans une première image de référence (par exemple, couche de base d’une image préalablement décodée), ce premier bloc de référence étant utilisé pour prédire le bloc pour la couche de base 165. Le module de détermination est apte à mettre à l’échelle le vecteur de mouvement 167 de façon qu’il pointe vers un deuxième bloc de référence dans une deuxième image de référence (par exemple la couche d’amélioration correspondant à la couche de base formant la première image de référence). Le moyen de détermination 1440 est alors configuré pour inférer la résolution spatiale de codage à partir du deuxième bloc de référence de la même façon que le module 900 du module de codage de la figure 9.
La figure 15 représente un organigramme d’un mode de mise en œuvre d’un procédé de décodage pouvant être mis en œuvre par le module de la figure 14.
Comme déjà mentionné en référence à la figure 3, le décodeur reçoit à l’étape E300, des données codées R305. Puis pour au moins un bloc de la couche de base, les données codées représentatives de ce bloc sont décodées à l’étape E320 pour obtenir un bloc décodé R325 pour la couche de base.
A l’étape E1530 une première image de référence R1535 (par exemple, couche de base d’une image préalablement décodée) est obtenue. Cette première image de référence est utilisée pour le décodage E320 des données du bloc de la couche de base. A l’étape E1540, est obtenu une deuxième image de référence R1545 à partir de cette première image de référence (par exemple la couche d’amélioration correspondant à la couche de base formant la première image de référence).
A l’étape E1550 un deuxième vecteur de mouvement est obtenu à partir d’un premier vecteur de mouvement R151 1 utilisé pour le décodage des données du bloc correspondant pour la couche de base. Ce deuxième vecteur de mouvement pointe vers un bloc de référence R1555 dans la deuxième image de référence.
Une résolution spatiale de codage R1565 est déterminée à l’étape E1560 à partir des résolutions spatiales inférées depuis le bloc de référence R1555. Comme expliqué en référence à la figure 9, le bloc de référence se superposant à plusieurs blocs dans la deuxième image de référence, ces blocs ayant des résolutions spatiales différentes (formant un ensemble de résolutions spatiales prédéterminées), dans ce cas la résolution spatiale de codage peut être inférée à partir de la résolution spatiale qui est majoritaire. Dans un autre exemple, si parmi les résolutions spatiales différentes, la présence de l’une des résolutions spatiales (par exemple 2N*2N) est supérieure à un taux prédéterminé (par exemple 30%), cette résolution spatiale peut être privilégiée pour inférer la résolution spatiale du bloc considéré. A l’étape E1520 les données représentatives d’un bloc pour la couche d’amélioration correspondant au bloc décodé à l’étape E320 sont décodées. Sont obtenues des données représentatives (résidu) du bloc pour la couche d’amélioration R1525. A partir de ces données R1580 est généré un bloc intermédiaire R1585 à l’étape E1580. Ce bloc intermédiaire est sur-échantillonné à l’étape E1590 si sa résolution est différente de la résolution de codage R1565. Le bloc décodé final R315 est obtenu en sortie.
On se réfère à présent à la figure 16 qui illustre une manière particulière, parmi plusieurs possibles, de réaliser un moyen de traitement 1600 (pour un codeur ou un décodeur) configuré pour mettre en œuvre un mode de réalisation d’un procédé selon l’invention. Le moyen de traitement 1600 comprend une mémoire vive 1630 (par exemple une mémoire RAM), une unité de traitement 1610 équipée par exemple d'un processeur, et pilotée par un programme d'ordinateur stocké dans une mémoire morte 1620 (par exemple une mémoire ROM ou un disque dur). A l'initialisation, les instructions de code du programme d'ordinateur sont par exemple chargées dans la mémoire vive 1630 avant d'être exécutées par le processeur de l'unité de traitement 1610. Autrement dit, le programme d’ordinateur exécuté par le processeur, peut comporter des instructions pour la mise en œuvre d’un mode de mise en œuvre d’un procédé de codage ou de décodage, tel que décrit ci-avant.
La figure 16 illustre seulement une manière particulière, parmi plusieurs possibles, de réaliser le moyen de traitement 1600 afin qu’il effectue certaines étapes du procédé selon l’invention. En effet, ces étapes peuvent être réalisées indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d’instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel).
Dans le cas où le moyen de traitement est réalisé avec une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur. Autrement dit, un programme d’ordinateur comprenant des instructions de code de programme pour l’exécution des étapes d’un mode de mise en œuvre d’un procédé de codage ou de décodage tel que décrit ci-avant, peuvent être enregistrées sur un support d’enregistrement lisible par un ordinateur. II va de soi que les modes de mise en œuvre et de réalisation qui ont été décrits ci-dessus ont été donnés à titre purement indicatif et nullement limitatif, et que de nombreuses modifications peuvent être facilement apportées par l’homme de l’art sans pour autant sortir du cadre de l’invention.

Claims

Revendications
1 . Procédé de codage de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, le procédé comprenant pour au moins une image de la séquence vidéo,
- une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
- une obtention à partir de ladite image, d’une deuxième image, le procédé comprenant en outre
- un partitionnement (610) de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale,
- une détermination (620) d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble de résolutions spatiales prédéterminées, et
- un codage de données (630) représentatives dudit au moins un bloc, basé sur la résolution spatiale de codage déterminée, pour générer au moins une couche d’amé lioration.
2. Procédé selon la revendication 1 , dans lequel ledit ensemble de résolutions spatiales prédéterminées comprend au moins ladite résolution spatiale initiale.
3. Procédé de codage selon la revendication 2, dans lequel la détermination de la résolu tion spatiale de codage du bloc de la deuxième image comprend
- une évaluation du coût de débit-distorsion pour ledit bloc pour au moins deux résolutions spatiales prédéterminées, et
- une détermination de la résolution spatiale de codage du bloc de la deuxième image en fonction des coûts de débit-distorsion évalués.
4. Procédé de codage selon la revendication 3, dans lequel la résolution spatiale de co dage déterminée est associée au coût de débit-distorsion évalué le plus bas.
5. Procédé selon la revendication 3, comprenant en outre
- une analyse du contenu dudit bloc de la deuxième image, et - une sélection des résolutions spatiales prédéterminées ayant un coût de débit-distorsion inférieur à un seuil prédéterminé, et si l’une des résolutions spatiales sélectionnées est adaptée au contenu analysé dudit bloc, la résolution spatiale de codage est déterminée à partir de ladite résolution spatiale adaptée, sinon la résolution spatiale de codage est dé- terminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de dé bit-distorsion évalué le plus bas.
6. Procédé de codage selon la revendication 3, dans lequel la détermination de la résolu tion spatiale de codage du bloc de la deuxième image comprend en outre
- une sélection des résolutions spatiales prédéterminées ayant un coût de débit-distorsion inférieur à un seuil prédéterminé, et
- une comparaison entre lesdites résolutions spatiales sélectionnées et la résolution spa tiale d’au moins un bloc encodé appartenant au voisinage dudit bloc de la deuxième image, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage déterminée pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisinage, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion éva lué le plus bas.
7. Procédé de codage selon la revendication 5, dans lequel la détermination de la résolu tion spatiale de codage du bloc de la deuxième image comprend en outre, si aucune réso- lution spatiale n’est adaptée au contenu analysé dudit bloc, une comparaison entre lesdites résolutions spatiales sélectionnées et la résolution spatiale d’au moins un bloc encodé du voisinage, et si le résultat de la comparaison satisfait un critère prédéterminé, la résolution spatiale de codage pour ledit bloc est déterminée à partir de la résolution spatiale du bloc encodé du voisinage, sinon la résolution spatiale de codage est déterminée à partir de la résolution spatiale prédéterminée sélectionnée ayant le coût de débit-distorsion évalué le plus bas.
8. Procédé de codage selon la revendication 1 , dans lequel le codage d’au moins un bloc de la première image comprend
- une obtention à partir d’une image de référence, d’au moins une portion d’image de réfé- rence, dite première image de référence, et - une détermination dans la première image de référence, d’un premier bloc dit de prédic tion et d’un premier vecteur de mouvement pointant sur le premier bloc de prédiction, et dans lequel la détermination de la résolution spatiale de codage dudit bloc de la deu xième image comprend - une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vecteur de mou vement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence, ledit deuxième bloc de référence étant associé une ou plusieurs résolutions spatiales prédéterminées, et
- une détermination de la résolution spatiale de codage dudit bloc de la deuxième image à partir des une ou plusieurs résolutions spatiales prédéterminées du deuxième bloc de ré férence.
9. Procédé de codage selon la revendication 8, dans lequel ledit deuxième bloc de réfé- rence ayant une résolution spatiale prédéterminée, la résolution spatiale de codage du bloc de la deuxième image est inférée à partir de ladite résolution spatiale prédéterminée du deuxième bloc de référence.
10. Procédé de codage selon la revendication 8, dans lequel la résolution spatiale de co dage dudit bloc de la deuxième image est déterminée à partir de la résolution spatiale prédéterminée majoritaire associée au deuxième bloc de référence.
1 1 . Procédé de codage selon la revendication 8, dans lequel si la proportion d’une résolu tion spatiale prédéterminée associée au deuxième bloc de référence est supérieure à un seuil prédéterminé, la résolution spatiale de codage dudit bloc de la deuxième image est déterminée à partir de ladite résolution spatiale prédéterminée, sinon la résolution spatiale de codage dudit bloc de la deuxième image est déterminée à partir de la résolution spatiale prédéterminée majoritaire associée au deuxième bloc de référence.
12. Procédé selon l’une quelconque des revendications 1 à 1 1 , dans lequel le codage des dites informations représentatives dudit au moins un bloc de la deuxième image comprend - un sous-échantillonnage dudit au moins un bloc de la deuxième image pour obtenir un bloc intermédiaire à une résolution spatiale de codage, si la résolution spatiale de codage est inférieure à la résolution spatiale initiale,
- un sur-échantillonnage à ladite résolution spatiale de codage, du bloc de la première image correspondant audit bloc de la deuxième image, si la résolution spatiale dudit bloc de la couche de base est inférieure à ladite résolution spatiale de codage dudit deuxième bloc de la deuxième image,
- la détermination des données représentatives dudit au moins un bloc de la deuxième image en fonction du bloc de la première image sur-échantillonné et dudit au moins un bloc sous-échantillonné de la deuxième image, et
- le codage desdites informations représentatives dudit au moins un bloc de la deuxième image.
13. Procédé de décodage d’un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo,
- un décodage (1320) des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spatiale de codage dudit bloc pour la couche d’amélioration,
- un décodage (320) des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un premier sur-échantillonnage (1340) du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
- une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc dé codé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage (1360) du bloc décodé intermédiaire pour la couche d’amélioration à partir de ladite information de résolution spatiale pour délivrer un bloc dé- codé final à une résolution spatiale finale, pour la couche d’amélioration.
14. Procédé de décodage d’un flux binaire scalable en résolution spatiale, comprenant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le procédé comprenant pour au moins un bloc d’une image de la séquence vidéo,
- un décodage (320) des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un décodage des données (1520) correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit décodage comprenant en outre
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une obtention depuis le flux binaire d’un premier vecteur de mouvement poin tant sur un premier bloc de prédiction dans la première image de référence,
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vec teur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
- une détermination d’une résolution spatiale de codage dudit bloc de la deu xième image à partir de la résolution spatiale du deuxième bloc de référence,
- un premier sur-échantillonnage du bloc décodé pour la couche de base, fonc tion de la résolution spatiale de codage,
- une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
15. Dispositif de codage (100) de données correspondant à une séquence vidéo, en un flux binaire scalable en résolution spatiale comprenant une couche de base et au moins une couche d’amélioration, le dispositif étant configuré pour mettre en œuvre pour au moins une image de la séquence vidéo, - une obtention à partir de ladite image, d’une première image, un partitionnement de la première image en blocs, chaque bloc ayant une taille donnée, et un codage d’au moins un bloc de la première image pour générer la couche de base,
- une obtention à partir de ladite image, d’une deuxième image, le dispositif étant en outre configuré pour mettre en œuvre
- un partitionnement de la deuxième image en blocs en inférant la taille initiale d’au moins l’un des blocs à partir de la taille d’un bloc correspondant dans la première image, ledit au moins un bloc de la deuxième image ayant une résolution spatiale initiale,
- une détermination d’une résolution spatiale de codage associée audit au moins un bloc à partir d’un ensemble de résolutions spatiales prédéterminées, et
- un codage de données représentatives dudit au moins un bloc, basé sur la résolu tion spatiale de codage déterminée, pour générer au moins une couche d’améliora tion.
16. Dispositif de décodage (150) d’un flux binaire scalable en résolution spatiale compre nant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le dispositif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, et un décodage d’une information de résolution spatiale, représentative d’une résolution spa tiale de codage dudit bloc pour la couche d’amélioration,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un premier sur-échantillonnage du bloc décodé pour la couche de base en fonction de ladite information de résolution spatiale décodée,
- une obtention d’un bloc décodé intermédiaire pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc dé codé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélio ration à partir de ladite information de résolution spatiale pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
17. Dispositif de décodage (150) d’un flux binaire scalable en résolution spatiale compre nant une couche de base et au moins une couche d’amélioration, comportant des données codées correspondant à une séquence vidéo, le dispositif étant configuré pour mettre en œuvre pour au moins un bloc d’une image de la séquence vidéo,
- un décodage des données correspondant au bloc pour la couche de base pour obtenir un bloc décodé pour la couche de base,
- un décodage des données correspondant au bloc pour la couche d’amélioration pour obtenir des données décodées représentatives du bloc pour la couche d’amélioration, ledit dispositif de décodage étant en outre configuré pour mettre en œuvre
- une obtention à partir d’une image de référence, d’au moins une portion d’image de référence, dite première image de référence,
- une obtention depuis le flux binaire d’un premier vecteur de mouvement poin tant sur un premier bloc de prédiction dans la première image de référence,
- une obtention à partir de ladite image de référence d’au moins une autre portion d’image de référence, dite deuxième image de référence, dont au moins un bloc a une résolution spatiale déterminée,
- une obtention à partir du premier vecteur de mouvement, d’un deuxième vec teur de mouvement pointant sur un deuxième bloc dit de référence dans ladite deuxième image de référence,
- une détermination d’une résolution spatiale de codage dudit bloc de la deu xième image à partir de la résolution spatiale du deuxième bloc de référence,
- un premier sur-échantillonnage du bloc décodé pour la couche de base, fonc tion de la résolution spatiale de codage,
- une obtention d’un bloc décodé intermédiaire à la résolution spatiale de codage pour la couche d’amélioration à partir des données décodées représentatives du bloc pour la couche d’amélioration et du bloc décodé sur-échantillonné pour la couche de base, et
- un deuxième sur-échantillonnage du bloc décodé intermédiaire pour la couche d’amélioration pour délivrer un bloc décodé final à une résolution spatiale finale, pour la couche d’amélioration.
EP20705242.4A 2019-01-31 2020-01-24 Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo Pending EP3918798A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1900950A FR3092459B1 (fr) 2019-01-31 2019-01-31 Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo
PCT/FR2020/050101 WO2020157413A1 (fr) 2019-01-31 2020-01-24 Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo

Publications (1)

Publication Number Publication Date
EP3918798A1 true EP3918798A1 (fr) 2021-12-08

Family

ID=66867458

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20705242.4A Pending EP3918798A1 (fr) 2019-01-31 2020-01-24 Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo

Country Status (4)

Country Link
US (1) US12022097B2 (fr)
EP (1) EP3918798A1 (fr)
FR (1) FR3092459B1 (fr)
WO (1) WO2020157413A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11863786B2 (en) * 2021-05-21 2024-01-02 Varjo Technologies Oy Method of transporting a framebuffer

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140044168A1 (en) 2012-08-13 2014-02-13 Qualcomm Incorporated Device and method for scalable coding of video information
US12022059B2 (en) * 2018-12-07 2024-06-25 Beijing Dajia Internet Information Technology Co., Ltd. Video coding using multi-resolution reference picture management

Also Published As

Publication number Publication date
WO2020157413A1 (fr) 2020-08-06
US20220141475A1 (en) 2022-05-05
FR3092459A1 (fr) 2020-08-07
US12022097B2 (en) 2024-06-25
FR3092459B1 (fr) 2022-03-18

Similar Documents

Publication Publication Date Title
EP2991351B1 (fr) Procédé de décodage d'images
FR2894421A1 (fr) Procede et dispositif de decodage d'un flux video code suivant un codage hierarchique
FR2880743A1 (fr) Dispositif et procedes de codage et de decodage echelonnables de flux de donnees d'images, signal, programme d'ordinateur et module d'adaptation de qualite d'image correspondants
EP3707900B1 (fr) Procédé de formation d'une séquence d'images de sortie à partir d'une séquence d'images d'entrée, procédé de reconstruction d'une séquence d'images d'entrée à partir d'une séquence d'images de sortie, dispositifs, equipement serveur, equipement client et programmes d'ordinateurs associés
EP3694209A1 (fr) Procédé de décodage d'images, dispositif de décodage d'images, et programme d'ordinateur correspondant
FR3008840A1 (fr) Procede et dispositif de decodage d'un train scalable representatif d'une sequence d'images et procede et dispositif de codage correspondants
EP3198876B1 (fr) Génération et codage d'images intégrales résiduelles
EP3918798A1 (fr) Procédé et dispositif de codage et de décodage de données correspondant à une séquence vidéo
EP2633686B1 (fr) Codage video echelonnable a partir d'un epitome hierarchique
WO2018002474A1 (fr) Procédé de codage intra d'une image numérique et procédé de décodage correspondant
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
FR2913163A1 (fr) Procede et dispositif de transmission de donnees video
WO2008049628A1 (fr) Procede et dispoitif d'optimisation de la compression d'un flux video
FR2957744A1 (fr) Procede de traitement d'une sequence video et dispositif associe
FR3143246A1 (fr) Procédé et dispositif de codage et décodage d’images.
EP3854088A1 (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
FR3143245A1 (fr) Procédé et dispositif de codage et décodage d’images.
EP3991436A1 (fr) Procédé d'encodage et de décodage vidéo par signalisation d'un sous-ensemble de candidat
FR3143248A1 (fr) Procédé et dispositif de codage et décodage d’images.
FR3143247A1 (fr) Procédé et dispositif de codage et décodage de séquences d’images.
FR3120173A1 (fr) Détermination d’au moins un mode de codage d’image ou d’au moins un mode de décodage d’image, codage et décodage d’image utilisant une telle détermination
WO2007042539A1 (fr) Dispositifs et procedes de codage et de decodage echelonnables de flux de donnees d'images, signal, programme d'ordinateur et module d'adaptation de qualite d'image correspondants
FR2920940A1 (fr) Procede et dispositif de generation d'un flux video
FR2927494A1 (fr) Procede de decodage et codage d'une sequence d'images avec compensation de mouvement
FR2903845A1 (fr) Procede et dispositif de codage d'images, systeme de telecommunication comportant un tel dispositif et programme d'ordinateur mettant en oeuvre un tel procede

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

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)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS