WO2015090682A1 - Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants - Google Patents
Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants Download PDFInfo
- Publication number
- WO2015090682A1 WO2015090682A1 PCT/EP2014/072604 EP2014072604W WO2015090682A1 WO 2015090682 A1 WO2015090682 A1 WO 2015090682A1 EP 2014072604 W EP2014072604 W EP 2014072604W WO 2015090682 A1 WO2015090682 A1 WO 2015090682A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- image
- coding
- residue
- rate
- denotes
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods 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 set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/149—Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/19—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding using optimisation based on Lagrange multipliers
Definitions
- the field of the invention is that of the coding of image sequences and the compression of video sequences, in particular, but not exclusively, in the context of H EVC / H.265 standards (for "High Efficiency Video Coding") and SHVC (for Scalable-High Efficiency Video Coding) established by standardization bodies such as the ITU-T Video Coding Expert Group (VCEG) and the ISO / IEC Motion Picture Expert Group (MPEG).
- H EVC / H.265 for "High Efficiency Video Coding”
- SHVC Scalable-High Efficiency Video Coding
- the invention relates to the estimation and the regulation of the data rate at the output of a video encoder, implemented in the context of such a compression.
- the compression of a video sequence consists in reducing the amount of data necessary to represent it, while seeking to minimize the phenomena of loss of information, and therefore of quality.
- it is necessary to adapt the data rate at the output of the encoding system to take account, for example, of the constraints of the network on which they must be transmitted, or the size of the data carrier on which they must be stored.
- This rate adaptation must also take into account the quality of reproduction of the video sequence that one wishes to achieve for the decoded video stream.
- flow control strategies aimed at modulating the amount of information at the output of the encoder to obtain an optimal bit rate and quality, are conventionally implemented. They allow to control certain parameters of the encoding to obtain a flow which respects a set of imposed constraints.
- One of the main challenges of such a flow control is therefore to find a model connecting the parameters of the encoding to the data rate at the output of the encoder.
- the video coding as proposed for example in the standard MPEG-4 AVC (for "Advanced Video Coding") or in the standard HEVC, implements the following steps:
- the images are first divided into blocks of variable size, depending on the complexity of the movement to be represented;
- Block Residue Block 0riginal - Block Predicts ;
- the residual signal of the prediction then undergoes a set of treatments aimed at removing as many redundancies as possible, namely a transformation, to make it pass in the frequency domain, followed by a quantization;
- the final stream, or bitstream, is then formed respecting the normative structure, an entropy encoding for compressing the information in the bitstream.
- QP quantization parameter
- R (p) 6 (1 - p).
- each image is encoded twice: the first pass is used to initialize the R-p rate model, by establishing a slope parameter ⁇ ; the optimal value of the quantization parameter QP is then chosen thanks to the flow model; a second encoding pass permanently encodes the image using the QP quantization parameter chosen to achieve the target rate.
- a disadvantage of this first two-pass encoding approach is that the pre-encoding phase necessary to initialize the bitrate model induces a sharp increase in encoding time: it therefore strongly penalizes the speed of the mechanism, and introduces a complexity in terms of calculations.
- the encoding is performed in a single pass, and the flow control on the current image is based on the information obtained after the encoding of the images. preceding. More specifically, for the rate regulation of a current image, the slope ⁇ of the rate model Rp is initialized to a value calculated on a previous image chosen as a reference for the rate model, namely the image which has the behavior closest to that of the image being controlled. This value of ⁇ is then corrected, as the encoding progresses, thanks to the feedback of the values of ⁇ measured on the previously coded images.
- this second approach has the advantage of inducing a reduced encoding time compared to the first approach above, thanks to the removal of the first encoding pass, and a very low cost in terms of complexity calculations, it induces a decrease in the accuracy of flow control. Indeed, the changes of content between successive images, even minimal, introduce a bias in the calculation of the optimal quantization parameter. In addition, if there is a significant change in activity between successive images (large variations in movement and detail), the results obtained according to this second approach are less efficient than in the first approach.
- p denotes a percentage of zero coefficients in at least one coding residue of the image, after transformation and quantization of the residue, the residue being obtained by difference between a block of the image and a prediction of the block
- ⁇ denotes a parameter of slope of said flow model.
- such an estimation method comprises a step of calculating the slope parameter ⁇ taking into account a multiple of a surface of the coded coding residue (s) for the image, the surface being the sum of the resolutions of each of the components of the image.
- the invention is based on a completely new and inventive approach to the estimation of the coding complexity of an image to be encoded, which may notably but not exclusively be applied to the regulation of output flow of a video encoder, for example according to H EVC or SHVC standard.
- such a link between the slope parameter ⁇ and the surface of a coding residue, or more generally, the image to be encoded may be a proportionality link.
- the slope parameter ⁇ is calculated as a multiple of this area.
- surface area of the image here and in the entirety of this document is meant the sum of the resolutions of each of the components of the image in the chosen decomposition space. So, in the YUV space for example, the surface of the image corresponds to the sum of the resolutions of each of the chrominance and luminance components of the image.
- Such a rate estimation method implemented in an H EVC / H.265 or SHVC type coder, advantageously makes it possible to achieve optimal compression as soon as the first coding pass, and to substantially reduce the algorithmic complexity of such an encoder.
- the inventors of the present patent application have established a formulation of the Rp model at a coding residue of the image, in which the slope parameter ⁇ depends on the size of the residue.
- the flow estimation method of the invention thus offers a precise and deterministic formulation of the flow rate model Rp, at the level of a residue, and thus allows a simplification of the algorithmic complexity with respect to the flow control methods of the invention. prior art.
- the adjustment parameter ⁇ depends on the statistical distribution of the coefficients and their location in the residue.
- the skip skip rate designates here, and in all of this document, the total area covered by the coding units CU (for "Coding Units") whose flag cu_skip_flag is worth ⁇ ', divided by the total area of the image.
- the inventors have demonstrated that, during the coding of an image, all the coding residues are not coded: when the prediction is sufficiently good, the residue can be zero.
- the associated macroblock may not be compressed: it is said that it is "skipped".
- the invention therefore advantageously proposes to refine the R-p flow model, by expressing the slope parameter ⁇ , not from the total surface of the image, but from the unskipped surface of the image. Such a formulation makes it possible to obtain an increased accuracy of the flow model.
- the adjustment parameter ⁇ depends on the statistical distribution of the coefficients and their location in the residue.
- the invention also relates to a coding method of an image sequence comprising a step of cutting each of the images into at least one image block, and an encoding phase comprising steps of:
- such a coding method comprises a step of calculating the slope parameter ⁇ taking into account a surface of the coded coding residue (s) for the image, the surface being the sum of the resolutions of each component of the image.
- such a slope parameter ⁇ is in particular calculated as a multiple of a surface of the coded encoding residue (s) for the image.
- such a coding method implements a single iteration of the encoding phase.
- the video coding method of the invention makes it possible, with respect to prior video coding methods based on a rate regulation according to a so-called p-domain approach, to realize only one encoding pass, the slope parameter ⁇ can be calculated directly, without having to evaluate it during a first initialization pass of the encoding. Deleting a password encoding, the encoding method of the invention can significantly improve latency latency encoders of the prior art.
- the method of the invention allows a more accurate estimation of the slope parameter ⁇ .
- the invention also relates to a coding device for an image sequence comprising a module for cutting each of the images into at least one image block, and an encoding module comprising:
- a prediction module of each of the blocks delivering a predicted block
- the regulation means comprise a module for calculating the slope parameter ⁇ taking into account a surface of the coded coding residue (s) for the image, the surface being the sum of the resolutions each of the components of the image, and each of the blocks is encoded by a single passage in the encoding module.
- the invention relates to a coding device having in combination all or some of the features set forth throughout this document.
- the invention also relates to computer programs comprising instructions for implementing a control method or coding method as described above when the program is executed by a processor.
- the invention relates to computer readable recording media on which is recorded a computer program comprising instructions for executing the steps of the control method or coding method as described above.
- FIG. 1 illustrates the architecture of a video coder of the prior art making it possible to deliver a video stream conforming to the H EVC standard
- FIGS. 2A and 2B show a comparison between the R-p model of the invention and simulation results for various residues derived from reference bitstreams;
- FIG. 3 illustrates a comparison between the R-p model according to a first embodiment of the invention and simulation results for different class A to E images
- FIG. 4 illustrates a comparison between the R-p model according to a second embodiment of the invention and simulation results for different class A to E images
- FIG. 5 illustrates a first variant embodiment of the encoder of FIG. 1, in which a regulation of flow rate at the residue level is implemented in accordance with one embodiment of the invention
- FIG. 6 illustrates a frame structure in Random Access configuration, with encoding order, in accordance with the H EVC standard
- FIG. 7 illustrates a second variant embodiment of the encoder of FIG. 1, in which frame level flow regulation is implemented in accordance with one embodiment of the invention.
- the general principle of the invention is based on a precise and deterministic calculation of the slope parameter ⁇ in a rate model Rp of a so-called p-domain approach. implemented as part of a mechanism for estimating the complexity of coding an image.
- Such a principle applies in particular advantageously, but not exclusively, to the regulation of the data rate at the output of a video encoder.
- the inventors of the present patent application have established that, in the context of a video coding of type H EVC or SHVC for example, this slope parameter ⁇ could simply be calculated from a surface of the coded residues of the image, and in particular, in the embodiment described below, as the quadruple of this surface.
- the invention makes it possible to estimate the coding complexity of an image to be encoded or of a coding residue, in the context of a predictive video coding.
- the HEVC standard has been designed to meet all existing H. 264 / MPEG-4 AVC standard applications, allowing for increased video resolution and increased use of parallel processing architectures.
- FIG. 1 illustrates the architecture of a video encoder making it possible to produce a video stream having a structure and syntax in accordance with the H EVC standard, and capable of implementing the rate control method of the invention.
- a video coder is known from the prior art, but its operating principle is recalled to better illustrate the principle of the invention.
- Each CTU is itself subdivided into coding units called CUs (for "Coding Units”, composed of CBs for “Coding Blocks”, namely one per color component), themselves divided into prediction units called PUs (for " Prediction Units ", composed of PB for” Prediction Blocks ", one per color component) and in transformation units called TUs (for" Transform Units ", composed of TB for” Transform Blocks ", one per colorimetric component).
- CUs for "Coding Units", composed of CBs for "Coding Blocks", namely one per color component
- PUs for " Prediction Units ", composed of PB for” Prediction Blocks ", one per color component
- TUs for Transform Units ", composed of TB for" Transform Blocks ", one per colorimetric component
- the first image of a video sequence (and each image used as a random access point to the video sequence) is encoded using the intra prediction mode (ie a spatial prediction from other regions of the same image, but without using other images of the sequence).
- the intra prediction mode ie a spatial prediction from other regions of the same image, but without using other images of the sequence.
- the block referenced 101 estimates which intra prediction mode is optimal, while the block referenced 102 realizes the prediction from this optimal mode.
- an inter-image temporal prediction is used for all the other images of the sequence, or between the different random access points to the sequence, for most blocks.
- the block referenced 103 estimates the optimal motion vector or vectors (from the buffer 110 containing the previously encoded images); the block referenced 104 then applies these movements by making motion compensation for the prediction.
- the important prediction information is stored and transmitted (via data signals referenced 105 and 106) to be encoded and placed in the bitstream.
- the encoder and decoder generate identical inter prediction signals, applying motion compensation from the motion vectors, and information about the prediction modes used, which are transmitted in the bitstream.
- the residual of the inter or intra prediction (applied to each PB of a PU block) is formed by the difference between the original block and its prediction. The more accurate the prediction, the less energy the residue contains. It is then transformed by a spatial linear transform (applied to each TB of a TU block). The coefficients of the transform are then scaled, quantized (block referenced 107). The thus transformed and quantized residue 108 is retained to be encoded and transmitted in the bitstream. In order for the decoder to reproduce the same reference images used for the temporal prediction, the encoder integrates a quantization and inverse transformation block 109. Block partitioning can create visible artifacts and level differences during the transformation phases. quantization, which may negatively impact the accuracy of the prediction.
- a first pre-analysis step 111 determines the optimal filters to be applied, then these filters are applied in the block referenced 112.
- the referenced information 113 relating to the choice of filters are retained to be encoded and transmitted in the bitstream.
- a control block 114 manages the CTUs and the prediction modes to be applied. The information relating to this management is also stored in the stream referenced 115 for encoding and insertion in the final bitstream.
- the bitstream 116 is formed respecting the normative structure of the H EVC stream.
- An entropic coder CABAC Arimetic Binary Encoding with Context Adaptation
- the quantization of the coefficients resulting from the transform, implemented in the block referenced 107 in FIG. 1, constitutes a very important step in the encoding process with respect to the problematic of the invention, since it makes it possible to vary the the rate needed to encode the signal by adjusting the amount of data lost.
- quantization parameter QP Quantization Parameter
- the present invention proposes a regulation of flow rate based on a so-called p-domain approach, which is interesting from the point of view of both the precision of its representation and its low complexity in algorithmic terms.
- constraints to be applied to the flow are determined according to the context envisaged
- the available resources are then calculated and distributed among the different levels of the flow;
- the value of the quantization parameter is chosen in accordance with the resources to be respected;
- the data is encoded using the chosen QP and the available resources are updated.
- the p-domain rate regulation approach is based on an expression of the relationship between the value of the quantization parameter and the output rate of the encoder.
- the adjustment parameter ⁇ can be neglected at first approach.
- a frame is conventionally composed of several components, for example the components YUV. If we consider more generally the case of a component C of the image (C can, in a particular case, be one of the components Y, U or V), the relation (4) can then be summed on this component C of the image, denoting by RZ the set of residues in this component C:
- FIGS. 2A and 2B show the curves of the rate R as a function of the parameter p, after entropic coding of the CABAC type, respectively for class A (FIG. 2A) and class B (FIG. 2B) images.
- class A contains two sequences of 2500x1600 resolution, the two sequences containing many movements.
- Class B contains 6 sequences of 1920x1080 resolution with varied content (tracking, fixed shots, with or without plane changes).
- JCTVC-O0022 prepared by the Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11 "at the 15th meeting held in Geneva, Switzerland, from 23 October to 1 November 2013.
- the lines referenced 20, 21, 22 and 23 represent the theoretical model of the rate R as a function of the parameter p obtained according to the calculation method of the invention, considering the slope parameter ⁇ equal to 4 * N 2 , for coding residuals of size 4x4 (right referenced 20), 8X8 (right referenced 21), 16x16 (right referenced 22), 32x32 (right referenced 23), and neglecting the adjustment coefficient ⁇ .
- the scatter plots represent the flow values measured on residues from reference bitstreams, respectively of size 4x4, 8x8, 16x16 and 32x32. These reference bitstreams correspond to the sequences from the classes mentioned previously encoded using the reference software, in Random-Access configuration and for four fixed QP values (22, 27, 32 and 37).
- the HM reference software consists of an encoder and a decoder used for compliance and interoperability testing.
- the reference bitstreams are streams, encoded with the reference software, and made available by the BBC (registered trademark) to be able for example to test the decoders. Bitstreams are available and cover for each sequence the eight configurations (All-Intra, All-Intra 10, Low-Delay P, Low-Delay P 10, Low-Delay B, Low-Delay B 10, Random-Access and Random Access 10), for four different QP's (22, 27, 32 and 37).
- JCT-VC Joint Collaborative Team on Video Coding
- FIG. 3 illustrates the evolution of the rate R as a function of the parameter p, no longer at the level of a residual, but at the level of one frame, for different class A to E images. Indeed, to achieve a saving in In terms of calculations, it is sometimes preferable to perform rate control at the image level and to encode each macroblock with the same value of the quantization parameter QP.
- the test sequences are divided into 5 classes of resolutions and varied contents (A : 2560x1600, B: 1920x1080, C: 832x480, D: 416x240 and E: 1280x720).
- the clouds of points concentrated around the lines referenced 30 to 34 represent, for their part, the values measured on frames from the aforementioned reference bitstreams for these different classes A to E.
- the flow rate model Rp illustrated by the curves referenced 30 to 34 is therefore fairly close to reality, but does not prove to be as accurate as the flow rate model at the residue level illustrated in FIGS. 2A and 2B. Indeed, when encoding a frame, a non-negligible number of residues are not coded: the prediction being perfect, the residues are indeed null, which causes the "skip” (ie the non-compression ) of some elementary coding units in the image, or CL ) for "Coding Unit".
- an alternative embodiment of the invention relies on an approach making it possible to estimate it more precisely, and thus to move the lines referenced 30 to 34 of FIG. 3 to the associated point clouds, depending on the properties of the frame.
- the total area of the frame is not considered to be the coded surface, but the non-skippered surface in the image is taken into account.
- the rate of skip skip r, the parameter p and the flow rate outputted from the encoder were measured when decoding each frame, for all sequences. For each skip rate interval of 1%, the slope of the line is estimated by linear regression. These estimated values are then compared to the slope values determined using equation (15).
- Table 4 below makes it possible to observe the average accuracy obtained in the slope estimation using the method of the invention. This precision is increased on the range corresponding to the most frequent cases in practice (namely + 50% of skip).
- the flow control method of the invention thus makes it possible, compared with the known methods of the prior art implementing flow control in two encoding passes, to eliminate a first encoding pass. It also makes it possible to estimate the slope of the p-domain more precisely in the context of one-pass regulation.
- FIG. 5 illustrates a modified architecture of the video coder of FIG. 1 for implementing flow control at the CTU level, in accordance with the principle of the invention described above.
- the architecture of the encoder of FIG. 5 differs from that of FIG. 1 in that the transform-quantization block 107 is split into a first block referenced 107a operating the transformation of the residues, and a second block referenced 107b operating their quantization.
- the block referenced 118 receives the budget allocated for the coding, as well as the size of the residue, from the control block referenced 114. From the equation (4) proposed above, it calculates the value of the parameter p, it transmits to the block referenced 119.
- the block referenced 119 then calculates, from the value of p received from the block referenced 118, the appropriate quantization parameter QP.
- the block referenced 107b then proceeds to the quantization of the transformed residue by the block referenced 107a from the quantization parameter QP determined by the block referenced 119.
- Random-Access configuration is the case of use for broadcasting: the images are placed in the decoding order in the bitstream (which is different from the display order).
- Ramdom-Access Point pictures appear regularly in the bitstream so that you can resume decoding the current program.
- the numerical value associated with each of these frames indicates the order of encoding (and thus decoding) of these different images.
- These images are grouped into groups of images (or GOP, for Groups of Pictures): thus, the images numbered from 1 to 8 constitute a first GOP; the images referenced from 9 to 16 constitute a second GOP; etc.
- an Intra image uses only spatial prediction, and in particular allows to initialize the encoding of a sequence (RAP), because it is coded independently of the other images;
- an Inter image uses intra- and inter-image prediction and therefore exploits spatial redundancies in the image, and temporal in the image sequences.
- the images are encoded in successive time levels according to a pyramidal structure based on Inter images.
- the frame 1 is a unidirectional Inter picture
- the frames numbered 2 to 8 are bidirectional Inter pictures.
- the initialization for the first GOP may be as described in Table 5 below, with the POC (for "Picture Order Count") which numbers the position of the frame in the GOP:
- the skip rate ski p of the numbered frame 15 can be predicted with respect to the frames previously encoded according to the equation:
- the skip rate can be predicted according to the equation:
- the skip rate sk i P of the enhancement layer can be determined from the skip rate Sk i P measured on the layer. basic.
- the skip rate sk i P can be determined based on the correlation between an image and its nearest neighbors, which can give an indication of the proportion of the image that is motionless, and who could be skippered.
- the measurement of r skip skip rate during encoding can be carried out simply, using a counter: for a given frame, when a coding unit CU is skippered (ie uncompressed because the residue is zero) this counter is incremented with the surface of this skippered CU coding unit, taking into account the 3 characteristic YUV components of the color space used.
- the value S skip stored in the counter corresponding to the total area skipped for this frame, is divided by the total area of the image S Frame in order to obtain the r Sk i P -
- the counter is then reset for the next frame.
- the formula for calculating the r skip is then:
- FIG. 7 illustrates a variant of the architecture of the encoder of FIG. 1, making it possible to implement a flow rate regulation at the frame level, according to the principle of the invention.
- the architecture of the video encoder of FIG. 7 differs from that of the encoder of FIG. 1 by the elements described hereinafter.
- the block referenced 119 receives the value of the counter coming from the block referenced 118 and divides it by the total surface of the image (ie the sum of the surfaces of the components) in order to determine the value of the r skip parameter.
- the value of the ratio r skip is transmitted to a database 120 of r skips per frame (according to the hierarchical level of the frame in the GOP).
- the block referenced 121 determines the r skip for the next frame, for example by moving average (as explained above in relation to FIG. 6), using the database 120. It transmits the value thus determined to the block referenced 122. , which also receives from block referenced 114 the budget allocated to the coding and the total surface of the image. The block referenced 122 can then deduce the value of the parameter p from the equation (15) at the frame level, and transmits it to the block referenced 123.
- the block referenced 123 determines the value of the quantization parameter QP, and transmits it to the controller 114, which, in turn, communicates it to the quantization block referenced 107.
- the rate control method of the invention makes it possible to substantially reduce the complexity of the video encoder compared to the methods of the prior art. In particular, it makes it possible to halve the latency of a double-pass encoder. It also makes it possible to substantially increase the accuracy, the quality or the bit rate, according to the fixed constraints, of a simple pass encoder.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
L'invention concerne un procédé d'estimation d'un débit de codage d'une image (100) d'une séquence d'images mettant en œuvre un modèle de débit selon une approche dite ρ-domaine tel que R(ρ) = θ(1 - ρ), où : - R désigne ledit débit, - ρ désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation (107a) et quantification (107b) dudit résidu, ledit résidu étant obtenu par différence entre un bloc de ladite image et une prédiction dudit bloc, - θ désigne un paramètre de pente dudit modèle de débit. Selon l'invention, un tel procédé d'estimation comprend une étape de calcul dudit paramètre de pente θ tenant compte d'une surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image.
Description
Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants.
1. Domaine de l'invention
Le domaine de l'invention est celui du codage de séquences d'images et de la compression de séquences vidéo, notamment, mais non exclusivement, dans le contexte des standards H EVC/H.265 (pour « High Efficiency Video Coding ») et SHVC (pour « Scalable-High Efficiency Video Coding ») établis par les organismes de normalisation tels que le ITU-T Video Coding Expert Group (VCEG) et le ISO/IEC Motion Picture Expert Group (MPEG).
Plus précisément, l'invention concerne l'estimation et la régulation du débit de données en sortie d'un encodeur vidéo, mises en œuvre dans le cadre d'une telle compression.
2. Art antérieur et ses inconvénients
La compression d'une séquence vidéo consiste à réduire la quantité de données nécessaires pour la représenter, tout en cherchant à minimiser les phénomènes de perte d'informations, et donc de qualité. Lors d'une telle compression, il est nécessaire d'adapter le débit de données en sortie du système d'encodage, pour tenir compte par exemple des contraintes du réseau sur lequel elles doivent être transmises, ou de la taille du support de données sur lequel elles doivent être stockées. Cette adaptation de débit doit également tenir compte de la qualité de restitution de la séquence vidéo que l'on souhaite atteindre pour le flux vidéo décodé.
Pour ce faire, des stratégies de régulation de débit, visant à moduler la quantité d'informations en sortie de l'encodeur pour obtenir un débit et une qualité optimaux, sont classiquement mises en œuvre. Elles permettent de contrôler certains paramètres de l'encodage pour obtenir un flux qui respecte un ensemble de contraintes imposées. Un des principaux enjeux d'une telle régulation de débit est donc de trouver un modèle reliant les paramètres de l'encodage au débit des données en sortie de l'encodeur.
Plus particulièrement, dans les techniques de codage prédictif connues, de telles stratégies de régulation de débit agissent le plus souvent sur le paramètre de
quantification (ou QP, pour « quantization parameter »), mis en œuvre lors d'une étape de quantification des résidus de la prédiction.
On rappelle en effet que le codage vidéo, tel que proposé par exemple dans le standard MPEG-4 AVC (pour « Advanced Video Coding ») ou dans le standard HEVC, met en œuvre les étapes suivantes :
Les images sont tout d'abord divisées en blocs de taille variable, en fonction de la complexité du mouvement à représenter ;
Ces blocs sont ensuite prédits les uns par rapport aux autres, par prédiction spatiale et/ou temporelle. Les informations relatives aux modes de prédiction utilisés et les vecteurs de mouvement sont conservées pour être transmis dans le flux, ou bitstream, final ;
Les résidus sont alors formés, par différence entre les blocs d'origine et leur prédiction : BlocRésidu = Bloc0riginal - BlocPrédit ;
Le signal résidu de la prédiction subit ensuite un ensemble de traitements visant à en retirer autant de redondances que possible, à savoir une transformation, pour le faire passer dans le domaine fréquentiel, suivie d'une quantification ;
Le flux final, ou bitstream, est ensuite formé en respectant la structure normative, un codage entropique permettant de compresser les informations dans le bitstream.
C'est donc en agissant sur la valeur du paramètre de quantification (QP), utilisé lors de l'étape de quantification des résidus de la prédiction, qu'il est possible de faire varier la quantité d'informations perdues lors du codage, et par conséquent de faire varier le débit et la qualité obtenus à la sortie de l'encodeur.
Il est donc particulièrement intéressant d'identifier un modèle liant le paramètre de quantification QP et le débit.
Différents modèles de la relation entre le QP et le débit ont été étudiés dans la littérature. Parmi ceux-ci, Z. He et al proposent, dans « Optimum Bit Allocation and Accurate Rate Control for Video Coding via p-Domain Source Modeling », IEEE Transactions on Circuits and Systems for Video Technology, Vol. 12, No. 10, Oct. 2002,
une approche intéressante pour la régulation de débit tant du point de vue de la précision de sa représentation que de sa faible complexité en termes algorithmiques. Cette approche, appelée p-domaine, relie un paramètre p, défini comme étant le pourcentage de coefficients nuls dans un macrobloc, ou dans une image, après transformation et quantification, avec le débit R.
Selon cette approche du p-domaine, la relation entre le paramètre p et le débit offre un aspect très linéaire, et peut être approchée par la formule :
R(p) = 6(l - p).
La droite représentée par cette équation passe par le point (1; 0). En effet, quand p vaut 1, tous les coefficients du macrobloc ou de l'image sont nuls, et le débit R est égal à 0. Pour caractériser cette relation, il est donc suffisant de déterminer la pente Θ de la droite.
A ce jour, les techniques connues proposant une estimation de cette pente Θ reposent toutes sur la mise en œuvre de mesures permettant d'approcher au mieux la valeur de Θ, qui varie d'une image à l'autre, selon son contenu.
Dans « Stratégies d'encodage pour codeur vidéo scalable » (Thèse), INSA Rennes, 2009, Y. Pitrey propose deux approches, dans le contexte des standards MPEG-4-AVC et SVC, pour déterminer la valeur de la pente Θ.
Selon une première approche, chaque image est encodée deux fois : la première passe est utilisée pour initialiser le modèle de débit R-p, en établissant un paramètre de pente Θ ; la valeur optimale du paramètre de quantification QP est ensuite choisie grâce au modèle de débit ; une seconde passe d'encodage encode définitivement l'image en utilisant le paramètre de quantification QP choisi pour atteindre le débit visé.
Un inconvénient de cette première approche d'encodage en deux passes est que la phase de pré-encodage nécessaire pour initialiser le modèle de débit induit une forte augmentation du temps d'encodage : elle pénalise donc fortement la rapidité du mécanisme, et introduit une complexité en termes de calculs.
Selon une seconde approche, qui exploite les corrélations entre images successives, l'encodage est réalisé en une seule passe, et le contrôle de débit sur l'image en cours s'appuie sur les informations obtenues après l'encodage des images
précédentes. Plus précisément, pour la régulation de débit d'une image en cours, la pente Θ du modèle de débit R-p est initialisée à une valeur calculée sur une image précédente choisie comme référence pour le modèle de débit, à savoir l'image qui possède le comportement le plus proche de celui de l'image en cours de régulation. Cette valeur de Θ est ensuite corrigée, au fur et à mesure de l'encodage, grâce au feedback des valeurs de Θ mesurées sur les images précédemment codées.
Si cette seconde approche présente l'avantage d'induire un temps d'encodage réduit par rapport à la première approche ci-dessus, grâce à la suppression de la première passe d'encodage, ainsi qu'un coût très faible en termes de complexité de calculs, elle induit cependant une diminution de la précision de la régulation de débit. En effet, les changements de contenu entre images successives, même minimes, introduisent un biais dans le calcul du paramètre de quantification optimal. En outre, en cas de changement d'activité trop important entre images successives (grandes variations de mouvement et de détails), les résultats obtenus selon cette seconde approche sont moins performants que selon la première approche.
Il existe donc un besoin d'une technique de régulation du débit fondée sur une approche du p-domaine qui ne présente pas ces différents inconvénients de l'art antérieur.
Notamment, il existe un besoin d'une telle technique qui permette d'estimer la valeur de la pente Θ du modèle de débit R-p de façon précise et déterministe.
Il existe également un besoin d'une telle technique qui permette, par rapport aux méthodes connues, de réaliser l'encodage des images en une seule passe d'encodage, tout en permettant une meilleure précision dans la régulation du débit.
Plus généralement, il existe un besoin d'une technique d'estimation précise et déterministe de la complexité de codage d'une image à coder, reposant sur une telle approche dite p-domaine.
3. Exposé de l'invention
L'invention répond à ce besoin en proposant un procédé d'estimation d'un débit de codage d'une image d'une séquence d'images mettant en œuvre un modèle de débit selon une approche dite p-domaine tel que R(p) = θ(1 - p), où :
R désigne le débit,
p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de l'image, après transformation et quantification du résidu, le résidu étant obtenu par différence entre un bloc de l'image et une prédiction du bloc, Θ désigne un paramètre de pente dudit modèle de débit.
Selon l'invention, un tel procédé d'estimation comprend une étape de calcul du paramètre de pente Θ tenant compte d'un multiple d'une surface du ou des résidu(s) de codage codé(s) pour l'image, la surface étant la somme des résolutions de chacune des composantes de l'image.
Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive de l'estimation de la complexité de codage d'une image à coder, pouvant notamment, mais non exclusivement, être appliquée à la régulation de débit en sortie d'un encodeur vidéo, par exemple conforme au standard H EVC ou SHVC. En effet, alors que les mécanismes connus d'estimation de débit reposant sur une approche dite p-domaine reposaient tous sur une évaluation empirique du paramètre de pente Θ du modèle débit-p R(p) = θ(1 - p), mettant en œuvre un ensemble de mesures, le procédé d'estimation de débit de l'invention repose au contraire sur un calcul précis et déterministe de ce paramètre de pente Θ.
En effet, comme exposé plus en détail dans la suite de ce document, les inventeurs de la présente demande de brevet ont établi la démonstration, dans le contexte d'un codage vidéo de type HEVC, d'un lien direct entre le paramètre de pente Θ et la surface d'un résidu de codage, ou plus généralement, de l'image à encoder.
Notamment, un tel lien entre le paramètre de pente Θ et la surface d'un résidu de codage, ou plus généralement, de l'image à encoder peut être un lien de proportionnalité. Dans ce cas, le paramètre de pente Θ est calculé sous forme d'un multiple de cette surface.
On notera que par surface de l'image, on entend ici, et dans l'ensemble de ce document, la somme des résolutions de chacune des composantes de l'image dans l'espace de décomposition choisi. Ainsi, dans l'espace YUV par exemple, la surface de
l'image correspond à la somme des résolutions de chacune des composantes de chrominance et de luminance de l'image.
Un tel procédé d'estimation de débit, mis en œuvre dans un codeur de type H EVC/H.265 ou SHVC, permet avantageusement d'atteindre une compression optimale dès la première passe de codage, et de réduire sensiblement la complexité algorithmique d'un tel codeur.
Selon une première caractéristique de l'invention, p désignant un pourcentage de coefficients nuls dans un résidu de taille NxN de l'image après transformation et quantification du résidu, le paramètre de pente Θ est déterminé, lors de l'étape de calcul, sous la forme 0 = 4 * N2.
Ainsi, les inventeurs de la présente demande de brevet ont établi une formulation du modèle R-p au niveau d'un résidu de codage de l'image, dans laquelle le paramètre de pente Θ dépend de la taille du résidu. Dans le cas d'un codage vidéo de type HEVC ou SHVC, dans lequel les résidus sont des macroblocs de NxN pixels où N vaut 4, 8, 16 ou 32, le paramètre de pente Θ peut ainsi être très simplement calculé sous la forme Θ = Α * Ν2. Le procédé d'estimation de débit de l'invention offre ainsi une formulation précise et déterministe du modèle de débit R-p, au niveau d'un résidu, et permet donc une simplification de la complexité algorithmique par rapport aux procédés de régulation de débit de l'art antérieur.
Selon une autre caractéristique de l'invention, un tel procédé d'estimation comprend en outre une étape d'estimation du débit de codage au niveau du résidu telle que : R (p) = 4 * N2 * (1— p) + Δ, où Δ désigne un paramètre d'ajustement dépendant d'une distribution de coefficients dans le résidu.
Il est ainsi possible d'affiner le modèle de débit R-p, pour obtenir une estimation plus précise du débit, en introduisant un tel paramètre d'ajustement.
Dans un mode de réalisation de l'invention, le paramètre d'ajustement Δ dépend de la distribution statistique des coefficients et de leur localisation dans le résidu.
Selon un autre mode de réalisation de l'invention, p désignant un pourcentage de coefficients nuls dans l'image de surface S après transformation et quantification, le paramètre de pente Θ est déterminé, lors de l'étape de calcul, sous la forme Θ = 4 * S.
En effet, sous l'hypothèse que tous les résidus d'une image sont codés, la relation obtenue au niveau résidu peut avantageusement être étendue à une image, ou frame (trame), entière, et permet de calculer simplement le paramètre de pente Θ. Ainsi, dans le cadre d'un codage vidéo de type H EVC ou SHVC, les inventeurs de la présente demande de brevet ont établi que ce paramètre de pente s'exprimait sous la forme du quadruple de la surface de l'image.
Selon une variante de réalisation de l'invention, p désignant un pourcentage de coefficients nuls dans l'image de surface S après transformation et quantification, le paramètre de pente Θ est déterminé, lors de l'étape de calcul, sous la forme 0 = 4 * (l— rskip) * S, où rskip désigne un taux de skip dans l'image.
Par référence aux standards H EVC ou SHVC, le taux de skip rskip désigne ici, et dans l'ensemble de ce document, la surface totale couverte par les unités de codage CU (pour « Coding Units ») dont le flag cu_skip_flag vaut Ί', divisée par la surface totale de l'image.
En effet, les inventeurs ont mis en évidence que, lors du codage d'une image, tous les résidus de codage ne sont pas codés : lorsque la prédiction est suffisamment bonne, le résidu peut être nul. Dans ce cas, lors du codage de l'image, le macrobloc associé peut ne pas être compressé : on dit alors qu'il est « skippé ». L'invention propose donc avantageusement d'affiner le modèle de débit R-p, en exprimant le paramètre de pente Θ, non pas à partir de la surface totale de l'image, mais à partir de la surface non- skippée de l'image. Une telle formulation permet d'obtenir une précision accrue du modèle de débit.
Selon une caractéristique additionnelle des deux modes de réalisation précités, un tel procédé d'estimation comprend en outre une étape d'estimation du débit de codage au niveau de l'image telle que : R (p) = Θ * (1 — p) + AF, où AF désigne un paramètre d'ajustement dépendant d'une distribution des résidus de codage pour l'image.
A nouveau, un tel paramètre d'ajustement permet d'améliorer encore l'estimation du débit. Dans un mode de réalisation de l'invention, le paramètre d'ajustement Δ dépend de la distribution statistique des coefficients et de leur localisation dans le résidu.
L'invention concerne également un procédé de codage d'une séquence d'images comprenant une étape de découpage de chacune des images en au moins un bloc d'image, et une phase d'encodage comprenant des étapes de :
prédiction de chacun des blocs, délivrant un bloc prédit ;
pour chacun des blocs, formation d'un résidu de codage par différence entre le bloc d'image et le bloc prédit ;
transformation et quantification des résidus de codage ;
le procédé de codage mettant en œuvre un mécanisme d'estimation d'un débit de codage des images à partir d'un modèle de débit selon une approche dite p-domaine tel que R(p) = θ(1 - p), où R désigne le débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de l'image, après transformation et quantification du résidu, et Θ désigne un paramètre de pente du modèle de débit.
Selon l'invention, un tel procédé de codage comprend une étape de calcul du paramètre de pente Θ tenant compte d'une surface du ou des résidu(s) de codage encodé(s) pour l'image, la surface étant la somme des résolutions de chacune des composantes de l'image.
Selon un aspect de l'invention, un tel paramètre de pente Θ est notamment calculé sous forme d'un multiple d'une surface du ou des résidu(s) de codage encodé(s) pour l'image.
Selon un autre aspect de l'invention, pour chacun de ces blocs, un tel procédé de codage met en œuvre une unique itération de la phase d'encodage.
Ainsi, le procédé de codage vidéo de l'invention permet, par rapport aux procédés de codage vidéo antérieurs reposant sur une régulation de débit selon une approche dite p-domaine, de ne réaliser qu'une passe d'encodage, le paramètre de pente Θ pouvant être directement calculé, sans qu'il soit nécessaire de l'évaluer au cours d'une première passe d'initialisation de l'encodage. En supprimant une passe
d'encodage, le procédé de codage de l'invention permet d'améliorer significativement les délais de latence des encodeurs de l'art antérieur.
En outre, par rapport aux approches de l'art antérieur qui proposaient une régulation de débit reposant déjà sur une unique passe d'encodage, le procédé de l'invention permet une estimation plus précise du paramètre de pente Θ.
L'invention concerne encore un dispositif de codage d'une séquence d'images comprenant un module de découpage de chacune des images en au moins un bloc d'image, et un module d'encodage comprenant :
un module de prédiction de chacun des blocs, délivrant un bloc prédit ;
un module de transformation d'un résidu de codage formé par différence entre le bloc d'image et le bloc prédit ;
un module de quantification du résidu de codage.
Un tel dispositif de codage comprend des moyens de régulation d'un débit de codage des images à partir d'un modèle de débit selon une approche dite p-domaine tel que R(p) = θ(1 - p), où R désigne le débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de l'image, après transformation et quantification du résidu, et Θ désigne un paramètre de pente du modèle de débit.
Selon l'invention, les moyens de régulation comprennent un module de calcul du paramètre de pente Θ tenant compte d'une surface du ou des résidu(s) de codage encodé(s) pour l'image, la surface étant la somme des résolutions de chacune des composantes de l'image, et chacun des blocs est encodé par un unique passage dans le module d'encodage.
Plus généralement, l'invention concerne un dispositif de codage présentant en combinaison tout ou partie des caractéristiques exposées dans l'ensemble de ce document.
L'invention concerne également des programmes d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé de régulation ou d'un procédé de codage tels que décrits précédemment lorsque le programme est exécuté par un processeur.
L'invention concerne enfin des supports d'enregistrement lisibles par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de régulation ou du procédé de codage tels que décrits précédemment.
4. Liste des figures
D'autres buts, caractéristiques et avantages de l'invention apparaîtront plus clairement à la lecture de la description suivante, donnée à titre de simple exemple illustratif, et non limitatif, en relation avec les figures, parmi lesquelles :
la figure 1 illustre l'architecture d'un codeur vidéo de l'art antérieur permettant de délivrer un flux vidéo conforme au standard H EVC ;
les figures 2A et 2B présentent une comparaison entre le modèle R-p de l'invention et des résultats de simulation pour différents résidus issus de bitstreams de référence ;
la figure 3 illustre une comparaison entre le modèle R-p selon un premier mode de réalisation de l'invention et des résultats de simulation pour différentes images de classe A à E;
la figure 4 illustre une comparaison entre le modèle R-p selon un deuxième mode de réalisation de l'invention et des résultats de simulation pour différentes images de classe A à E;
la figure 5 illustre une première variante de réalisation du codeur de la figure 1, dans lequel une régulation de débit au niveau résidu est mise en œuvre conformément à un mode de réalisation de l'invention ;
la figure 6 illustre une structure de trames en configuration Random Access, avec ordre d'encodage, conforme au standard H EVC ;
la figure 7 illustre une deuxième variante de réalisation du codeur de la figure 1, dans lequel une régulation de débit au niveau frame est mise en œuvre conformément à un mode de réalisation de l'invention.
5. Description détaillée de modes de réalisation de l'invention
Le principe général de l'invention repose sur un calcul précis et déterministe du paramètre de pente Θ dans un modèle de débit R-p d'une approche dite p-domaine mis
en œuvre dans le cadre d'un mécanisme d'estimation de la complexité du codage d'une image. Un tel principe s'applique notamment avantageusement, mais non exclusivement, à la régulation du débit de données en sortie d'un encodeur vidéo. En effet, les inventeurs de la présente demande de brevet ont établi que, dans le cadre d'un codage vidéo de type H EVC ou SHVC par exemple, ce paramètre de pente Θ pouvait être simplement calculé à partir d'une surface du ou des résidus codés de l'image, et notamment, dans le mode de réalisation décrit ci-après, comme le quadruple de cette surface. Plus généralement, l'invention permet d'estimer la complexité de codage d'une image à coder ou d'un résidu de codage, dans le cadre d'un codage vidéo de type prédictif.
On présente désormais, en relation avec les figures, un mode de réalisation de l'invention dans le contexte particulier du codage vidéo décrit dans le standard HEVC tel que défini par le ITU-T Video Coding Experts Group et par le ISO/IEC Moving Picture Experts Group. L'invention n'est bien sûr pas limitée à ce type de codage vidéo, et peut notamment être étendue au codage vidéo échelonnable, ou scalable, de type SHVC, et plus généralement à tout autre type de codage vidéo prédictif dans lequel le paramètre de pente Θ pourra être directement associé à la taille des résidus de codage d'une image.
Le standard HEVC a été conçu pour répondre à toutes les applications existantes du standard H. 264/MPEG-4 AVC, en permettant une résolution vidéo accrue et une utilisation accrue des architectures de traitement parallèles.
La figure 1 illustre l'architecture d'un codeur vidéo permettant de produire un flux vidéo présentant une structure et une syntaxe conformes au standard H EVC, et apte à mettre en œuvre le procédé de régulation de débit de l'invention. Un tel codeur vidéo est connu de l'art antérieur, mais on en rappelle son principe de fonctionnement pour mieux illustrer le principe de l'invention.
On pourra se référer, pour une description détaillée du mode de fonctionnement d'un tel codeur vidéo au document « Overview of the High Efficiency Video Coding (HEVC) standard » de Gary J. Sullivan et al., IEEE Transactions on Circuits and Systems for Video Technology, Vol. 22, No. 12, December 2012.
En résumé, un tel codeur vidéo procède de la manière suivante. Chaque image 100 est découpée en régions en forme de blocs, appelées CTU pour Coding Tree Units composées de CTB pour Coding Tree Blocks, un par composante colorimétrique. Le découpage exact en blocs est transmis au décodeur. Chaque CTU est elle-même subdivisée en unités de codage appelées CUs (pour « Coding Units », composées de CBs pour « Coding Blocks », à savoir un par composante colorimétrique), elles-mêmes divisées en unités de prédiction appelées PUs (pour « Prédiction Units », composées de PB pour « Prédiction Blocks », un par composante colorimétrique) et en unités de transformation appelées TUs (pour « Transform Units », composées de TB pour « Transform Blocks », un par composante colorimétrique).
La première image d'une séquence vidéo (et chaque image utilisée comme point d'accès aléatoire à la séquence vidéo) est codée en utilisant le mode de prédiction intra (i.e. une prédiction spatiale à partir d'autres régions de la même image, mais sans utiliser d'autres images de la séquence). C'est le bloc référencé 101 qui estime quel mode de prédiction intra est optimal, tandis que le bloc référencé 102 réalise la prédiction à partir de ce mode optimal. Pour toutes les autres images de la séquence, ou entre les différents points d'accès aléatoires à la séquence, on utilise, pour la plupart des blocs, une prédiction temporelle inter-images. Ainsi, le bloc référencé 103 estime le ou les vecteurs de mouvement optimaux (à partir du buffer 110 contenant les images précédemment encodées) ; le bloc référencé 104 applique alors ces mouvements en faisant une compensation de mouvement pour la prédiction. Pour ces deux types de prédiction intra et inter, les informations importantes relatives aux prédictions sont conservées et transmises (par l'intermédiaire des signaux de données référencés 105 et 106) pour être encodées et placées dans le bitstream. Le codeur et le décodeur génèrent des signaux de prédiction inter identiques, en appliquant une compensation de mouvement à partir des vecteurs de mouvement, et d'informations relatives aux modes de prédiction utilisés, qui sont transmis dans le bitstream.
Le résidu de la prédiction inter ou intra (appliquée à chaque PB d'un bloc PU) est formé par différence entre le bloc d'origine et sa prédiction. Plus la prédiction est précise, et moins le résidu ainsi formé contient d'énergie. Il est ensuite transformé par
une transformée linéaire spatiale (appliquée à chaque TB d'un bloc TU). Les coefficients de la transformée sont ensuite mis à l'échelle, quantifiés (bloc référencé 107). Le résidu ainsi transformé et quantifié 108 est conservé pour être encodé et transmis dans le bitstream. Afin que le décodeur puisse reproduire les mêmes images de référence utilisées pour la prédiction temporelle, l'encodeur intègre un bloc de quantification et transformation inverses 109. Le partitionnement en blocs peut créer des artefacts et des différences de niveau visibles lors des phases de transformation et de quantification, ce qui peut impacter négativement la précision de la prédiction. Pour pallier ce problème des étapes de filtrages des blocs reconstruits destinées au buffer des images de référence sont mises en œuvre. Une première étape de pré-analyse 111 détermine les filtres optimaux à appliquer, puis ces filtres sont appliqués dans le bloc référencé 112. Les informations référencées 113 relatives au choix des filtres sont conservées pour être encodées et transmises dans le bitstream. Lors de l'encodage, un bloc de contrôle 114 gère les CTUs et les modes de prédictions à appliquer. Les informations relatives à cette gestion sont également conservées dans le flux référencé 115 pour l'encodage et l'insertion dans le bitstream final. Enfin le bitstream 116 est formé en respectant la structure normative du flux H EVC. Un codeur entropique 117 CABAC (Codage Binaire Arithmétique avec Adaptation de Contexte) est utilisé pour compresser toutes les données conservées (à savoir les données référencées 115, 108, 105, 113 et 106).
La quantification des coefficients issus de la transformée, mise en œuvre dans le bloc référencé 107 sur la figure 1, constitue une étape très importante du processus d'encodage vis à vis de la problématique de l'invention, car elle permet de faire varier le débit nécessaire pour coder le signal en ajustant la quantité de données perdues.
En pratique, c'est sur le paramètre de quantification QP (pour Quantization Parameter) que l'on agit pour faire varier la quantité d'informations perdues. En effet, l'opération de quantification conduit à l'annulation des coefficients dont les valeurs ne sont pas significatives dans le signal transformé.
Un des principaux enjeux de la régulation de débit est donc de trouver un modèle reliant les paramètres de l'encodage au débit des données en sortie de l'encodeur vidéo de la figure 1. La présente invention propose une régulation de débit
reposant sur une approche dite p-domaine, qui est intéressante tant du point de vue de la précision de sa représentation que de sa faible complexité en termes algorithmiques.
On rappelle qu'un processus de régulation de débit se déroule généralement en quatre temps:
tout d'abord, les contraintes à appliquer au flux sont déterminées en fonction du contexte envisagé ;
les ressources disponibles sont ensuite calculées et réparties entre les différents niveaux du flux ;
la valeur du paramètre de quantification est choisie en accord avec les ressources à respecter ;
les données sont encodées en utilisant le QP choisi et les ressources disponibles sont mises à jour.
L'approche de la régulation de débit dite p-domaine, mise en œuvre dans l'invention, repose sur une expression de la relation entre la valeur du paramètre de quantification et le débit en sortie de l'encodeur.
En partant du standard H EVC, les inventeurs de la présente demande de brevet ont établi une formulation du modèle R-p, tout d'abord au niveau du résidu. Cette relation dépend de la taille NxN du résidu, et d'un paramètre d'ajustement qui dépend de la distribution des coefficients dans le résidu. On a alors :
R = 4 * N2 * (1 - p) + Δ (4) Cette première relation peut être avantageusement utilisée dans le cadre d'un mécanisme de régulation de débit au niveau du résidu.
Le paramètre d'ajustement Δ peut être négligé en première approche.
Cependant, pour des raisons de complexité algorithmique, il est souvent raisonnable d'envisager une régulation de débit, non pas au niveau du résidu, mais au niveau d'une image. Les inventeurs ont donc étendu la relation (4) ci-dessus à une frame (trame) entière, en considérant, selon une première variante de réalisation, que tous les résidus d'une image sont codés.
Le signal vidéo étant défini par des composantes colorimétriques, une frame est classiquement composée de plusieurs composantes, par exemple les composantes
YUV. Si l'on considère plus généralement le cas d'une composante C de l'image (C pouvant, dans un cas particulier, être l'une des composantes Y, U ou V), la relation (4) peut alors être sommée sur cette composante C de l'image, en désignant par RZ l'ensemble des résidus dans cette composante C :
Rc = ∑ Ri (5) ieRZ
En remplaçant dans l'équation (5) la formulation du débit établie dans l'équation (4), on obtient la relation suivante :
Pi représentant le pourcentage de coefficients nuls dans le résidu i après transformée et quantification, il peut être remplacé par le nombre de coefficients nuls (Zi) dans le résidu i divisé par le nombre total de coefficients (N,2) dans ce même résidu i. On obtient alors : ieRZ ieRZ ieRZ
En remplaçant cette formule (7) dans l'équation (6), on obtient alors :
Rc = 4 * (∑ N? - z) + Ai (8)
GRZ i£RZ ' i£RZ
Dans cette équation (8), on retrouve donc l'expression de la surface totale couverte par les résidus Sc pour la composante C (∑i£Rz N ) ainsi que la quantité totale de coefficients nuls Zc pour la composante C (∑i£Rz Zi), et un coefficient d'ajustement global AFC pour la composante C (ZigRz ^i)- On a alors la relation suivante :
Rc = 4 * (5C - Zc) + AFC (9) Afin d'obtenir la relation sur la frame totale, on somme sur toutes les composantes C de l'ensemble de Composantes de l'image :
R Frame = ^ (10)
CGComposantes
Si l'on prend l'exemple d'une image décomposée dans l'espace des composantes YUV, on obtient, en remplaçant dans l'équation (10) chacune des composantes Rc=RY, Rc=Ru, Rc=Rv, par l'expression obtenue dans l'équation (9) :
+ Su + Sv) - (ZY + ZU + Zy)) + (Δ^ + Δρυ + Α„) (11)
^Frame = * (STo tale ~ ^Totale) + ^FTotale { ^-)
En ré-exprimant le pourcentage de coefficients nuls dans l'image, après les étapes de transformation et de quantification, p = ZTotale/STotale on obtient la relation finale ci-dessous.
^Frame— * STotale * (1— p) + pTotale (13)
Cette relation dépend de la surface de l'image STotaie (à savoir la somme des surfaces de chaque composante, plus simplement désignée par S dans la suite de ce document), et d'un paramètre d'ajustement global qui dépend de la distribution de la totalité des résidus sur chaque composante FTotaie (plus simplement désigné par AF dans la suite de ce document). En effet, lors du mécanisme de codage des coefficients transformés, plusieurs informations capitales sont signalées, telles que la valeur absolue (si >1, si >2), le signe, la position, etc. Dans le standard HEVC, ces informations sont signalées à travers les éléments de syntaxe suivants :
• transform_skip_flag
• last_sig_coeff_x_prefix
• last_sig_coeff_y_prefix
• last_sig_coeff_x_suffix
• last_sig_coeff_y_suffix
• coded_sub_block_flag
• sig_coeff_flag
• coeff_abs_level_greaterl_flag
• coeff_abs_level_greater2_flag
• coeff_sign_flag
• coeff_abs_level_remaining
Ces éléments de syntaxe ont des conditions de signalisation qui dépendent de la distribution statistique des coefficients et de leur localisation dans le résidu. Par exemple les deux résidus suivants présentés dans les tableaux 1 et 2 ci-dessous n'auront pas le même coût en termes de bits, alors qu'ils contiennent les mêmes coefficients :
TABLEAU 1 TABLEAU 2
Les simulations réalisées ont permis d'observer la réalité du modèle établi par l'équation (13).
Les figures 2A et 2B présentent les courbes du débit R en fonction du paramètre p, après codage entropique de type CABAC, respectivement pour des images de classe A (figure 2A) et de classe B (figure 2B). On rappelle en effet que les séquences de références sont réparties en classes. Ces classes sont composées par des séquences de résolutions spécifiques et de contenu spécifique (dans certains cas). La classe A contient deux séquences de résolution 2500x1600, les deux séquences contenant beaucoup de mouvements. La classe B contient 6 séquences de résolution 1920x1080 avec du contenu varié (travelling, plans fixes, avec ou sans changements de plan). Pour plus d'informations sur cette notion de classe, on pourra se référer au document JCTVC-O0022 élaboré par la "Joint Collaborative Team on Video Coding (JCT- VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11" lors du 15ème meeting qui s'est déroulé à Genève, en Suisse, du 23 octobre au 1er novembre 2013.
Sur les figures 2A et 2B, les droites référencées 20, 21, 22 et 23 représentent le modèle théorique du débit R en fonction du paramètre p obtenu selon la méthode de calcul de l'invention, en considérant le paramètre de pente Θ égal à 4*N2, pour des résidus de codage de taille 4x4 (droite référencée 20), 8X8 (droite référencée 21), 16x16 (droite référencée 22), 32x32 (droite référencée 23), et en négligeant le coefficient d'ajustement Δ. Les nuages de points représentent quant à eux les valeurs du débit mesurées sur des résidus issus de bitstreams de référence, respectivement de taille 4x4, 8x8, 16x16 et 32x32. Ces bitstreams de référence correspondent aux séquences issues des classes citées précédemment encodées à l'aide du logiciel de référence, en configuration Random-Access et pour quatre valeurs de QP fixées (22, 27, 32 et 37). On
rappelle que le logiciel de référence H M est composé d'un encodeur et d'un décodeur utilisés pour les tests de conformité et d'interopérabilité. Les bitstreams de référence sont des flux, encodés avec le logiciel de référence, et mis à disposition par la BBC (marque déposée) pour pouvoir par exemple tester les décodeurs. Des bitstreams sont disponibles et couvrent pour chaque séquence les huit configurations (All-lntra, All-lntra 10, Low-Delay P, Low-Delay P 10, Low-Delay B, Low-Delay B 10, Random-Access et Random Access 10), pour quatre QP différents (22, 27, 32 et 37). Dans le cadre des présents travaux, les inventeurs ont utilisé la version HM11 du logiciel de référence précité, tel que défini à l'occasion du 13eme meeting de la « Joint Collaborative Team on Video Coding (JCT-VC) of lTU-TSG16 WP3 and ISO/IEC JTC1/SC29/WG11 », qui s'est tenu à Incheon, en Corée du Sud, du 18 au 26 avril 2013, et décrit dans le document JCTVC- M1010.
On notera par ailleurs qu'une mesure de la valeur moyenne du coefficient d'ajustement Δ pour les courbes des figures 2A et 2B donne les valeurs moyennes de déviations listées dans le tableau 3 ci-dessous, pour les différentes tailles de résidus :
Taille Δ Moyen
4x4 -0.11 bits
8x8 -1.15 bits
16x16 -2.75 bits
32x32 -6.35 bits
Moyenne -2.59 bits
TABLEAU 3
La figure 3 illustre l'évolution du débit R en fonction du paramètre p, non plus au niveau d'un résidu, mais au niveau d'une trame, pour différentes images de classe A à E. En effet, pour réaliser une économie en termes de calculs, il est parfois préférable d'effectuer le contrôle de débit au niveau des images et d'encoder chaque macrobloc avec la même valeur du paramètre de quantification QP.
Ainsi, les droites référencées 30 à 34 illustrent le modèle théorique du débit R en fonction du paramètre p, obtenu selon la méthode de calcul de l'invention, selon laquelle le paramètre de pente 0=4S, où S est la surface totale de l'image, et en
négligeant le paramètre d'ajustement ΔΡ, et ce, respectivement pour des images de classe A, B, C, D et E. En effet, on rappelle que les séquences de test sont réparties en 5 classes de résolutions et contenus variés (A : 2560x1600, B : 1920x1080, C : 832x480, D : 416x240 et E : 1280x720). Les nuages de points concentrés autour des droites référencées 30 à 34 représentent quant à eux les valeurs mesurées sur des frames issues des bitstreams de référence précités pour ces différentes classes A à E.
On peut noter que le modèle de débit R-p illustré par les courbes référencées 30 à 34 est donc assez proche de la réalité, mais ne s'avère pas aussi précis que le modèle de débit au niveau résidu illustré sur les figures 2A et 2B. En effet, lors de l'encodage d'une trame, un nombre non-négligeable de résidus ne sont pas codés : la prédiction étant parfaite, les résidus sont en effet nuls, ce qui provoque le « skip » (i.e. la non-compression) de certaines unités élémentaires de codage dans l'image, ou CL) pour « Coding Unit ».
Afin d'évaluer la pente du p-domaine de façon plus précise, une variante de réalisation de l'invention repose sur une approche permettant de l'estimer de façon plus précise, et donc de déplacer les droites référencées 30 à 34 de la figure 3 vers les nuages de points associés, selon les propriétés de la trame.
Dans cette variante de réalisation, on ne considère pas la surface totale de la trame comme étant la surface codée, mais on prend en compte au contraire la surface non-skippée dans l'image. Cette approche se traduit par l'équation suivante, où rskip représente le taux de skip dans l'image :
S' = (l - rskip) * S (14) En utilisant cette approche dans l'équation (13), on obtient en remplaçant S par S':
R = 4 * (l - rskip) * S * (1 - p) + AF (15) Cette formulation du modèle de débit R-p permet d'obtenir une précision significative, et sensiblement accrue par rapport aux techniques antérieures.
La figure 4 présente une comparaison de valeurs théoriques obtenues par l'équation (15) et de valeurs mesurées pour la pente Θ du modèle de débit R-p, en fonction du taux de skip rskip. Plus précisément, les droites référencées 40 à 44 représentent l'évolution de la pente θ=4 * (l— rskip) * S en fonction du taux de skip
rskip pour des images de classe A à E respectivement. Les nuages de points concentrés autour de ces droites représentent les valeurs correspondantes mesu rées pour la pente Θ, pour les mêmes images. En pratique, le taux de skip rskip, le paramètre p et le débit généré en sortie de l'encodeur ont été mesurés lors du décodage de chaque frame, et ce pour toutes les séquences. Pour chaque intervalle de skip-rate de 1%, la pente de la droite est estimée par régression linéaire. Ces valeurs estimées sont ensuite comparées aux valeurs de pente déterminées à l'aide de l'équation (15).
Le tableau 4 ci-dessous permet d'observer la précision moyenne obtenue dans l'estimation de pente à l'aide de la méthode de l'invention. Cette précision est accrue sur la plage correspondant aux cas les plus fréquents en pratique (à savoir +50% de skip).
Classe Après CABAC
A 92.49%
B 92.93%
C 91.60%
D 90.49%
E 90.14%
Moyenne 91.53%
TABLEAU 4
Le procédé de régulation de débit de l'invention permet donc, par rapport aux méthodes connues de l'art antérieur mettant en œuvre une régulation de débit en deux passes d'encodage, d'éliminer une première passe d'encodage. Il permet également d'estimer la pente du p-domaine de façon plus précise dans le cadre d'une régulation en une passe.
La figure 5 illustre une architecture modifiée du codeur vidéo de la figure 1 pour mettre en œuvre une régulation de débit au niveau CTU, conformément au principe de l'invention exposé ci-avant.
Sur cette figure 5, tous les blocs et signaux portant les mêmes références numériques que sur la figure 1 sont identiques aux blocs et signaux correspondants de
cette figure, et l'on pourra se référer à la description de la figure 1 pour en comprendre le fonctionnement.
L'architecture du codeur de la figure 5 diffère de celle de la figure 1 en ce que le bloc de transformée-quantification 107 est scindé en un premier bloc référencé 107a opérant la transformation des résidus, et un second bloc référencé 107b opérant leur quantification.
Le bloc référencé 118 reçoit le budget attribué pour le codage, ainsi que la taille du résidu, en provenance du bloc de contrôle référencé 114. A partir de l'équation (4) proposée ci-avant, il calcule la valeur du paramètre p, qu'il transmet au bloc référencé 119.
Le bloc référencé 119 calcule alors, à partir de la valeur de p reçue du bloc référencé 118, le paramètre de quantification QP approprié.
Le bloc référencé 107b procède alors à la quantification du résidu transformé par le bloc référencé 107a à partir du paramètre de quantification QP déterminé par le bloc référencé 119.
On présente désormais, en relation avec la figure 6, un exemple de calcul du taux de skip rsfcip.
Sur cette figure, on présente une suite de vingt-et-une trames, ou frames, en configuration Random-Access. On rappelle que la configuration Random-Access est le cas d'usage pour la diffusion : les images sont placées dans l'ordre de décodage dans le bitstream (qui est différent de l'ordre d'affichage). Des images RAP (Ramdom-Access Point pictures) apparaissent régulièrement dans le bitstream afin de pouvoir reprendre le décodage du programme en cours. La valeur numérique associée à chacune de ces trames indique l'ordre d'encodage (et donc de décodage) de ces différentes images. Ces images sont regroupées en Groupes d'Images (ou GOP, pour Groups of Pictures) : ainsi, les images numérotées de 1 à 8 constituent un premier GOP ; les images référencées de 9 à 16 constituent un deuxième GOP ; etc.
En l'espèce, il s'agit de GOP hiérarchiques, comprenant chacun plusieurs images Inter, sauf lors du rafraîchissement où la première image du GOP dans l'ordre d'encodage est nécessairement une image Intra (RAP). On rappelle qu'une image Intra
n'utilise que la prédiction spatiale, et permet notamment d'initialiser le codage d'une séquence (RAP), car elle est codée indépendamment des autres images ; une image Inter utilise la prédiction intra et inter image et exploite donc les redondances spatiales dans l'image, et temporelles dans les séquences d'images.
Dans l'exemple de GOP hiérarchiques de la figure 6, les images sont encodées en niveaux temporels successifs selon une structure pyramidale basée sur des images Inter.
Ainsi, dans le premier GOP de la figure 6, la frame 1 est une image Inter unidirectionnelle, et les frames numérotées 2 à 8 sont des images Inter bidirectionnelles.
Dans le cadre de l'invention, différentes méthodes de détermination du taux de skip peuvent être mises en œuvre.
A titre d'exemple, on peut utiliser un modèle de prévision par moyenne mobile permettant de prédire le taux de skip rskiP d'une trame n à partir des taux de skip rskiP mesurés sur les trames précédemment encodées. L'initialisation pour le premier GOP pourra être telle que décrite dans le Tableau 5 ci-dessous, avec le POC (pour « Picture Order Count ») qui numérote la position de la frame dans le GOP :
TABLEAU 5
Ainsi, dans la configuration de la figure 6, en utilisant une moyenne mobile, le taux de skip rskip de la trame numérotée 15 peut être prédit par rapport aux frames précédemment encodées selon l'équation :
[13] + 2 [12] + 1 [8]
rsfcipL15J— 7 (16)
De même, pour la trame numérotée 14, le taux de skip peut être prédit selon l'équation :
Selon un autre mode de réalisation, dans un schéma de codage vidéo scalable tel que SHVC par exemple, le taux de skip rskiP de la couche de rehaussement peut être déterminé à partir du taux de skip rSkiP mesuré sur la couche de base.
Selon encore une autre approche, le taux de skip rskiP peut être déterminé en se basant sur la corrélation entre une image et ses plus proches voisines, ce qui peut donner une indication sur la proportion de l'image qui est immobile, et qui pourrait être skippée.
Ainsi, la mesure du taux de skip rskip durant l'encodage peut être effectuée de façon simple, en utilisant un compteur : pour une trame donnée, lorsqu'une unité de codage CU est skippée (i.e. non compressée car le résidu est nul), ce compteur est incrémenté avec la surface de cette unité de codage CU skippée, et ce, en tenant compte des 3 composantes YUV caractéristiques de l'espace colorimétrique employé. Lorsque l'encodage de la frame est terminé, la valeur Sskip mémorisée dans le compteur, correspondant à la surface totale skippée pour cette trame, est divisée par la surface totale de l'image SFrame afin d'obtenir le rSkiP- Le compteur est alors remis à zéro pour la trame suivante. La formule de calcul du rskip est alors la suivante :
_ SSkip
rskip— ç U°) ^ Frame
A titre d'exemple, pour une configuration avec une résolution 1920x1080 en progressif avec un ratio de pixel 4:2:0 (représentant le ratio d'échantillonnage des composantes colorimétriques, 4:2:0 équivaut à un ratio de 1,5), et une surface skippée Sskip =
1500000 échantillons mesurée sur une frame, on obtient :
1500000
rSkiv = = 48.22% (19) sklv 1920 * 1080 * 1.5 '
D'autres méthodes de mesure du taux de skip rskip peuvent bien sûr être mises en œuvre dans le cadre du procédé de régulation de débit de l'invention.
La figure 7 illustre une variante de l'architecture du codeur de la figure 1, permettant de mettre en œuvre une régulation de débit au niveau frame, selon le principe de l'invention.
Tous les éléments portant les mêmes références numériques que sur la figure 1 sont identiques dans leur principe et dans leur fonctionnement à ce qui a été décrit
précédemment en relation avec la figure 1, et ne seront donc pas décrits ici à nouveau plus en détail.
L'architecture du codeur vidéo de la figure 7 diffère de celle du codeur de la figure 1 par les éléments décrits ci-après.
Au fur et à mesure de l'encodage des CTUs, un compteur de la surface skippée est incrémenté. Lorsqu'un cu_skip_flag=l est signalé, la surface correspondante est ajoutée au compteur, qui est mis à jour dans le bloc référencé 118.
Une fois l'encodage d'une frame terminé, le bloc référencé 119 reçoit la valeur du compteur en provenance du bloc référencé 118 et la divise par la surface totale de l'image (i.e. la somme des surfaces des composantes) afin de déterminer la valeur du paramètre rskip.
La valeur du ratio rskip est transmise à une base de données 120 des rskip par frame (selon le niveau hiérarchique de la frame dans le GOP).
Le bloc référencé 121 détermine le rskip pour la frame suivante, par exemple par moyenne mobile (comme exposé ci-avant en relation avec la figure 6), en utilisant la base de données 120. Il transmet la valeur ainsi déterminée au bloc référencé 122, qui reçoit également du bloc référencé 114 le budget alloué au codage et la surface totale de l'image. Le bloc référencé 122 peut alors déduire la valeur du paramètre p à partir de l'équation (15) au niveau frame, et la transmet au bloc référencé 123.
Le bloc référencé 123 détermine alors la valeur du paramètre de quantification QP, et la transmet au contrôleur 114, qui, à son tour, la communique au bloc de quantification référencé 107.
Le procédé de régulation de débit de l'invention permet de réduire sensiblement la complexité de l'encodeur vidéo par rapport aux méthodes de l'art antérieur. Notamment, il permet de diviser par deux le temps de latence d'un encodeur double passe. Il permet par ailleurs d'accroître sensiblement la précision, la qualité ou le débit, selon les contraintes fixées, d'un encodeur simple passe.
L'ensemble des principes et caractéristiques décrits ci-avant en relation avec le standard H EVC peuvent bien sûr être étendus à d'autres types de codage vidéo, et plus particulièrement au standard de codage vidéo scalable SHVC.
Claims
1. Procédé d'estimation d'un débit de codage d'une image (100) d'une séquence d'images mettant en œuvre un modèle de débit selon une approche dite p-domaine tel que R(p) = θ(1 - p), où :
R désigne ledit débit,
p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation (107a) et quantification (107b) dudit résidu, ledit résidu étant obtenu par différence entre un bloc de ladite image et une prédiction dudit bloc,
Θ désigne un paramètre de pente dudit modèle de débit,
caractérisé en ce qu'il comprend une étape de calcul dudit paramètre de pente Θ tenant compte d'une surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image, ladite surface étant la somme des résolutions de chacune des composantes de ladite image.
2. Procédé d'estimation selon la revendication 1, caractérisé en ce que lors de ladite étape de calcul, ledit paramètre de pente Θ est calculé sous forme d'un multiple de ladite surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image.
3. Procédé d'estimation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, p désignant un pourcentage de coefficients nuls dans un résidu de taille NxN de ladite image après transformation et quantification dudit résidu, le paramètre de pente Θ est déterminé, lors de ladite étape de calcul, sous la forme 0 = 4 * N2.
4. Procédé d'estimation selon la revendication 3, caractérisé en ce qu'il comprend en outre une étape d'estimation dudit débit de codage au niveau dudit résidu telle que : ^G0) = 4 * N2 * (1— p) + Δ, où Δ désigne un paramètre d'ajustement dépendant d'une distribution de coefficients dans ledit résidu.
5. Procédé d'estimation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, p désignant un pourcentage de coefficients nuls dans ladite image
de surface S après transformation et quantification, le paramètre de pente Θ est déterminé, lors de lad ite étape de calcul, sous la forme Θ = 4 * S.
6. Procédé d'estimation selon l'une quelconque des revendications 1 et 2, caractérisé en ce que, p désignant un pou rcentage de coefficients nuls dans ladite image de surface S après transformation et quantification, le paramètre de pente Θ est déterminé, lors de ladite étape de calcul, sous la forme Θ = 4 * (l— rskip) * S, où rskip désigne un taux de skip dans ladite image.
7. Procédé d'estimation selon l'une quelconque des revendications 5 et 6, caractérisé en ce qu'il comprend en outre une étape d'estimation dudit débit de codage au niveau de ladite image telle que : R (p) = Θ * (1— p) + AF, où AF désigne un paramètre d'ajustement dépendant d'une distribution desdits résidus de codage pour lad ite image.
8. Procédé de codage d'une séquence d'images comprenant une étape de décou page de chacune desdites images en au moins un bloc d'image, et une phase d'encodage comprenant des étapes de :
prédiction (102) de chacun desdits blocs, délivrant u n bloc prédit ;
pour chacu n desdits blocs, formation d'un résidu de codage par différence entre ledit bloc d'image et ledit bloc prédit ;
transformation et quantification (107 ; 107a, 107b) desdits résidus de codage ; ledit procédé de codage mettant en œuvre un mécanisme d'estimation d'un débit de codage desdites images à partir d'un modèle de débit selon une approche dite p- domaine tel que R(p) = θ(1 - p), où R désigne ledit débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation et quantification dudit résidu, et Θ désigne un paramètre de pente dudit modèle de débit,
caractérisé en ce qu'il comprend une étape de calcul dudit paramètre de pente Θ tenant compte d'une surface d udit ou desdits résidu(s) de codage encodé(s) pour ladite image, lad ite surface étant la somme des résolutions de chacune des composantes de lad ite image.
9. Procédé de codage selon la revendication 8, caractérisé en ce que, lors de ladite étape de calcul, ledit paramètre de pente Θ est calculé sous forme d'un multiple de ladite surface dudit ou desdits résidu(s) de codage codé(s) pour ladite image.
10. Procédé de codage selon l'une quelconque des revendications 8 et 9, caractérisé en ce que, pour chacun desdits blocs, il met en œuvre une unique itération de ladite phase d'encodage.
11. Dispositif de codage d'une séquence d'images comprenant un module de découpage de chacune desdites images en au moins un bloc d'image, et un module d'encodage comprenant :
un module de prédiction (102) de chacun desdits blocs, délivrant un bloc prédit ; un module de transformation (107a) d'un résidu de codage formé par différence entre ledit bloc d'image et ledit bloc prédit ;
un module de quantification (107b) dudit résidu de codage ;
ledit dispositif de codage comprenant des moyens d'estimation d'un débit de codage desdites images à partir d'un modèle de débit selon une approche dite p-domaine tel que R(p) = θ(1 - p), où R désigne ledit débit, p désigne un pourcentage de coefficients nuls dans au moins un résidu de codage de ladite image, après transformation et quantification dudit résidu, et Θ désigne un paramètre de pente dudit modèle de débit, caractérisé en ce que lesdits moyens de régulation comprennent un module de calcul dudit paramètre de pente Θ tenant compte d'une surface dudit ou desdits résidu(s) de codage encodé(s) pour ladite image, ladite surface étant la somme des résolutions de chacune des composantes de ladite image,
et en ce que chacun desdits blocs est encodé par un unique passage dans ledit module d'encodage.
12. Programme d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé d'estimation selon l'une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté par un processeur.
13. Programme d'ordinateur comportant des instructions pour la mise en œuvre d'un procédé de codage selon l'une quelconque des revendications 8 à 10 lorsque ledit programme est exécuté par un processeur.
14. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé d'estimation selon l'une quelconque des revendications 1 à 7.
15. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de codage selon l'une quelconque des revendications 8 à 10.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14790557.4A EP3085087A1 (fr) | 2013-12-17 | 2014-10-22 | Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1362827 | 2013-12-17 | ||
FR1362827A FR3015163B1 (fr) | 2013-12-17 | 2013-12-17 | Procede d'estimation d'un debit de codage d'une image d'une sequence d'images, procede de codage, dispositif et programme d'ordinateur correspondants. |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015090682A1 true WO2015090682A1 (fr) | 2015-06-25 |
Family
ID=50489240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2014/072604 WO2015090682A1 (fr) | 2013-12-17 | 2014-10-22 | Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP3085087A1 (fr) |
FR (1) | FR3015163B1 (fr) |
WO (1) | WO2015090682A1 (fr) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223810B2 (en) | 2016-05-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression |
US10694210B2 (en) | 2016-05-28 | 2020-06-23 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
US11297346B2 (en) | 2016-05-28 | 2022-04-05 | Microsoft Technology Licensing, Llc | Motion-compensated compression of dynamic voxelized point clouds |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5440344A (en) * | 1992-04-28 | 1995-08-08 | Mitsubishi Denki Kabushiki Kaisha | Video encoder using adjacent pixel difference for quantizer control |
US5532940A (en) * | 1993-11-24 | 1996-07-02 | Intel Corporation | Process, apparatus and system for selecting quantization levels for encoding video signals |
EP1615444A2 (fr) * | 2004-07-08 | 2006-01-11 | QUALCOMM Incorporated | Techniques efficaces pour la régulation de débit dans le codage vidéo |
US20110299593A1 (en) * | 2009-03-13 | 2011-12-08 | Martin Pettersson | Methods of and Arrangements for Processing an Encoded Bit Stream |
US8126283B1 (en) * | 2005-10-13 | 2012-02-28 | Maxim Integrated Products, Inc. | Video encoding statistics extraction using non-exclusive content categories |
-
2013
- 2013-12-17 FR FR1362827A patent/FR3015163B1/fr active Active
-
2014
- 2014-10-22 EP EP14790557.4A patent/EP3085087A1/fr not_active Withdrawn
- 2014-10-22 WO PCT/EP2014/072604 patent/WO2015090682A1/fr active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5440344A (en) * | 1992-04-28 | 1995-08-08 | Mitsubishi Denki Kabushiki Kaisha | Video encoder using adjacent pixel difference for quantizer control |
US5532940A (en) * | 1993-11-24 | 1996-07-02 | Intel Corporation | Process, apparatus and system for selecting quantization levels for encoding video signals |
EP1615444A2 (fr) * | 2004-07-08 | 2006-01-11 | QUALCOMM Incorporated | Techniques efficaces pour la régulation de débit dans le codage vidéo |
US8126283B1 (en) * | 2005-10-13 | 2012-02-28 | Maxim Integrated Products, Inc. | Video encoding statistics extraction using non-exclusive content categories |
US20110299593A1 (en) * | 2009-03-13 | 2011-12-08 | Martin Pettersson | Methods of and Arrangements for Processing an Encoded Bit Stream |
Non-Patent Citations (5)
Title |
---|
GARY J. SULLIVAN ET AL.: "Overview of the High Efficiency Video Coding (HEVC) standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, no. 12, December 2012 (2012-12-01), XP011487803, DOI: doi:10.1109/TCSVT.2012.2221191 |
JCTVC-00022 |
Y. PITREY: "Stratégies d'encodage pour codeur vidéo scalable", THÈSE, 2009 |
Z. HE ET AL.: "Optimum Bit Allocation and Accurate Rate Control for Video Coding via p-Domain Source Modeling", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 12, no. 10, October 2002 (2002-10-01), XP001133414, DOI: doi:10.1109/TCSVT.2002.804883 |
ZHIHAI HE ET AL: "p-domain bit allocation and rate control for real time video coding", PROCEEDINGS 2001 INTERNATIONAL CONFERENCE ON IMAGE PROCESSING. ICIP 2001 - THESSALONIKI, GREECE, OCT. 7 - 10, 2001; [INTERNATIONAL CONFERENCE ON IMAGE PROCESSING], INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, NEW YORK, NY, vol. 3, 7 October 2001 (2001-10-07), pages 546 - 549, XP010563404, ISBN: 978-0-7803-6725-8, DOI: 10.1109/ICIP.2001.958172 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10223810B2 (en) | 2016-05-28 | 2019-03-05 | Microsoft Technology Licensing, Llc | Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression |
US10694210B2 (en) | 2016-05-28 | 2020-06-23 | Microsoft Technology Licensing, Llc | Scalable point cloud compression with transform, and corresponding decompression |
US11297346B2 (en) | 2016-05-28 | 2022-04-05 | Microsoft Technology Licensing, Llc | Motion-compensated compression of dynamic voxelized point clouds |
Also Published As
Publication number | Publication date |
---|---|
FR3015163B1 (fr) | 2017-04-28 |
EP3085087A1 (fr) | 2016-10-26 |
FR3015163A1 (fr) | 2015-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9143776B2 (en) | No-reference video/image quality measurement with compressed domain features | |
US11743475B2 (en) | Advanced video coding method, system, apparatus, and storage medium | |
FR2932637A1 (fr) | Procede et dispositif de codage d'une sequence d'images | |
US20150312575A1 (en) | Advanced video coding method, system, apparatus, and storage medium | |
FR2904494A1 (fr) | Procede et dispositif de compression d'image, systeme de telecommunication comportant un tel dispositif et programme mettant en oeuvre un tel procede | |
FR2939593A1 (fr) | Procede et dispositif de codage video | |
MX2013004362A (es) | Codificacion de video utilizando mapeo de rango dinamico temporalmente coherente. | |
FR2889004A1 (fr) | Procede et dispositif de traitement d'une sequence d'images numeriques a scalabilite spatiale ou en qualite | |
FR2951345A1 (fr) | Procede et dispositif de traitement d'une sequence video | |
FR2881898A1 (fr) | Procede et dispositif de codage d'une image video en mode inter ou intra | |
WO2015090682A1 (fr) | Procédé d'estimation d'un débit de codage d'une image d'une séquence d'images, procédé de codage, dispositif et programme d'ordinateur correspondants | |
FR3008840A1 (fr) | Procede et dispositif de decodage d'un train scalable representatif d'une sequence d'images et procede et dispositif de codage correspondants | |
FR2790899A1 (fr) | Dispositif et procede de regulation de debit dans un systeme de multiplexage statistique de flux d'images codees selon le codage mpeg 2 | |
EP3972246B1 (fr) | Procédé de codage et de décodage d'images, dispositif de codage et de décodage d'images et programmes d'ordinateur correspondants | |
FR3026261A1 (fr) | Procede de codage et de decodage d'images integrales, dispositif de codage et de decodage d'images integrales et programmes d'ordinateur correspondants | |
FR2996093A1 (fr) | Procede de codage et decodage d'images, dispositifs de codage et decodage et programmes d'ordinateur correspondants | |
FR2933837A1 (fr) | Procede de codage, procede et dispositif de transcodage et flux de donnees image codees. | |
EP2633687B1 (fr) | Codage et décodage vidéo a partir d'un épitome | |
FR2959093A1 (fr) | Procede et dispositif de prediction d'une information de complexite de texture contenue dans une image | |
FR2990319A1 (fr) | Procede de codage et de decodage d'un ensemble de blocs d'image et dispositifs correspondants | |
FR3041851A1 (fr) | Procede d'allocation de debit, dispositif, codeur et programme d'ordinateur associes | |
FR3033114A1 (fr) | Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants | |
FR2956552A1 (fr) | Procede de codage ou de decodage d'une sequence video, dispositifs associes | |
EP2805486A1 (fr) | Procede de quantification dynamique pour le codage de flux de donnees | |
FR3098070A1 (fr) | Procédé d’encodage et de décodage vidéo par signalisation d’un sous-ensemble de candidat |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14790557 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014790557 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014790557 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |