Method and device for encoding and decoding a data stream representing at least one image

The method enhances video compression by using distinct syntax elements for pixel-based intra prediction, addressing inefficiencies in existing techniques and reducing costs, thereby improving compression performance and efficiency.

JP7808156B2Active Publication Date: 2026-01-28オランジュ
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024153998
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-09-21
Filing Date
2024-09-06
Publication Date
2026-01-28
Estimated Expiration
2039-09-03

AI Technical Summary

Technical Problem

Existing video compression techniques, such as those in the HEVC standard, are inefficient in predicting pixel sets within blocks, leading to lower compression ratios and requiring reconstruction of pixels before predicting others, and do not allow conventional intra prediction modes and DPCM prediction modes to coexist effectively.

Method used

A method that decodes and encodes image blocks using two distinct groups of syntax elements, allowing for pixel-based intra prediction with reduced implementation costs by reusing existing hardware and software components, and adapting residual coding to statistical differences between modes.

Benefits of technology

Improves data compression by optimizing pixel-based intra-coding modes and reducing implementation costs through shared syntax elements, enhancing compression performance and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007808156000002
    Figure 0007808156000002
  • Figure 0007808156000003
    Figure 0007808156000003
  • Figure 0007808156000004
    Figure 0007808156000004
Patent Text Reader

Abstract

To provide a method and a device for encoding and decoding a data stream indicating at least one image.SOLUTION: A decoding method decodes an item of information indicating a coding mode of a current block for at least one block of an image called the current block, from a data stream E42. When the coding mode of the current block corresponds to a first coding mode, a step E433 of decoding a predictive residual related to the current block is executed using a first group of a syntax element, whereas when the coding mode of the current block corresponds to a second coding mode, a step E442 of decoding the predictive residual related to the current block is executed using a second group of the syntax element, in which the second group of the syntax element is a subgroup of the syntax element of the first group of the syntax element.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The field of the invention is that of encoding and decoding images or sequences of images, in particular video streams.

[0002] More particularly, the present invention relates to the compression of an image or sequence of images using a block representation of the image.

[0003] The invention is particularly applicable to image or video coding and corresponding decoding implemented in current or future encoders (JPEG, MPEG, H.264, HEVC, etc. and modifications thereof). [Background technology]

[0004] Digital images and sequences of images take up a lot of space in terms of memory and when transmitting these images they need to be compressed to avoid congestion problems on the networks used for this transmission.

[0005] Many techniques for compressing video data are already known. Among these, the HEVC compression standard ("High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signals and Communication Technology, 2015) proposes predicting the pixels of a current image with respect to other pixels belonging to the same image (intra-prediction) or with respect to other pixels belonging to previous or subsequent images (inter-prediction).

[0006] More specifically, intra prediction utilizes spatial redundancy within an image. To do this, the image is divided into blocks of pixels. The blocks of pixels are then predicted using already reconstructed information corresponding to previously coded / decoded blocks in the current image, according to the scanning order of the blocks within the image.

[0007] Furthermore, in a standard manner, the coding of the current block is performed using a prediction of the current block, called a predictor block, and a prediction residual or "residual block" corresponding to the difference between the current block and the predictor block. The resulting residual block is then transformed, for example using a DCT (Discrete Cosine Transform) type transform. The coefficients of the transformed residual block are then quantized, coded by entropy coding, and transmitted to a decoder, which can reconstruct the current block by adding this residual block to the predictor block.

[0008] Decoding is performed image by image and block by block for each image. For each block, the corresponding element of the stream is read. Inverse quantization and inverse transformation of the coefficients of the residual block are performed. A block prediction is then calculated to obtain a predictor block, and the current block is reconstructed by adding the prediction (i.e., predictor block) to the decoded residual block.

[0009] In U.S. Patent No. 9,253,508, a DPCM (Differential Pulse Code Modulation) coding technique for coding a block in intra mode is integrated into an HEVC encoder. Such a technique consists in predicting a set of pixels of an intra block by another set of pixels of the same block that has been previously reconstructed. In U.S. Patent No. 9,253,508, the set of pixels of the coded intra block corresponds to a row, or a column, or a row and a column, of the block, and the intra prediction used to predict the set of pixels is one of the directional intra predictions defined in the HEVC standard.

[0010] However, such techniques are not optimal. In fact, the reconstruction of a set of pixels of an intrablock corresponds to the counting of prediction residuals in the case of lossless coding, and therefore corresponds to the counting of prediction residuals after inverse transformation and / or inverse quantization of said other set of pixels that serves as a prediction, resulting in a significantly lower compression ratio. Therefore, such techniques cannot predict each pixel of an intrablock using a local prediction function and the predicted pixels that will be reconstructed before subsequent pixels are predicted. In fact, this technique requires the reconstruction of a set of pixels (e.g., rows / columns of a block) in order to predict another set of pixels. In other words, each time a part of a block is predicted and reconstructed, some pixels of the block are predicted and reconstructed.

[0011] Furthermore, US Pat. No. 9,253,508 does not describe a method for allowing conventional intra prediction modes and DPCM prediction modes, such as those defined in the HEVC standard, to coexist. [Prior art documents] [Patent documents]

[0012] [Patent Document 1] U.S. Patent No. 9,253,508 [Non-patent literature]

[0013] [Non-Patent Document 1] "High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signals and Communication Technology, 2015 Summary of the Invention [Problem to be solved by the invention]

[0014] Therefore, there is a need for new encoding and decoding methods to improve the compression of image or video data. [Means for solving the problem]

[0015] The present invention improves on the state of the art. To this end, the invention relates to a method for decoding a coded data stream representing at least one image divided into blocks, the decoding method comprising the steps of: - decoding an item of information indicating the coding mode of the current block; - decoding the current block if the coding mode of the current block corresponds to the first coding mode; - decoding a prediction residual associated with the current block using a first group of syntax elements; - obtaining a prediction of the current block from the reconstructed pixels of a previously decoded block; and - reconstructing the current block from the obtained prediction and the decoded prediction residual. a decoding step including: - decoding the current block if the coding mode of the current block corresponds to the second coding mode; - decoding a prediction residual associated with the current block using a second group of syntax elements, the second group being a subgroup of syntax elements of the first group of syntax elements; and - reconstructing the current block, - For each pixel in the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to a previously decoded block of said current block or image; and - reconstructing said pixel from the obtained prediction of said pixel and a decoded prediction residual using a second group of syntax elements. a reconstructing step, a decoding step including: Equipped with.

[0016] The invention therefore allows the use of at least some of the syntax elements of existing coding modes, which allows the use of the same processing equipment, thus sharing data processing and reducing implementation costs both in terms of hardware and software.

[0017] It should be noted that, according to the present invention, the first group of syntax elements and the second group of syntax elements are distinct. In fact, the second group of syntax elements is a subgroup of the first group and comprises at least one syntax element of said first group. The second group of syntax elements differs from the first group in that it does not comprise all the syntax elements of the first group. In fact, the second group of syntax elements comprises a number of syntax elements strictly less than the number of syntax elements of the first group. Therefore, the second group of syntax elements is a strict subgroup of the first group of syntax elements.

[0018] The present invention therefore adapts the coding of the prediction residual obtained according to the second coding mode to the statistics of the coefficients to be coded, which in fact differ from the statistics of the coefficients of the prediction residual obtained according to the first coding mode, thus improving data compression.

[0019] The invention also relates to a method for encoding a data stream representing at least one image divided into blocks, the encoding method comprising the steps of: - encoding an item of information indicating the coding mode of the current block; - coding the current block if the coding mode of the current block corresponds to the first coding mode; - obtaining a prediction of the current block from the reconstructed pixels of a previously decoded block; - obtaining a prediction residual associated with the current block obtained from the obtained prediction; and - coding the prediction residual associated with the current block using a first group of syntax elements; an encoding step, comprising: - coding the current block if the coding mode of the current block corresponds to the second coding mode; - For each pixel in the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to a previously decoded block of said current block or image; - obtaining a prediction residual from the prediction obtained for said pixel; and - coding a prediction residual associated with the current block using a second group of syntax elements comprising prediction residuals associated with pixels of the current block, the second group being a subgroup of syntax elements of the first group of syntax elements. a coding step, Equipped with.

[0020] The invention also relates to a coded data stream representing at least one image divided into blocks, the coded data stream comprising, for at least one block of the image, called the current block: - an item of information indicating the coding mode of the current block; - a prediction residual according to a first coding mode coded using the first group of syntax elements, if the coding mode of the current block corresponds to the first coding mode, wherein the prediction residual according to the first coding mode is obtained from predicting the current block from reconstructed pixels of a previously decoded block; and - a prediction residual according to a second coding mode coded using a second group of syntax elements, when the coding mode of the current block corresponds to a second coding mode, the second group being a subgroup of syntax elements of the first group of syntax elements, and the prediction residual according to the second coding mode being: - For each pixel in the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to a previously decoded block of said current block or image; and - obtaining a prediction residual associated with said pixel from the prediction obtained for said pixel. The prediction residuals and Equipped with.

[0021] Such a data stream can be stored in any storage medium, for example a memory, or can be transmitted in the form of an electrical or optical signal that can be conveyed via electrical or optical cable, by radio or by other means.

[0022] According to a particular embodiment of the invention, the first group of syntax elements comprises a positional syntax element indicating the position of the first non-null coefficient of the prediction residual associated with the current block according to the determined scanning order of the coefficients of the prediction residual, and the second group of syntax elements does not comprise said positional syntax element.

[0023] When decoding or encoding the prediction residual of the current block according to the first coding mode, the prediction residual is scanned according to the determined scanning order from the first non-null coefficient of the prediction residual to the last coefficient of the prediction residual.

[0024] According to a particular embodiment described herein, when decoding or coding the prediction residual of the current block according to the second coding mode, the prediction residual is scanned from the first coefficient of the prediction residual to the last coefficient of the prediction residual according to the determined scanning order. This particular embodiment of the present invention reduces the coding cost of the prediction residual according to the second coding mode if the first non-null coefficient corresponds to the first coefficient of the prediction residual.

[0025] According to another particular embodiment of the invention, the prediction residual associated with the current block comprises at least one sub-block of coefficients, and said first group of syntax elements comprises: a sub-block syntax element associated with said at least one sub-block of coefficients, the sub-block syntax element indicating whether at least one coefficient of the sub-block is non-null; and, for each sub-block of coefficients of the prediction residual comprising at least one non-null coefficient, a significance syntax element per coefficient of the sub-block, indicating whether said coefficient is null. According to this other particular embodiment of the invention, the second group of syntax elements comprises a significance syntax element per coefficient of the prediction residual.

[0026] In other words, according to this particular embodiment of the present invention, according to the second coding mode, the coefficients of the prediction residual associated with the current block are not grouped by sub-blocks, and sub-block syntax elements are not provided in the second group of syntax elements.

[0027] According to another particular embodiment of the invention, the first group of syntax elements comprises, for each non-null coefficient of the prediction residual scanned according to the determined scanning order: - a syntax element indicating whether the absolute value of the coefficient is equal to 1; - for each coefficient whose absolute value is not equal to 1, a syntax element indicating whether the absolute value of the coefficient is equal to 2; - for each coefficient whose absolute value is not equal to 1 or 2, a syntax element indicating the absolute value of the coefficient minus 3; - A syntax element that indicates whether the coefficient is positive or negative.

[0028] According to this other particular embodiment of the invention, the second group of syntax elements comprises, for each non-null coefficient of the prediction residual scanned according to the determined scanning order, a syntax element indicating the absolute value of the coefficient, said syntax element indicating whether the coefficient is positive or negative.

[0029] The present invention also relates to a decoding device configured to implement the decoding method according to any one of the specific embodiments defined above. Of course, this decoding device has various characteristics related to the decoding method according to the present invention. Therefore, the characteristics and advantages of this decoding device are the same as those of the decoding method, and they will not be further detailed.

[0030] The decoding device specifically determines, for at least one block of the image, referred to as the current block: - decoding an item of information indicating the coding mode of the current block; - if the coding mode of the current block corresponds to the first coding mode, - decoding a prediction residual associated with the current block using a first group of syntax elements; - obtaining a prediction of the current block from the reconstructed pixels of a previously decoded block; and - reconstructing the current block from the obtained prediction and the decoded prediction residual. Decrypting the current block by - if the coding mode of the current block corresponds to the second coding mode, - decoding a prediction residual associated with the current block using a second group of syntax elements, the second group being a subgroup of syntax elements of the first group of syntax elements; and - reconstructing the current block; - For each pixel in the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to a previously decoded block of said current block or image; and - reconstructing the pixel from the obtained prediction of the pixel and a decoded prediction residual using a second group of syntax elements. Reconstruction, including By decrypting the current block, The method includes a processor configured to:

[0031] According to a particular embodiment of the invention, such a decoding device is provided in a terminal.

[0032] The present invention also relates to a coding device configured to implement the coding method according to any one of the specific embodiments defined above. Of course, this coding device may have various characteristics related to the coding method according to the present invention. Therefore, the characteristics and advantages of this coding device are the same as those of the coding method, and they will not be further detailed.

[0033] The coding device specifically determines, for at least one block of the image, referred to as the current block: - encoding an item of information indicating the coding mode of the current block; - if the coding mode of the current block corresponds to the first coding mode, - obtaining a prediction of the current block from the reconstructed pixels of a previously decoded block; - obtaining a prediction residual associated with the current block obtained from the obtained prediction; and - coding the prediction residual associated with the current block using a first group of syntax elements; encoding the current block by - if the coding mode of the current block corresponds to the second coding mode, - For each pixel in the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to a previously decoded block of said current block or image; - obtaining a prediction residual from the prediction obtained for said pixel; and - coding a prediction residual associated with a current block comprising prediction residuals associated with pixels of the current block using a second group of syntax elements, the second group being a subgroup of syntax elements of the first group of syntax elements. and encoding the current block by The method includes a processor configured to:

[0034] According to a particular embodiment of the invention, such a coding device is provided in a terminal or in a server.

[0035] The decoding method, respectively the encoding method, according to the invention can be implemented in various ways, in particular in wired or software form. According to a particular embodiment of the invention, the decoding method, respectively the encoding method, is implemented by a computer program. The invention also relates to a computer program comprising instructions for implementing the decoding method or the encoding method according to any one of the particular embodiments when executed by a processor. Such a program can use any programming language, which can be downloaded from a communication network and / or recorded on a computer-readable medium.

[0036] The program may use any programming language and may be in the form of source code, object code, or any intermediate code between source code and object code, such as partially compiled form, or any other desired form.

[0037] The present invention also relates to a computer-readable storage medium or data medium comprising instructions for a computer program as described above. The storage medium may be any entity or device capable of storing a program. For example, the medium may comprise a storage means such as a memory. On the other hand, the storage medium may correspond to a transmissible medium such as an electrical or optical signal that may be conveyed by radio or by other means, via an electrical or optical cable. The program according to the present invention may in particular be downloadable onto an Internet-type network.

[0038] Alternatively, the storage medium may correspond to an integrated circuit in which the program is embedded, the circuitry being adapted for performing, or for use in the performance of, the method of interest.

[0039] Other features and advantages of the invention will become more clearly apparent on reading the following description of particular embodiments, given by way of simple, illustrative and non-limiting example, and the accompanying drawings, in which: [Brief explanation of the drawings]

[0040] [Figure 1] FIG. 3 illustrates steps of an encoding method according to a particular embodiment of the invention. [Figure 2] 3A and 3B are diagrams illustrating examples of the positions of neighboring blocks of a current block for determining an intra-prediction mode, according to certain embodiments of the present invention. [Figure 3] 3A and 3B illustrate examples of the locations of reference pixels used to predict pixels of a current block according to certain embodiments of the present invention; [Figure 4] 3 illustrates steps of a decoding method according to a particular embodiment of the invention; [Figure 5] 1 illustrates an example of a signal comprising coded data representing at least one block of an image, according to certain embodiments of the present invention; [Figure 6]FIG. 2 shows a simplified structure of a coding device adapted to implement a coding method according to any one of the particular embodiments of the present invention. [Figure 7] 2 shows a simplified structure of a decoding device adapted to implement a decoding method according to any one of the particular embodiments of the invention; [Figure 8] FIG. 1 illustrates the division of a block of coefficients into sub-blocks. DETAILED DESCRIPTION OF THE INVENTION

[0041] 5. Description of the Embodiments of the Present Invention 5.1 General principles The general principle of the invention is to make it possible to use part of the group of syntax elements used for coding a prediction residual obtained from a coding mode using prediction of pixels from at least one previously reconstructed block, for pixel-based intra prediction, i.e., for coding a prediction residual from the prediction of pixels of the block to be coded from previously reconstructed pixels of the block to be coded.

[0042] The present invention therefore improves the compression performance of pixel-based intra-coding modes and reduces the implementation cost of this new coding mode, in particular by allowing the reuse of some syntax elements already used by another coding mode.

[0043] 5.2 Embodiment 1 shows the steps of a coding method according to a particular embodiment of the invention. For example, images I1, I2, ..., I Nb is coded in the form of a coded data stream STR according to a particular embodiment of the invention, for example, by a coding device as described below in connection with FIG.

[0044] Images I1, I2, ..., I, where Nb is the number of images in the sequence to be coded.Nb is provided as input to a coding method, which outputs a coded data stream STR representing the sequence of images provided as input.

[0045] In a known manner, images I1, I2, ..., I Nb The coding of the sequence is done picture by picture according to a coding order that is pre-established and known to the encoder. For example, the pictures are coded in the temporal order I1, I2, ..., I Nb , or another order, e.g., I1, I3, I2, …, I Nb It can be coded as:

[0046] In step E0, images I1, I2, ..., I Nb Image I to be coded in the sequence j is divided into blocks, e.g., blocks of 32x32, 64x64 pixels or larger. Such blocks may be subdivided into square or rectangular sub-blocks, e.g., 16x16, 8x8, 4x4, 16x8, 8x16.

[0047] In step E1, image I j The first block or sub-block X to be coded b But image I j The first block is selected according to a predetermined scan order of the image, for example, the first block in the lexicographical scan order of the image.

[0048] In step E2, the encoder calculates the current block X b Select the coding mode to code the

[0049] According to a particular embodiment described herein, the encoder selects a first coding mode M1 and a second coding mode M2 ​​for the current block X b Select the coding mode to encode the . Additional coding modes (not described here) can be used.

[0050] According to certain embodiments described herein, the first coding mode M1 corresponds to coding of the current block by conventional intra prediction, e.g. as defined according to the HEVC standard, and the second coding mode M2 ​​corresponds to in-loop residual (ILR) predictive coding.

[0051] In step E2, the encoder may perform a rate / distortion optimization to determine the optimal coding mode for coding the current block. During this rate / distortion optimization, additional coding modes different from the first and second coding modes, such as inter-mode coding modes, may be tested. During this rate / distortion optimization, the encoder may test the current block X according to the various available coding modes to determine the rate and distortion associated with each coding mode. b and selects the coding mode that provides the best rate / distortion compromise, e.g., according to a D+λR function, where R is the rate required to code the current block according to the evaluated coding mode, D is the distortion measured between the decoded block and the original current block, and λ is a Lagrange multiplier, e.g., entered by a user or defined in the encoder.

[0052] At step E20, an item of information indicating the coding mode selected for the current block is coded in the data stream STR.

[0053] Current Block X b If the current block X is coded according to the first coding mode M1, the method proceeds to step E21 for coding the block according to M1. b If is coded according to the second coding mode M2, the method proceeds to step E22 for coding the block according to M2.

[0054] A step E21 for coding a block according to a first coding mode M1 according to a particular embodiment of the invention is described below. According to the particular mode described herein, the first coding mode corresponds to conventional intra prediction, such as that defined in the HEVC standard.

[0055] In step E210, a quantization step δ1 is determined. For example, the quantization step δ1 may be set by the user, calculated using a quantization parameter that defines a compromise between compression and quality and entered by the user, or defined by the encoder. Such a quantization parameter may therefore be the parameter λ used in the rate-distortion cost function D+λ.R, where D represents the distortion introduced by the coding and R represents the rate used for coding. This function is used to make the coding choice. Typically, a method of coding an image that minimizes this function is sought.

[0056] As a variant, the quantization parameter can be a QP corresponding to the quantization parameter conventionally used in the AVC or HEVC standard. Thus, in the HEVC standard, the quantization step δ1 is determined by the formula δ1=levelScale[QP%6]<<(QP / 6)), where levelScale[k]={40, 45, 51, 57, 64, 72} for k=0..5.

[0057] In step E211, a prediction for the current block is determined using a conventional intra prediction mode, in which each predicted pixel is calculated only from decoded pixels obtained from neighboring blocks (reference pixels) located above and to the left of the current block. The way in which pixels are predicted from the reference pixels depends on the prediction mode transmitted to the decoder and is selected by the encoder from a predetermined set of modes known to the encoder and decoder.

[0058] Thus, HEVC has 35 possible prediction modes: 33 modes that interpolate reference pixels in 33 different angular directions, and two other modes: DC mode, in which each pixel of the prediction block is generated from the average of the reference pixels, and PLANAR mode, which performs planar and omnidirectional interpolation. This "traditional intra prediction" is well known and is used in the ITU-T H.264 standard (which has only nine different modes) and in the experimental JEM software available at the internet address (https: / / jvet.hhi.fraunhofer.de / ), which has 67 different prediction modes. In all cases, conventional intra prediction respects the two aspects mentioned above (predicting pixels from neighboring blocks and transmitting the optimal prediction mode to the decoder).

[0059] Thus, in step E211, the encoder selects one of the available prediction modes from a predetermined list of prediction modes. One way to select is, for example, to evaluate all prediction modes and keep the prediction mode that minimizes a cost function, such as classically the rate-distortion cost.

[0060] In step E212, the prediction mode selected for the current block is coded from the neighboring blocks of the current block. b current block X for coding the prediction mode of b Adjacent Block A of b and B b An example of the position is shown.

[0061] In step E212, the intra prediction mode selected for the current block is coded using the intra prediction modes associated with the neighboring blocks.

[0062] For example, the technique described in the HEVC standard for coding the prediction mode of the current block can be used. In the example of Figure 2, such a technique is used for block A, which is located above the current block. b The intra prediction mode m associated with A , and block B located immediately to the left of the current block b The intra prediction mode m associated with B m A and m B Depending on the value of , a list called MPM (Most Probable Mode) containing three intra prediction modes and a list called non-MPM containing 32 other prediction modes are created.

[0063] According to the HEVC standard, a syntax element is transmitted to code the intra prediction mode of the current block. - a binary indicator showing whether the prediction mode coded for the current block is in the MPM list; - if the prediction mode of the current block belongs to the MPM list, the index in the MPM list corresponding to the prediction mode of the current block is coded; - If the prediction mode of the current block does not belong to the MPM list, the index in the non-MPM list corresponding to the prediction mode of the current block is coded.

[0064] In step E213, the prediction residuals R of the current block are constructed.

[0065] In step E213, in the standard way, a predicted block P is constructed according to the prediction mode selected in step E211. A prediction residual R is then obtained by calculating the pixel-by-pixel difference between the predicted block P and the original current block.

[0066] In step E214, the prediction residual R is T is converted to

[0067] In step E214, the frequency transformation is carried out to obtain a block R comprising the transformation coefficients. T is applied to the residual block R to generate a transform, which may for example be a DCT type transform. A set of predefined transforms E T It is possible for the decoder to select the transform to be used from and to inform the decoder of the transform to be used.

[0068] In step E215, the transformed residual block R T is quantized using, for example, scalar quantization with quantization step δ, so that the quantized transformed prediction residual block R TQ is generated.

[0069] At step E216, the quantized block R TQ The coefficients of are coded by an entropy encoder. For example, the entropy coding specified in the HEVC standard can be used.

[0070] In this case, the residual R TQ The coding of the coefficients of works as follows.

[0071] The scanning order of the coefficients is determined. This scanning order is the same in the encoder and the decoder. For example, it is defined by default in the encoder and the decoder. This is, for example, TQ It is constructed by scanning the row and column of

[0072] Syntax elements are sent to indicate the position of the first non-null coefficient found according to the scan order. These syntax elements are LastX and LastY (of the current quantized block R TQ The coordinates of the coefficients in the matrix are called

[0073] The coefficients are then calculated from the first non-null coefficient to the current quantized block R TQ The current quantized block R is scanned until the last coefficient ofTQ The coefficients of the current quantized block R are grouped into sub-blocks. For example, the coefficients of the current quantized block R are grouped into sub-blocks, as shown in FIG. 8, which shows a transformed prediction residual block divided into sub-blocks of 4×4 coefficients. TQ The pixels are grouped into sub-blocks of size 4x4 contained in . Of course, other sizes of sub-blocks are possible.

[0074] For each sub-block, the syntax element coded_sub_block_flag is transmitted, indicating whether the sub-block consists entirely of zeros. In other words, this syntax element takes the value 0 if all coefficients of the sub-block are null, and the value 1 otherwise (at least one coefficient of the sub-block is different from 0).

[0075] For each sub-block that comprises at least one non-null coefficient, the syntax element sig_coeff_flag is sent for each coefficient (located after the last coefficient of the sub-block indicated by LastX and LastY according to the determined scanning order), indicating whether the coefficient is null. Such a syntax element is not sent for the first non-null coefficient identified by LastX and LastY, since the encoder already knows that this coefficient is non-null.

[0076] For each non-null coefficient, the syntax element coeff_abs_level_greater1_flag is sent to indicate whether the coefficient is equal to 1 or not.

[0077] For each coefficient that is non-null and not equal to 1, the syntax element coeff_abs_level_greater2_flag is sent to indicate whether the coefficient is equal to 2 or not.

[0078] For each coefficient that is non-null and not equal to 1 or 2, the syntax element coeff_abs_level_remaining is sent, indicating the magnitude of the coefficient minus 3.

[0079] Finally, for each non-null coefficient, the syntax element coeff_sign_flag is sent to indicate whether the coefficient is positive or negative.

[0080] In a known manner, the current block is converted into a quantized block R TQ The current block is decoded by inverse quantizing the coefficients of the current block, and then applying an inverse transform to the inverse quantized coefficients to obtain a decoded prediction residual. The prediction is then added to the decoded prediction residual to reconstruct the current block and obtain its decoded version. The decoded version of the current block can then be used later to spatially predict other neighboring blocks of the image, or to predict blocks of other images by inter-image prediction.

[0081] A step E22 for coding a block according to a second coding mode M2 ​​according to a particular embodiment of the invention is described below. According to the particular embodiment described herein, the second coding mode corresponds to ILR predictive coding.

[0082] In step E220, a local predictor PL of the current block is determined. According to the coding modes described herein, the pixels of the current block are predicted by previously reconstructed pixels of the current block or of its own neighboring blocks.

[0083] Preferably, a pixel as close as possible to the pixel to be predicted is selected for prediction. This is why it is called a local predictor. The local predictor PL can also be assimilated to the prediction mode of the current block associated with the second coding mode M2. According to this interpretation, in certain embodiments described herein, the first coding mode uses a first group of intra prediction modes, for example, the intra prediction modes defined by the HEVC standard, and the second coding mode, here the ILR mode, uses a second group of prediction modes different from the first group of intra prediction modes.

[0084] The local predictor PL may be unique or may be selected from a predetermined set of local predictors (second group of prediction modes).

[0085] According to a variant of one embodiment, four local predictors are defined: Thus, if we call X the current pixel to be predicted from the current block, A the pixel immediately to the left of X, B the pixels immediately to the left and above X, and C the pixel immediately above X, then the current block X b As shown in FIG. 3, which illustrates the four local predictors PL1, PL2, PL3, PL4 can be defined as follows: If PL1(X) = min(A,B)C≧max(A,B) If max(A,B)C≦min(A,B) A+BCIf not, PL2(X)=A PL3(X)=B PL4(X)=C In the formula, min(A,B) corresponds to a function that returns the minimum value between the values ​​of A and B, and max(A,B) corresponds to a function that returns the maximum value between the values ​​of A and B.

[0086] In step E220, the local predictor PL to be used for the current block is determined. In other words, the same local predictor is used for all pixels of the current block, i.e. the same prediction function. To this end, several embodiment variants are possible.

[0087] The coding of the current block using each of the predictors can be simulated (similar to the optimization for selecting the coding mode for the current block), and a local predictor is selected by optimizing a cost function (e.g., minimizing the D+λ.R function, where R is the rate used to code the block, D is the distortion of the decoded block relative to the original block, and λ is a parameter set by the user).

[0088] Alternatively, to limit the complexity of selecting a local predictor for the current block, the texture direction of previously coded pixels is analyzed, for example, previously coded pixels in blocks located above or to the left of the current block are analyzed using a Sobel-type operator. - If the direction is determined to be horizontal, the local predictor PL2 is selected, - If the direction is determined to be vertical, local predictor PL3 is selected, - If the direction is determined to be diagonal, the local predictor PL4 is selected, If it is determined that no direction appears, the local predictor PL1 is selected.

[0089] A syntax element is coded into the data stream STR to indicate to the decoder the local predictor that was used to predict the current block.

[0090] In step E221, a quantization step δ2 is determined, which for example depends on the same quantization parameter as the quantization step δ1 that would be determined in step E210 if the current block were coded according to the first coding mode.

[0091] In step E222, a prediction residual R1 is calculated for the current block. For this purpose, once a local predictor has been selected, for each current pixel of the current block: - The current pixel X of the current block is predicted by the selected local predictor PL using already reconstructed pixels outside the block (and therefore available in their decoded values) and / or previously reconstructed pixels in the current block to obtain a prediction value PRED. In all cases, the predictor PL uses previously reconstructed pixels. In Figure 3, it can be seen that pixels of the current block located in the first row and / or first column of the current block are used as reference pixels (gray pixels in Figure 3) that have already been reconstructed outside the block (to build the prediction value PRED) and for which pixels of the current block may already be reconstructed. For other pixels of the current block, the reference pixels used to build the prediction value PRED are located within the current block. - The difference DIFF between PRED and X is calculated by a scalar quantizer with quantization step δ2 as Q(X) = ScalarQuant(DIFF) = ScalarQuant(δ 2, X-PRED) to a value Q(X), and a scalar quantizer is used, e.g.

[0092]

number

[0093] Q(X) is the quantized residual associated with X. Q(X) is calculated in the spatial domain, i.e., directly from the difference between the predicted value PRED of pixel X and the original value of X. Such a quantized residual Q(X) of pixel X is calculated as a quantized prediction residual block R1. Q and later coded. - The decoded prediction P1(X) of X is calculated by adding the dequantized value of the quantized residual Q(X) to the prediction PRED. Thus, the decoded prediction P1(X) of X is obtained by P1(X) = PRED + ScalarDequant(δ2,Q(X)). For example, the closest scalar quantization inverse function is given by ScalarDequant(Δ,x) = Δ×x.

[0094] The decoded prediction value P1(X) thus makes it possible to predict pixels that may continue to be processed in the current block. Furthermore, the block P1 comprising the decoded / reconstructed values ​​of the pixels of the current block is an ILR predictor of the current block (as opposed to a conventional intra predictor).

[0095] The above substeps are performed for all pixels of the current block in a scan order that ensures that the pixels used for prediction selected from PL1, ..., PL4 are available.

[0096] According to one embodiment variant, the scanning order of the current block is lexicographic, ie from left to right and from top to bottom.

[0097] According to another embodiment variant, several scanning orders of the current block, e.g. -lexicographical order, or - Scan the first column from top to bottom, then the column immediately to the right, etc., or -Scanning the diagonals one after the other can be used.

[0098] According to this alternative, it is possible to simulate the coding costs associated with each of the scanning orders, to select the scanning order that is best suited for the current block in terms of rate / distortion, and then to code an item of information representing the selected scanning order for the current block.

[0099] At the end of step E222, the quantized residual block R1 Q This quantized residual block R1 Q needs to be coded to be sent to the decoder. The predictor P1 for the current block has also been determined.

[0100] In step E223, the quantized residual block R1 Q is coded for transmission to the decoder. Any known technique can be used to code the quantized coefficients of the conventional prediction residual, such as the method described in HEVC.

[0101] According to the particular embodiment of the invention described herein, the quantized residual block R1 Q The values ​​of are coded in the data stream STR by the entropy encoder using at least some of the syntax elements used to code the prediction residual from coding mode M1.

[0102] Residual R1 Q To encode the residual R TQ A subgroup of the group of syntax elements used in is used.

[0103] In fact, the residual R1 Q The statistic is the residual R TQ Therefore, to maximize compression, we want to minimize the predicted residual R1 Q We need to adapt the entropy coding of the residual R TQ By restricting to a syntax that is a subset of the syntax sent for , it is possible to reuse the same software or hardware components, which is particularly interesting in terms of implementation costs.

[0104] According to a variant of the embodiment of the invention, the residual R1 Q The coding of (R1) is achieved by omitting the syntax elements LastX and LastY and by using the quantized prediction residual block R1. QThis is done by systematically scanning all the coefficients of

[0105] In this case, the residual R1 Q The coding of the coefficients of works as follows.

[0106] The scanning order of the coefficients is determined. The coefficients are stored in the quantized residual block R1. Q The residual block R1 quantized from the first coefficient of Q The entropy coding of the rest of the coefficients is similar to that described for coding the transformed prediction residual from coding mode M1.

[0107] These coefficients are stored in a sub-block, e.g., the current quantized residual block R1 Q The pixels are grouped by sub-blocks of size 4x4 contained in the matrix. Of course, other sizes of sub-blocks are possible.

[0108] For each sub-block, the syntax element coded_sub_block_flag is sent, indicating whether the sub-block consists entirely of zeros. For each sub-block that contains at least one non-null coefficient, the syntax element sig_coeff_flag is sent for each coefficient, indicating whether the coefficient is null. For each non-null coefficient, the syntax element coeff_abs_level_greater1_flag is sent, indicating whether the coefficient is equal to 1. For each coefficient that is non-null and not equal to 1, the syntax element coeff_abs_level_greater2_flag is sent, indicating whether the coefficient is equal to 2. For each coefficient that is non-null and not equal to 1 or 2, the syntax element coeff_abs_level_remaining is sent, indicating the magnitude of the coefficient minus 3.

[0109] Finally, for each non-null coefficient, the syntax element coeff_sign_flag is sent to indicate whether the coefficient is positive or negative.

[0110] According to another variant of the particular embodiment described herein, the quantized residual R1 Q The coding of is done by omitting the syntax elements LastX and LastY and by using the quantized residual block R1 Q The significance value sig_coeff_flag is therefore calculated for the quantized residual block R1. Q The coefficients are systematically coded.

[0111] According to this transformation, the residual R1 Q The coding of the coefficients of works as follows: the scanning order of the coefficients is determined. The coefficients are then coded into the quantized residual block R1 according to the determined scanning order. Q quantized residual block R1 from the first coefficient of Q is scanned up to the last coefficient of . For this purpose, for each coefficient the syntax element sig_coeff_flag is transmitted, indicating whether the coefficient is null or not. For each non-null coefficient the syntax element coeff_abs_level_greater1_flag is transmitted, indicating whether the coefficient is equal to 1. For each coefficient that is non-null and not equal to 1 the syntax element coeff_abs_level_greater2_flag is transmitted, indicating whether the coefficient is equal to 2. For each coefficient that is non-null and not equal to 1 or 2 the syntax element coeff_abs_level_remaining is transmitted, indicating the magnitude of the coefficient minus 3. Finally, for each non-null coefficient the syntax element coeff_sign_flag is transmitted to indicate whether the coefficient is positive or negative.

[0112] According to another embodiment variant, the residual R1 Q The coding of the residual R1 is performed only using the syntax elements coeff_abs_level_remaining and coeff_sign_flag. According to this variant, all coefficients of the block are systematically scanned and the value of each coefficient is coded. QThe coding of the coefficients of works as follows: The scanning order of the coefficients is determined. The coefficients are then coded into the quantized residual block R1. Q The residual block R1 quantized from the first coefficient of Q is scanned up to the last coefficient of

[0113] For this purpose, the quantized residual block R1 Q For each coefficient in , the syntax element coeff_abs_level_remaining is sent to indicate the magnitude of the coefficient, and for each non-null coefficient the syntax element coeff_sign_flag is sent to indicate whether the coefficient is positive or negative.

[0114] According to all the above embodiment variants, the prediction residual R1 Q The coding of is non-empty and "traditional" residual R TQ It can be seen that it is implemented from a group of syntax elements that is a strict subset (i.e., not equal to) the syntax elements used in

[0115] According to a particular embodiment of the invention, it is possible to determine and code an additional prediction residual R2 from the ILR predictor obtained for the current block. However, coding of the additional prediction residual R2 is optional. The predicted version P1 and the quantized residual R1 Q It is certainly possible to simply encode the current block by

[0116] To code the additional prediction residual R2 of the current block, the following procedure is performed.

[0117] In step E224, the predictor P1 and the original current block X are used to form an additional residual R2. b The difference R2 between b -P1. The following steps correspond to the conventional coding steps of this residual R2:

[0118] In step E225, the residual R2 is calculated by dividing the block of coefficients R2 Tis transformed using a frequency transform to generate

[0119] The transformation may for example be a DCT type transformation. A set of predefined transformations E T2 It is possible to select the transform to be used from the set E to match the particular statistics of the residual R2. T2 Set E T may differ from the above.

[0120] In step E226, the block of coefficients R2 T is quantized using, for example, scalar quantization with a δ quantization step. TQ is generated.

[0121] The quantization step δ can be set by the user, or it can be calculated using another parameter λ that sets a trade-off between compression and quality and input by the user or the encoder. For example, the quantization step δ can correspond to or be determined similarly to the quantization step δ1.

[0122] Then, in step E227, the quantized block R2 TQ The coefficients of are transmitted in a coded manner, for example using the coding specified in the HEVC standard.

[0123] In a known manner, the current block is a quantized block R2 TQ The current block is decoded by inverse quantizing the coefficients of X, and then applying an inverse transform to the inverse quantized coefficients to obtain a decoded prediction residual. The current block is then reconstructed and its decoded version X rec The prediction P1 is added to the decoded prediction residual to obtain the prediction P2. The decoded version X of the current block is then used to spatially predict other neighboring blocks of the image or to predict blocks of other images by inter-image prediction. reccan be used later.

[0124] In step E23 it is checked whether the current block is the last block of the image to be processed by the coding method, taking into account the predefined scanning order. If so, the method proceeds to coding the next image of the video (step E25), if any. If not, in step E24 the subsequent block of the image to be processed is selected according to the predefined scanning order of the image and the coding method proceeds to step E2, where the selected block becomes the current block to be processed.

[0125] FIG. 4 shows images I1, I2, ..., I that are decoded according to a particular embodiment of the invention. Nb 1 illustrates method steps for decoding a stream of coded data STR representing a sequence of

[0126] For example, the data stream STR has been generated via the encoding method shown in relation to Figure 1. The data stream STR is provided as input to a decoding device DEC, as will be explained in relation to Figure 7.

[0127] The decoding method decodes the stream images image by image, and each image is decoded block by block.

[0128] At step E40, the image to be decoded I j is subdivided into blocks. Each block undergoes a decoding operation consisting of a series of steps detailed below. The blocks may be of the same size or of different sizes.

[0129] In step E41, image I j The first block or sub-block X to be decoded b But image I j A block is selected as the current block according to a predetermined scan order of the image, for example, it may be the first block in the lexicographical scan order of the image.

[0130] In step E42, an item of information indicating the coding mode of the current block is read from the data stream STR. According to a particular embodiment described herein, this item of information indicates whether the current block is coded according to a first coding mode M1 or a second coding mode M2. According to a particular embodiment described herein, the first coding mode M1 corresponds to a conventional intra-predictive coding of the current block, for example as defined according to the HEVC standard, and the second coding mode M2 ​​corresponds to an in-loop residual (ILR) predictive coding.

[0131] In other particular embodiments, the item of information read from the stream STR may also indicate the use of other coding modes for coding the current block (not described here).

[0132] The step E43 for decoding the current block when it has been coded according to the first coding mode M1 is described below.

[0133] In step E430, a quantization step δ1 is determined. For example, the quantization step δ1 is determined from a quantization parameter QP read in the data stream STR, or as done in the encoder. For example, the quantization step δ1 can be calculated using the quantization parameter QP read in the data stream STR. For example, the quantization parameter QP can be a quantization parameter conventionally used in the AVC or HEVC standard. Thus, in the HEVC standard, the quantization step δ1 is determined by the formula δ1=levelScale[QP%6]<<(QP / 6)), where levelScale[k]={40, 45, 51, 57, 64, 72} for k=0..5.

[0134] In step E431, the prediction mode selected for coding the current block is decoded from the neighboring blocks: for this purpose, as done in the encoder, the intra prediction mode selected for the current block is coded using the intra prediction modes associated with the neighboring blocks of the current block.

[0135] The construction of both MPM and non-MPM lists is exactly the same as that done during encoding. According to the HEVC standard, the following types of syntax elements are decoded: - a binary indicator showing whether the prediction mode coded for the current block is in the MPM list; - the index in the MPM list corresponding to the prediction mode of the current block coded, if the prediction mode of the current block belongs to the MPM list; - If the prediction mode of the current block does not belong to an MPM list, the index in the non-MPM list that corresponds to the prediction mode of the current block coded.

[0136] Therefore, a binary indicator and a prediction mode index are read for the current block from the data stream STR to decode the intra-prediction mode of the current block.

[0137] In step E432, the decoder constructs a prediction block P of the current block from the decoded prediction mode.

[0138] In step E433, the decoder extracts the quantized block R from the data stream STR, for example using the decoding specified in the HEVC standard. TQ Decode the coefficients of

[0139] In this case, the residual R TQ The decoding of the coefficients of works as follows: the scanning order of the coefficients is determined corresponding to the scanning order used in the encoder. According to the determined scanning order, the residual block R TQThe syntax elements LastX and LastY are decoded, indicating the coordinates of the first non-null coefficient of the current quantized residual block R. The coefficients are scanned from the first non-null coefficient of the block to the last coefficient. For this purpose, these coefficients are used to TQ The data are grouped into sub-blocks of size 4x4 contained in. For each sub-block, the syntax element coded_sub_block_flag is decoded to indicate whether the sub-block consists entirely of zeros. For each sub-block that contains at least one non-null coefficient, the syntax element sig_coeff_flag is decoded for each coefficient (located after the last coefficient of the block indicated by LastX and LastY) to indicate whether the coefficient is null. For each non-null coefficient, the syntax element coeff_abs_level_greater1_flag is decoded to indicate whether the coefficient is equal to 1. For each coefficient that is non-null and not equal to 1, the syntax element coeff_abs_level_greater2_flag is decoded to indicate whether the coefficient is equal to 2. For each coefficient that is non-null and not equal to 1 or 2, the syntax element coeff_abs_level_remaining is decoded to indicate the magnitude of the coefficient minus 3. Finally, for each non-null coefficient, the syntax element coeff_sign_flag is decoded to indicate whether the coefficient is positive or negative.

[0140] In step E434, the decoded block RTQ is dequantized, for example using a scalar dequantization with quantization step δ1, to obtain the dequantized coefficients R TQD blocks are generated.

[0141] In step E435, an inverse frequency transform is performed on the decoded prediction residual block R TQDI To generate the inverse quantization coefficients R TQD The transformation can be, for example, an inverse DCT type transformation. By decoding an indicator from the data stream STR, the transformation E TI It is possible to select the transformation to be used from a predetermined set of .

[0142] At step E436, the current block is decomposed into the prediction block P obtained at step E432 and the decoded residual block R obtained at step E435. TQDI From X rec =P+R TQDI The current block X decrypted by rec is reconstructed to produce

[0143] The step E44 for decoding the current block when it is coded according to the second coding mode M2 ​​is described below.

[0144] In step E440, the local predictor PL to be used to predict the pixels of the current block is determined. If only one predictor is available, for example, the local predictor is set to a default at the decoder level and there is no need to determine it by reading syntax elements from the stream STR.

[0145] If multiple local predictors are available, such as the above-mentioned predictors PL1 to PL4, a syntax element is decoded from the data stream STR to identify the local predictor used to predict the current block. The local predictor is thus determined from the decoded syntax element.

[0146] In step E441, the quantization step δ2 is determined, as was done in the encoder.

[0147] In step E442, the quantized residual R1 Q is decoded from the data stream STR.

[0148] According to the particular embodiment of the invention described herein, the quantized residual block R1 Q The value of residual R1 is decoded from the data stream STR using at least some of the syntax elements used to decode the prediction residual from coding mode M1. QTo decode the residual R TQ A subgroup of the group of syntax elements used in is used.

[0149] According to a variant of an embodiment, the residual R1 Q The decoding of the quantized residual block R1 is performed by omitting the syntax elements LastX and LastY. Q In this case, the residual R1 Q The decoding of the coefficients of works as follows: the scanning order of the coefficients is determined corresponding to the scanning order determined in the encoder. The coefficients are decoded into the quantized residual block R1 Q The residual block R1 quantized from the first coefficient of Q For this purpose, these coefficients are scanned up to the last coefficient of the current quantized residual block R1 Q The data are grouped into sub-blocks of size 4x4 contained in . For each sub-block, the syntax element coded_sub_block_flag is decoded to indicate whether the sub-block consists entirely of zeros. For each sub-block containing at least one non-null coefficient, the syntax element sig_coeff_flag is decoded for each coefficient, indicating whether the coefficient is null. For each non-null coefficient, the syntax element coeff_abs_level_greater1_flag is decoded to indicate whether the coefficient is equal to 1. For each coefficient that is non-null and not equal to 1, the syntax element coeff_abs_level_greater2_flag is decoded to indicate whether the coefficient is equal to 2. For each coefficient that is non-null and not equal to 1 or 2, the syntax element coeff_abs_level_remaining is decoded to indicate the magnitude of the coefficient minus 3. Finally, for each non-null coefficient, the syntax element coeff_sign_flag is decoded to indicate whether the coefficient is positive or negative.

[0150] According to a variant of an embodiment, the residual R1 Q The decoding of the quantized residual block R1 is performed by omitting the syntax elements LastX and LastY. Qand omitting the syntax element coded_sub_block_flag and thus systematically decoding the value for every coefficient of the block.

[0151] In this case, the residual R TQ The decoding of the coefficients of works as follows: The scanning order of the coefficients is determined. The coefficients are then decoded into the quantized residual block R1. Q The residual block R1 quantized from the first coefficient of Q The sig_coeff_flag is scanned up to the last coefficient of . For each coefficient, the syntax element sig_coeff_flag is decoded, indicating whether the coefficient is null. For each non-null coefficient, the syntax element coeff_abs_level_greater1_flag is decoded, indicating whether the coefficient is equal to 1. For each coefficient that is non-null and not equal to 1, the syntax element coeff_abs_level_greater2_flag is decoded, indicating whether the coefficient is equal to 2. For each coefficient that is non-null and not equal to 1 or 2, the syntax element coeff_abs_level_remaining is decoded, indicating the magnitude of the coefficient minus 3. Finally, for each non-null coefficient, the syntax element coeff_sign_flag is decoded to indicate whether the coefficient is positive or negative.

[0152] According to another embodiment variant, the residual R1 Q The decoding of the residual R1 is done only using the syntax elements coeff_abs_level_remaining and coeff_sign_flag. Q The decoding of the coefficients of works as follows: The scanning order of the coefficients is determined. The coefficients are then decoded into the quantized residual block R1. Q The residual block R1 quantized from the first coefficient of Q For this purpose, for each coefficient the syntax element coeff_abs_level_remaining is decoded to indicate the magnitude of the coefficient, and for each non-null coefficient the syntax element coeff_sign_flag is decoded to indicate whether the coefficient is positive or negative.

[0153] In step E443, the quantized residual block R1 Q is the dequantized residual block R1 QD is dequantized using quantization step δ2 to generate

[0154] In step E444, the dequantized residual block R1 QD Once P1 is obtained, a predicted block P1 is constructed using the local predictor PL determined in step E440.

[0155] In step E444, each pixel of the current block is predicted and reconstructed as follows: - The current pixel X of the current block is predicted by the selected predictor PL using already reconstructed pixels outside the block and / or previously reconstructed pixels of the current block to obtain a prediction value PRED. In all cases, the predictor PL uses previously decoded pixels. The decoded prediction P1(X) of the current pixel X is P1(X)=PRED+R1 QD (X), the prediction residual R1 QD is calculated by adding the dequantized value of PRED to the predicted value PRED.

[0156] These steps are performed for all pixels of the current block in a scan order that ensures that the pixels used for prediction selected from PL1, . . . , PL4 are available.

[0157] For example, the scan order is lexicographical (left to right, then rows top to bottom).

[0158] According to a particular embodiment of the invention, a prediction block P1 comprising decoded prediction values ​​P1(X) of each pixel of the current block is then calculated by: rec Form.

[0159] According to another particular embodiment of the invention, it is now considered that an additional prediction residual has been coded for the current block. rec To reconstruct the decoded version of {tilde over (x)}, this additional prediction residual needs to be decoded.

[0160] For example, this other particular embodiment may or may not be activated by default at the encoder and decoder levels. Alternatively, an indicator may be coded in the data stream using block-level information to indicate for each block coded according to the ILR coding mode whether additional prediction residuals are coded. Or, further, an indicator may be coded in the data stream together with a picture or a sequence of picture-level information to indicate all blocks of a picture or a sequence of pictures coded according to the ILR coding mode if additional prediction residuals are coded.

[0161] Once the additional prediction residual has been coded for the current block, in step E445 the quantized prediction residual R2 TQ The coefficients of are decoded from the data stream STR using means adapted to those implemented in the encoder, for example means implemented in an HEVC decoder.

[0162] In step E446, the quantized coefficient R2 TQ The block is dequantized using, for example, scalar dequantization with quantization step δ1, thereby obtaining the dequantized coefficient R2 TQD blocks are generated.

[0163] At step E447, the decoded prediction residual block R2 TQDI To generate the block R2 TQD An inverse frequency transform is applied to

[0164] The inverse transform may for example be an inverse DCT type transform.

[0165] A set of predefined transformations E T2 , and decode an item of information that informs the decoder which transformation to use. In this case, we select the set E T2 Set E T is different.

[0166] At step E448, the current block is decoded by multiplying the prediction block P1 obtained at step E444 by the decoded prediction residual R2 TQDI is reconstructed by adding

[0167] In step E45, it is checked whether the current block is the last block of the image to be processed by the decoding method, taking into account the predefined scanning order. If so, the method proceeds to decoding the next image of the video (step E47), if any. If not, in step E46, the subsequent block of the image to be processed is selected according to the predefined scanning order of the image, and the decoding method proceeds to step E42, with the selected block becoming the current block to be processed.

[0168] FIG. 5 shows an example signal STR comprising coded data representing at least one block of an image according to a particular embodiment of the invention.

[0169] The signal STR comprises, for a block of the image, a coding indicator TY indicating the coding mode of the block. If the indicator TY indicates that the block is coded according to a second coding mode, here the ILR mode, the signal includes a quantized prediction residual R1 coded using a group of syntax elements that is a subgroup of the group of syntax elements used to code the values ​​of the prediction residual from the first coding mode. QSuch a subgroup comprises syntax elements as described in connection with Figure 1 or Figure 4 if the current block is coded according to the second coding mode.

[0170] The signal is the quantized transformed prediction residual R2 TQ If multiple local predictors are possible for the current block, the signal also comprises a PL coding indicator of the local predictor.

[0171] If the indicator TY indicates that the block is coded according to a first coding mode, here a conventional intra-prediction mode, the signal indicates a quantized transformed prediction residual R coded using a group of syntax elements as described in relation to FIG. 1 or FIG. 4 if the current block is coded according to the first coding mode. TQ A binary indicator i MPM indicates whether the prediction mode coded for the current block is in the MPM list, and the index idx MPM indicates the index of the current block prediction mode in the corresponding list.

[0172] FIG. 6 shows a simplified structure of a coding device COD adapted to implement the coding method according to any one of the particular embodiments of the invention.

[0173] According to a particular embodiment of the invention, the steps of the coding method are implemented by computer program instructions. For this purpose, the coding device COD has a standard architecture of a computer and in particular comprises a memory MEM and a processing unit UT, which comprises, for example, a processor PROC and is driven by a computer program PG stored in the memory MEM. The computer program PG comprises instructions for implementing the steps of such a coding method when the program is executed by the processor PROC.

[0174] At initialization, the code instructions of the computer program PG are loaded, for example, into a RAM memory (not shown) before being executed by the processor PROC. In particular, the processor PROC of the processing unit UT performs the steps of the coding method described above according to the instructions of the computer program PG.

[0175] FIG. 7 shows a simplified structure of a decoding device DEC adapted to implement the decoding method according to any one of the particular embodiments of the invention.

[0176] According to a particular embodiment of the invention, the decoding device DEC has a standard architecture of a computer, in particular a processing unit UT0 comprising a memory MEM0, for example a processor PROC0, and driven by a computer program PG0 stored in the memory MEM0, the computer program PG0 comprising instructions for carrying out the steps of the decoding method as described above when the program is executed by the processor PROC0.

[0177] At initialization, the code instructions of the computer program PG0 are loaded into a RAM memory (not shown) before being executed by the processor PROC0, for example. Specifically, the processor PROC0 of the processing unit UT0 performs the steps of the above-described decoding method according to the instructions of the computer program PG0.

Claims

1. 1. A method for decoding a coded data stream representing at least one image, wherein the image is divided into blocks, and the method for decoding comprises, for at least one block of the image, referred to as a current block: - a step (E42) of decoding an item of information indicating the coding mode of said current block; - a step (E43) of decoding said current block if said coding mode of said current block corresponds to a first coding mode, - a step (E433) of decoding coefficients of a prediction residual associated with said current block using a first group of syntax elements, said prediction residual being in the frequency domain, - obtaining a prediction of said current block from the reconstructed pixels of a previously decoded block (E432), and - a step (E436) of reconstructing said current block from said obtained prediction and said decoded prediction residuals; a decoding step (E43) comprising: - a step (E44) of decoding said current block if said coding mode of said current block corresponds to a second coding mode, - a step (E442) of decoding prediction residuals associated with the current block using a subgroup of the first group of syntax elements, called a second group of syntax elements, the prediction residuals being in the spatial domain and comprising quantized prediction residuals associated with pixels of the current block; and - a step (E444) of reconstructing said current block, - for each pixel of said current block, - obtaining a prediction of said pixel from another previously reconstructed pixel, said other previously reconstructed pixel belonging to said current block or to a previously reconstructed block of said image; - dequantizing the quantized prediction residual associated with the pixel, contained within the prediction residual associated with the current block, and decoded using the second group of syntax elements; and - reconstructing the prediction of the pixel obtained and the dequantized prediction residual associated with the pixel. a reconstructing step (E444) including a decoding step (E44) comprising: A method comprising:

2. 1. A method for encoding a data stream representing at least one image, wherein the image is divided into blocks, and the method for encoding comprises, for at least one block of the image, referred to as a current block: - coding (E20) an item of information indicating the coding mode of said current block; - a step (E21) of coding the current block if the coding mode of the current block corresponds to a first coding mode, - obtaining a prediction of said current block from the reconstructed pixels of a previously decoded block (E213), - obtaining a prediction residual (E213) associated with said current block obtained from said prediction obtained, said prediction residual being in the frequency domain; and - coding (E216) the coefficients of said prediction residual associated with said current block using a first group of syntax elements; a coding step (E21) comprising: - a step (E22) of coding the current block if the coding mode of the current block corresponds to a second coding mode, - for each pixel of said current block, - obtaining a prediction of said pixel from another previously reconstructed pixel (E222), said other previously reconstructed pixel belonging to said current block or to a previously reconstructed block of said image, - obtaining (E222) a prediction residual associated with said pixel from said prediction obtained for said pixel, - quantizing the prediction residual associated with said pixel; - dequantizing the quantized prediction residual and reconstructing the pixel from the dequantized prediction residual obtained for the pixel; and - a step (E223) of coding a prediction residual associated with the current block, comprising the quantized prediction residual associated with the pixel of the current block, using a subgroup of the first group of syntax elements, called a second group of syntax elements, wherein the prediction residual is in the spatial domain. a coding step (E22) including: A method comprising:

3. - the first group of syntax elements comprises a position syntax element that indicates the position of a first non-null coefficient of the prediction residual associated with the current block according to a scanning order of the coefficients of the prediction residual; - the second group of syntax elements does not comprise the positional syntax element; The method of claim 1.

4. - the prediction residual associated with the current block comprises at least one sub-block of coefficients; The first group of syntax elements comprises: - a sub-block syntax element associated with said at least one sub-block of coefficients, said sub-block syntax element indicating whether at least one coefficient of said sub-block is non-null; and - for each sub-block of coefficients of the prediction residual comprising at least one non-null coefficient, a significance syntax element for each coefficient of the sub-block, the significance syntax element indicating whether the coefficient is null; - the second group of syntax elements comprises a significance syntax element for each coefficient of the quantized prediction residual; 4. The method of claim 1 or 3.

5. - for each non-null coefficient of the prediction residual associated with the current block, the first group of syntax elements being scanned according to a determined scanning order, - a syntax element indicating whether the absolute value of said coefficient is equal to 1; - for each coefficient whose absolute value is not equal to 1, a syntax element indicating whether the absolute value of the coefficient is equal to 2; - for each coefficient where the absolute value of the coefficient is not equal to 1 or 2, a syntax element indicating the absolute value of the coefficient minus 3; - a syntax element indicating whether said coefficient is positive or negative; Equipped with For each non-null quantized prediction residual associated with the pixel included in the prediction residual associated with the current block scanned according to the determined scanning order, the second group of syntax elements - a syntax element indicating the absolute value of the quantized prediction residual, - the syntax element indicates whether the quantized prediction residual is positive or negative; 10. The method of any one of claims 1, 3, or 4.

6. 1. A device for decoding a coded data stream representing at least one image, said image being divided into blocks, said device for decoding determining, for at least one block of said image, referred to as a current block: - decoding an item of information indicating a coding mode of the current block; and - if the coding mode of the current block corresponds to a first coding mode, - decoding coefficients of a prediction residual associated with the current block using a first group of syntax elements, wherein the prediction residual is in the frequency domain; - obtaining a prediction of said current block from reconstructed pixels of a previously decoded block; and - reconstructing the current block from the obtained prediction and the decoded prediction residual. Decoding the current block by - if the coding mode of the current block corresponds to a second coding mode, - decoding prediction residuals associated with the current block using a subgroup of the first group of syntax elements, called a second group of syntax elements, where the prediction residuals are in the spatial domain and include quantized prediction residuals associated with pixels of the current block; and - reconstructing the current block; - for each pixel of said current block, - obtaining a prediction of said pixel from another previously reconstructed pixel, said another previously reconstructed pixel belonging to said current block or to a previously reconstructed block of said image; - dequantizing the quantized prediction residual associated with the pixel, contained within the prediction residual associated with the current block, and decoded using the second group of syntax elements; and - reconstructing the prediction of the obtained pixel and the dequantized prediction residual associated with the pixel. Reconstruction, including and decoding the current block by 1. A device comprising: a processor (PROC0) configured to:

7. 1. A device for encoding a data stream representing at least one image, said image being divided into blocks, said device for encoding determining for at least one block of said image, called the current block: - encoding an item of information indicating a coding mode of said current block; - if the coding mode of the current block corresponds to a first coding mode, - obtaining a prediction of said current block from reconstructed pixels of a previously decoded block; - obtaining a prediction residual associated with the current block obtained from the obtained prediction, the prediction residual being in the frequency domain; and - coding coefficients of the prediction residual associated with the current block using a first group of syntax elements; encoding the current block by - if the coding mode of the current block corresponds to a second coding mode, - for each pixel of said current block, - obtaining a prediction of said pixel from another previously reconstructed pixel, said another previously reconstructed pixel belonging to said current block or to a previously reconstructed block of said image; - obtaining a prediction residual associated with said pixel from said prediction obtained for said pixel; - quantizing the prediction residual associated with the pixel; - dequantizing the quantized prediction residual and reconstructing the pixel from the dequantized prediction residual obtained for the pixel; and - coding a prediction residual associated with the current block comprising the quantized prediction residual associated with the pixel of the current block using a subgroup of the first group of syntax elements, called a second group of syntax elements, wherein the prediction residual is in the spatial domain. encoding the current block by A device comprising a processor (PROC) configured to:

8. - the first group of syntax elements comprises a position syntax element that indicates a position of a first non-null coefficient of the prediction residual associated with the current block according to a scanning order of the prediction residual; - the second group of syntax elements does not comprise the positional syntax element; The method of claim 2.

9. - the prediction residual comprises at least one sub-block of coefficients; The first group of syntax elements comprises: - a sub-block syntax element associated with said at least one sub-block of coefficients, said sub-block syntax element indicating whether at least one coefficient of said sub-block is non-null; and - for each sub-block of coefficients of the prediction residual comprising at least one non-null coefficient, a significance syntax element for each coefficient of the sub-block, the significance syntax element indicating whether the coefficient is null; - the second group of syntax elements comprises a significance syntax element for each coefficient of the quantized prediction residual; 9. The method of claim 2 or 8.

10. - for each non-null coefficient of the prediction residual scanned in accordance with the determined scanning order, the first group of syntax elements - a syntax element indicating whether the absolute value of said coefficient is equal to 1; - for each coefficient whose absolute value is not equal to 1, a syntax element indicating whether the absolute value of the coefficient is equal to 2; - for each coefficient where the absolute value of the coefficient is not equal to 1 or 2, a syntax element indicating the absolute value of the coefficient minus 3; - a syntax element indicating whether said coefficient is positive or negative; Equipped with - for each non-null coefficient of the quantized prediction residual scanned according to the determined scanning order, the second group of syntax elements - a syntax element indicating the absolute value of the coefficient of the quantized prediction residual, - the syntax element indicates whether the coefficients of the quantized prediction residual are positive or negative; 10. The method of any one of claims 2, 8, or 9.

11. 6. A computer program comprising instructions for implementing the method for decoding according to any one of claims 1 or 3 to 5 when executed by a processor.

12. A computer program comprising instructions for implementing the method for encoding according to claim 2 when executed by a processor.

13. A computer-readable data medium comprising instructions for the computer program of claim 11.

14. A computer-readable data medium comprising instructions for the computer program of claim 12.

Citation Information

Patent Citations

  • Differential pulse code modulation intra prediction for high efficiency video coding

    US9253508B2

  • Delta QP for quantization of rectangular transform units, short distance intra prediction (SDIP) based video coding

    WO2017059044A1