Search

EP-3409016-B1 - METHOD FOR DECODING DATA, DEVICE FOR DECODING DATA, AND CORRESPONDING COMPUTER PROGRAMS

EP3409016B1EP 3409016 B1EP3409016 B1EP 3409016B1EP-3409016-B1

Inventors

  • Henry, Félix
  • Clare, Gordon

Dates

Publication Date
20260513
Application Date
20170117

Claims (4)

  1. Method for decoding a coded-image-data signal (ϕ), wherein, for at least a portion (F i ) of said signal containing a coded quantized block of at least one image, said block comprising coded quantized coefficients and syntax elements associated with said coded quantized coefficients comprising at least some of the following elements: - a syntax element significant_coeff indicating whether the considered coefficient is zero or non-zero, - a syntax element sign indicating the sign of the considered coefficient if said considered coefficient is non-zero; - a syntax element greater_than_one indicating whether the considered coefficient is strictly greater than 1, if said considered coefficient is non-zero; - a syntax element greater_than_two indicating whether the considered coefficient is strictly greater than 2, if said syntax element greater_than_ one indicates that the considered coefficient is strictly greater than 1; - a syntax element remaining_level indicating the amplitude of the coefficient, minus 3, if said syntax element greater_than_two indicates that the considered coefficient is strictly greater than 2, at least one of said syntax elements not having been coded and being known to a decoder implementing said decoding method, said method implementing the following: - determining (D3) an item of information (reference_trace) representative of the number of syntax elements of said block, determined during coding, implementing: - reading said item of information from said signal portion, or - deducing said item of information based on the remaining number of syntax elements to be decoded in said signal, when said at least one block is the last block of the image, - determining (D4) the plurality of all possible values of said at least one syntax element that has not been coded, said at least one syntax element being required for decoding the block, - entropy-decoding (D5 1 , D5 2 ) the block based on the plurality of all possible values of said at least one syntax element, at the end of which a plurality of quantities of syntax elements are respectively obtained, - comparing (D6 1 ) each of the quantities of syntax elements with the number of syntax elements of said block, - if the quantities of syntax elements are different from one another: - selecting (D6 2 a)) the quantity of syntax elements that is equal to the item of information representative of the number of syntax elements of said block, and - selecting (D6 3 a)) the value of said at least one syntax element required for decoding the block corresponding to said selected quantity of syntax elements, - if at least two quantities of syntax elements are each equal to the item of information representative of the number of syntax elements of said block: - reading (D6 2 b)), from said signal portion, an item of information (combination_id) representative of the selection to be applied from among the values of said at least one syntax element required for decoding the block corresponding to said at least two quantities of syntax elements, - selecting the value of said at least one syntax element required for decoding the block based on the read item of information, - reconstructing (D7) said block based on the selected value of said at least one syntax element required for decoding the block.
  2. Device (DO) for decoding a coded-image-data signal (ϕ), comprising a processing circuit (CT_C) that, for at least a portion (F i ) of said signal containing a coded quantized block of at least one image, said block comprising coded quantized coefficients and syntax elements associated with said coded quantized coefficients comprising at least some of the following elements: - a syntax element significant_coeff indicating whether the considered coefficient is zero or non-zero, - a syntax element sign indicating the sign of the considered coefficient if said considered coefficient is non-zero; - a syntax element greater_than_one indicating whether the considered coefficient is strictly greater than 1, if said considered coefficient is non-zero; - a syntax element greater_than_two indicating whether the considered coefficient is strictly greater than 2, if said syntax element greater_than_ one indicates that the considered coefficient is strictly greater than 1; - a syntax element remaining_level indicating the amplitude of the coefficient, minus 3, if said syntax element greater_than_two indicates that the considered coefficient is strictly greater than 2, at least one of said syntax elements not having been coded and being known to said decoding device, said device being designed to: - determine an item of information (reference_trace) representative of the number of syntax elements of said block, determined during coding, by: - reading said item of information from said signal portion, or - deducing said item of information based on the remaining number of syntax elements to be decoded in said signal, when said at least one block is the last block of the image, - determine the plurality of all possible values of said at least one syntax element that has not been coded, said at least one syntax element being required for decoding said block, - entropy-decode said block based on the plurality of all possible values of said at least one syntax element, at the end of which a plurality of quantities of syntax elements are respectively obtained, - compare each of the quantities of syntax elements with the number of syntax elements of said block, - if the quantities of syntax elements are different from one another, - select the quantity of syntax elements that is equal to the item of information representative of the number of syntax elements of said block, and - select the value of said at least one syntax element required for decoding the block corresponding to said selected quantity of syntax elements, - if at least two quantities of syntax elements are each equal to the item of information representative of the number of syntax elements of said block: - read, from said signal portion, an item of information (combination_id) representative of the selection to be applied from among the values of said at least one syntax element required for decoding the block corresponding to said at least two quantities of syntax elements, - select (D6 2 a)) the value of said at least one syntax element required for decoding the block based on the read item of information, - reconstruct the selected value of said at least one syntax element required for decoding the block.
  3. Computer program comprising instructions for implementing the decoding method according to Claim 1 when said decoding method is executed on a computer.
  4. Computer-readable recording medium on which there is recorded a computer program comprising program code instructions for carrying out the steps of the decoding method according to Claim 1 when said program is executed by a computer.

Description

Scope of the invention The present invention relates generally to the field of data encoding and decoding. The invention can thus be applied in particular to the coding of digital images and sequences of digital images, as implemented in current AVC (English abbreviation for "Advanced Video Coding") and HEVC (English abbreviation for "High Efficiency Video Coding") video encoders and their extensions (MVC, 3D-AVC, MV-HEVC, 3D-HEVC, etc...), and to the corresponding decoding. Background of the invention Current video encoders (MPEG, H.264, HEVC, etc.) use a block representation of the video sequence. Images are divided into blocks, which can then be recursively further divided. Each block is then encoded using intra-frame or inter-frame prediction. Thus, some images are encoded by spatial prediction (Intra-frame prediction), while others are also encoded by temporal prediction (Inter-frame prediction) relative to one or more encoded-decoded reference images, using motion compensation known to those skilled in the art. For each block, a residual block, also called a prediction residual, is encoded. This residual block corresponds to the original block minus one prediction. The residual blocks are transformed using a mathematical transformation operation, then quantized using a mathematical quantization operation, for example, a scalar operation. A one-dimensional list of coefficients is obtained after quantization. The coefficients in this list are then coded as bits by an entropic coding whose purpose is to encode the coefficients without loss. The bits obtained after entropy coding are written into a signal or data stream which is intended to be transmitted to the decoder. In a way that is known in itself, such a signal includes: the quantified coefficients contained in the aforementioned list, information representative of the coding method used, in particular: the prediction mode (Intra prediction, Inter prediction, default prediction making a prediction for which no information is transmitted to the decoder ("in English "skip")); information specifying the type of prediction (orientation, reference image, ...); the type of block cutting; movement information if necessary; etc. Once the stream is received by the decoder, decoding is performed frame by frame, and for each frame, block by block. For each block, the corresponding elements of the stream are read. Inverse quantization, reverse traversal, and inverse transform of the block coefficients are then performed to produce the decoded prediction residual. The block prediction is then calculated, and the block is reconstructed by adding the prediction to the decoded prediction residual. More specifically, when using HEVC data coding, the aforementioned entropy coding, which can be, for example, arithmetic or Huffman coding, is performed as follows: Significance information, indicating whether each coefficient is zero or not, is encoded. A syntax element "significant_coeff = 0" is compressed by entropy coding if the coefficient is zero. A syntax element "significant_coeff = 1" is compressed by entropy coding if the coefficient is non-zero; For each non-zero coefficient, a "greater_than_one" syntax element is encoded using entropy coding, which indicates whether the current coefficient is greater than 1: for each coefficient for which the syntax element "greater_than_one" equals 1, a syntax element "greater_than_two" is coded by entropy coding, which indicates if the current coefficient is greater than 2; for each coefficient for which the syntax element "greater_than_two" is equal to 1, a syntax element "remaing_level" is encoded by entropy coding, which indicates the magnitude of the coefficient, reduced by 3; for each non-zero coefficient, a "sign" syntax element is coded by entropy coding, which indicates the sign of that element. One drawback of this type of encoding is that the encoded data signal to be transmitted to a decoder contains a significant amount of data, which prevents optimal gain reduction during compression of the encoded data. This results in unsatisfactory compression performance. It is also known from the document US 2015/195568 , when encoding a set of image data, not to encode one of the data in that set, by hiding that data in the parity of the sum of the data in that set. Object and summary of the invention One of the aims of the invention is to remedy some of the drawbacks of the aforementioned prior art. The invention is defined by the claims. In the following, the expression "embodyment" should be understood as designating an example to illustrate the invention, unless it refers specifically to the invention as defined in the claims. To that end, an example concerns a data encoding process in the form of a data signal, which is remarkable in that, for a typical dataset, it implements the following: encoding of the data in the set, with the exception of at least one data item in the set, determining information representativ