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

By applying different coding modes based on block size, the method optimizes image and video compression, improving efficiency and reducing computational overhead in decoders.

JP2025000667AActive Publication Date: 2025-01-07オランジュ
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024156694
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-09-21
Filing Date
2024-09-10
Publication Date
2025-01-07
Estimated Expiration
2039-09-03

AI Technical Summary

Technical Problem

Existing image and video compression techniques, such as those in the HEVC standard, are not optimal for intra-block prediction, leading to inefficient compression ratios and increased computational requirements due to the need to reconstruct entire blocks before predicting other pixels, especially for large blocks.

Method used

A method that determines the size of image blocks and applies a first coding mode for large blocks and a second, pixel-based prediction mode for smaller blocks, optimizing compression and reducing computational overhead by limiting the use of In-Loop Residual (ILR) coding to blocks below a predetermined threshold.

Benefits of technology

Improves compression efficiency and reduces computational complexity by selectively using pixel-based prediction for smaller blocks, enhancing compression ratios and reducing hardware implementation costs in decoders.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025000667000001_ABST
    Figure 2025000667000001_ABST
Patent Text Reader

Abstract

To provide an encoding method and a decoding method for improving compression of image data.SOLUTION: A decoding method determines whether or not the size of a current block is equal to or less than a predetermined threshold, decodes an item of information indicating a coding mode of the current block out of a first coding mode and a second coding mode, when the size of the current block is equal to or less than the predetermined threshold E42, reconfigures the current block according to the coding mode indicated by the item of the information, and reconfigures the current block according to the first coding mode, when the size of the current block is more than the predetermined threshold.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 coding and decoding images or sequences of images, and in particular video streams.

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

[0003] The invention may be applied in particular to image or video coding, and corresponding decoding, performed in current or future encoders (JPEG, MPEG, H.264, HEVC, etc. and amendments thereof). [Background technology]

[0004] Digital images and sequences of images occupy a lot of space in terms of memory, which makes it necessary to compress these images when transmitting them in order to avoid congestion problems on the networks used for this transmission.

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

[0006] More specifically, intra prediction uses 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 that corresponds to previously coded / decoded blocks in the current image, according to the scanning order of the blocks in the image.

[0007] Furthermore, in standard schemes, the coding of the current block is performed using a prediction of the current block, called the 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 transform of the DCT (Discrete Cosine Transform) type. 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 is performed. Then, a block prediction is calculated to obtain a predictor block, and the current block is reconstructed by adding the prediction (i.e., the predictor block) to the decoded residual block.

[0009] In US9253508, a DPCM (Differential Pulse Code Modulation) coding technique for coding a block in intra mode is integrated into the 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 US9253508, the set of pixels of the intra block to be coded 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 a technique is not optimal. Indeed, the reconstruction of a set of pixels of an intrablock either corresponds to the addition of a prediction residual in the case of lossless coding, thus exhibiting a rather small compression ratio, or corresponds to the addition of a prediction residual after inverse transformation and / or inverse quantization of said other set of pixels that serve for prediction. Thus, such a technique does not allow each pixel of an intrablock to be predicted using a local prediction function, and the predicted pixel to be reconstructed before the subsequent pixel is predicted. Indeed, this technique requires that a set of pixels (e.g., rows / columns of a block) be reconstructed in order to predict another set of pixels. In other words, with each prediction and reconstruction of a part of the block, several pixels of the block are predicted and reconstructed.

[0011] Moreover, US Pat. No. 9,253,508 does not explain how conventional intra prediction modes and DPCM prediction modes coexist, for example as defined in the HEVC standard.

[0012] Therefore, new coding and decoding methods are needed to improve the compression of image or video data. [Prior art documents] [Patent documents]

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

[0014] [Non-Patent Document 1] "High Efficiency Video Coding, Coding Tools and Specification", Matthias Wien, Signals and Communication Technology, 2015 Summary of the Invention [Means for solving the problem]

[0015] The present invention improves upon the prior art. To this end, the invention relates to a method for decoding a coded data stream representative of at least one image divided into blocks. The decoding method comprises the steps of: - determining whether a size of the current block is less than or equal to a predetermined threshold; - decoding an item of information indicating a coding mode of the current block among the first coding mode and the second coding mode if the size of the current block is less than or equal to a predefined threshold, and reconstructing the current block according to the coding mode indicated by the decoded coding mode item of information; if a size of the current block is greater than a predetermined threshold, reconstructing the current block according to a first coding mode; Equipped with.

[0016] The first coding mode corresponds to a coding mode according to which the current block is reconstructed using an inverse transform of the decoded transform prediction residual for the current block, and the second coding mode corresponds to a coding mode according to which the current block is reconstructed using an inverse transform of the decoded transform prediction residual for 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 said current block or to a previously decoded block of an image, - reconstructing said pixel from the obtained prediction of said pixel and from a decoded prediction residual associated with said pixel. corresponds to the coding mode according to which the current block is reconstructed.

[0017] Therefore, according to the invention, an item of information indicating the coding mode of the current block among a conventional intra-coding mode and a coding mode using prediction based on previously reconstructed pixels of the current block is coded / decoded in the stream only if the current block has a size equal to or smaller than a predefined threshold.

[0018] If the current block has a size larger than a certain threshold, the current block may be coded, for example, by a conventional intra-coding mode by default, for example, when coding an intra-type image, or by any other coding mode.

[0019] The advantage of indicating the coding mode between the first and second coding modes only for blocks with a size below a certain threshold is to improve the rate. Indeed, the second coding mode requires the transmission of the residual pixel by pixel and therefore a rate proportional to the area of ​​the block, expressed in number of pixels. The second coding mode is interesting in terms of compression compared to the first coding mode when the size of the current block is small.

[0020] Moreover, the hardware implementation costs in the decoder are reduced because the circuitry supporting the decoding of the block according to the second coding mode may be limited to a small area of ​​the block.

[0021] Advantageously, the present invention also allows for increased speed in the encoder since the encoder then does not have to test two coding modes for large block sizes, which also consumes the most computation time.

[0022] The invention also relates to a method for coding a data stream representative of at least one image divided into blocks. According to the invention, the coding method comprises the steps of: - determining whether a size of the current block is less than or equal to a predetermined threshold; - if the size of the current block is equal to or smaller than a predefined threshold, coding an item of information indicating a coding mode of the current block among the first coding mode and the second coding mode, and coding the current block according to the coding mode indicated by the coded coding mode item of information; if a size of the current block is greater than a predetermined threshold, coding the current block according to a first coding mode; Equipped with.

[0023] The first coding mode corresponds to the coding mode according to which the current block is coded using a transformation of the prediction residual of the current block, and the second coding mode corresponds to the coding mode according to which the current block is coded using a transformation of the prediction residual of 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 said current block or to a previously decoded block of an image, - coding a prediction residual associated with said pixel and obtained from a prediction obtained for said pixel. corresponds to the coding mode according to which the current block is coded.

[0024] According to one particular embodiment of the invention, the size of the current block corresponds to the maximum width of the current block. For example, the predefined threshold is 16 pixels or 32 pixels. Other thresholds are of course possible.

[0025] According to another particular embodiment of the invention, the size of the current block corresponds to the total number of pixels in the current block. For example, the predetermined threshold is 256 pixels or 512 pixels. Other thresholds are of course possible.

[0026] According to any one of the particular embodiments described above, the threshold value may be adjusted according to the maximum size of the initial division blocks of the image.

[0027] According to another particular embodiment of the invention, the predetermined threshold value is decoded or coded in the data stream.

[0028] 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. This decoding device can of course have various characteristics related to the decoding method according to the invention. The characteristics and advantages of this decoding device are therefore the same as those of the decoding method and will not be further detailed.

[0029] The decoding device in particular performs, for at least one block of the image, called a current block: - determining whether a size of the current block is less than or equal to a predetermined threshold; - decoding an item of information indicating a coding mode of the current block among the first coding mode and the second coding mode if the size of the current block is less than or equal to a predefined threshold, and reconstructing the current block according to the coding mode indicated by the decoded coding mode item of information; if a size of the current block is greater than a predetermined threshold, reconstructing the current block according to a first coding mode; a processor configured to: The first coding mode corresponds to a coding mode according to which the current block is reconstructed using an inverse transform of the decoded transform prediction residual for the current block, and the second coding mode corresponds to a coding mode according to which the current block is reconstructed using an inverse transform of the decoded transform prediction residual for 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 said current block or to a previously decoded block of an image, - reconstructing said pixel from the obtained prediction of said pixel and from a decoded prediction residual associated with said pixel. corresponds to the coding mode according to which the current block is reconstructed.

[0030] According to one particular embodiment of the invention, such a decoding device is comprised in a terminal.

[0031] 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. This coding device can of course comprise various characteristics related to the coding method according to the invention. The characteristics and advantages of this coding device are therefore the same as those of the coding method and will not be detailed further.

[0032] The coding device is particularly adapted to determine for at least one block of the image, called current block, having a size below a predefined threshold: - determining whether a size of the current block is less than or equal to a predetermined threshold; - if the size of the current block is equal to or smaller than a predefined threshold, coding an item of information indicating a coding mode of the current block among the first coding mode and the second coding mode, and coding the current block according to the coding mode indicated by the coded coding mode item of information; if a size of the current block is greater than a predetermined threshold, coding the current block according to a first coding mode; a processor configured to: The first coding mode corresponds to the coding mode according to which the current block is coded using a transformation of the prediction residual of the current block, and the second coding mode corresponds to the coding mode according to which the current block is coded using a transformation of the prediction residual of 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 said current block or to a previously decoded block of an image, - coding a prediction residual associated with said pixel and obtained from a prediction obtained for said pixel. corresponds to the coding mode according to which the current block is coded.

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

[0034] The invention also relates to a coded data stream representing at least one image divided into blocks, whereby the coded data stream comprises, for at least one block of the image, called current block, an item of information indicating a coding mode of the current block among a first coding mode and a second coding mode, if the current block has a size less than or equal to a predefined threshold.

[0035] When the coding mode of the current block corresponds to the first coding mode or when the size of the current block has a size greater than a predefined threshold, the coded data stream comprises a coded transformed prediction residual.

[0036] When the coding mode of the current block corresponds to a second coding mode and the size of the current block has a size equal to or smaller than a predetermined threshold, the coded data stream is - 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 said current block or to a previously decoded block of an image, - obtaining a prediction residual associated with said pixel from a prediction obtained for said pixel. The coded prediction residual is obtained by:

[0037] According to one particular embodiment of the invention, the coded data stream further comprises a value representative of said predetermined threshold value coded for at least said image.

[0038] The data stream according to any one of the specific embodiments described above may be stored on any storage medium, for example a memory, or may be transmitted in the form of an electrical or optical signal, which may be conveyed via an electrical or optical cable, wirelessly, or by other means.

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

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

[0041] The invention also relates to a computer-readable storage medium or data medium comprising instructions of a computer program as described above. The above-mentioned 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 medium capable of transmission, such as an electric or optical signal, which may be conveyed via an electric or optical cable, by radio or by other means. The program according to the invention may in particular be downloaded over a network of the Internet type.

[0042] Alternatively, the recording medium may represent an integrated circuit in which the program is embedded, the circuit being adapted for performing, or for use in the performance of, the method in question.

[0043] Other characteristics and advantages of the invention will appear more clearly on reading the following description of one particular embodiment, given as a brief illustrative and non-limiting example, and the accompanying drawings, in which: [Brief description of the drawings]

[0044] [Figure 1] FIG. 2 illustrates steps of a coding method according to one particular embodiment of the invention. [Diagram 2] FIG. 2 illustrates example positions of neighboring blocks of a current block for determining an intra-prediction mode according to one particular embodiment of the invention. [Diagram 3] FIG. 2 illustrates example locations of reference pixels used to predict pixels of a current block according to one particular embodiment of the invention. [Figure 4] FIG. 3 illustrates steps of a decoding method according to one particular embodiment of the invention. [Diagram 5] FIG. 2 illustrates an example signal comprising coded data representative of at least one block of an image, according to one particular embodiment of the 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] FIG. 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 present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0045] general principle The general principle of the invention is to make it possible to improve the coding of a block of image data by using a new coding mode based on the prediction of the pixels of the block using other previously reconstructed pixels of the same block, and to make this new coding mode coexist with conventional coding modes, e.g. as defined in current compression standards.

[0046] Therefore, according to the present invention, a new coding mode called ILR (In-Loop Residual) is defined, in which pixel-by-pixel prediction residuals are transmitted to the decoder according to which pixels of a block to be coded are predicted using other previously reconstructed pixels of the same block. This new coding mode is introduced in an encoder / decoder that uses a conventional coding mode, in which pixels of a block to be coded are predicted accordingly with respect to previously reconstructed pixels of another block, and the prediction residuals for the block to be coded are transformed accordingly before being coded and transmitted to the decoder.

[0047] According to the invention, an item of information indicating a coding mode among a first coding mode (conventional mode) and a second coding mode (ILR mode) is coded if the block has a size below a predefined threshold. The first coding mode is then used by default when the block has a size above the predefined threshold and no item of information is transmitted to indicate the selection of this coding mode among the first and second coding modes.

[0048] Therefore, according to the present invention, the ILR coding mode is only available for blocks whose size is less than or equal to a given size. Indeed, the ILR coding technique requires the transmission of a pixel-by-pixel residual, whereas conventional coding modes (intra or inter) are based on coding the transformed residual, which is much cheaper to transmit.

[0049] For conventional coding modes in which the prediction residual is transformed accordingly, it has been empirically observed that the rate associated with a square block is, on average, proportional to the side length of the block.

[0050] However, an ILR approach, which essentially corresponds to a coding mode in which the prediction residual is not transformed accordingly before coding, is one that requires a rate proportional to the area of ​​the block, expressed in number of pixels. Indeed, according to the ILR method, the residual must be transmitted for each pixel, and this residual is not transformed, since it is necessary to be able to reconstruct the pixel in order to subsequently predict other pixels of the same block.

[0051] Thus, the rate cost of the ILR approach grows with the square of the width of the block, while the rate of the conventional approach grows linearly with said width. The conclusion is that the ILR approach can outperform the conventional approach for small blocks, but this is no longer true for large blocks.

[0052] It has been empirically determined that even when the encoder is forced to compete between two encoding modes for all block sizes, the ILR coding mode is almost never selected for block sizes larger than 16x16 pixels due to its high rate.

[0053] Thus, there are some advantages to not keeping the ILR coding mode active beyond some block size: it allows for rate improvements, since for large block sizes it is no longer necessary to transmit an item of information identifying whether the current block must be decoded according to a conventional coding mode or an ILR coding mode.

[0054] Disabling the ILR coding mode for large blocks also allows for speed improvements in the encoder since the encoder no longer has to test two coding modes for the large block sizes that consume the most computational resources.

[0055] Moreover, the hardware implementation cost of the decoder is reduced since the circuitry supporting the decoding of a block in ILR coding mode can be limited to a small area of ​​this block.

[0056] Thus, the general principle of the invention is to test the two coding modes only if the size of the block is below a certain threshold. For example, the criterion could be one of the following: - The maximum block width is 16 pixels or less. - The maximum block width is less than or equal to 32 pixels. - The total number of pixels in the block is 256 or less. - The total number of pixels in the block is 512 or less.

[0057] Other criteria are possible. If the criterion is met, the encoder actually tests the two coding modes mentioned above, chooses the best one in terms of the rate-distortion criterion, and transmits an indicator to the decoder to identify the chosen coding mode. If the criterion is not met (thus, above some block size), the conventional coding mode is used and no indicator is transmitted.

[0058] Embodiment Figure 1 illustrates the steps of a coding method according to one particular embodiment of the invention. For example, given a sequence of images I1, I2, ..., I Nb are coded in the form of a coded data stream STR according to one particular embodiment of the invention, for example, such a coding method being implemented by a coding device as will be described below with reference to FIG.

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

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

[0061] In step E0, a sequence of images I1, I2, ..., I Nb Image I to be coded jis divided into blocks, for example of size 32x32 or 64x64 pixels or more. Such blocks may be further divided into square or rectangular sub-blocks, for example 16x16, 8x8, 4x4, 16x8, 8x16...

[0062] In step E0, a threshold value is determined that specifies the maximum block size up to which the ILR coding mode can be used to code the current block. For example, the threshold value can be set by default in the encoder or can be determined according to the maximum block size used to divide the image. For example, considering an initial division maximum size of 256x256 pixels, the threshold value can correspond to a larger block width equal to 64, 32, or 16 pixels.

[0063] Considering an initial division maximum size of 128x128 pixels, the threshold value can correspond to a larger block width equal to 64, 32, 16 or 8 pixels. The threshold value can be adjusted depending on the content of the image to be coded. As a variant, several threshold values ​​can be tested during the rate / distortion optimization described below.

[0064] In an optional step E10, according to one particular embodiment of the invention, the image I j In data coded for, or in data coded for a sequence of images, a predefined threshold value is coded in the data stream STR.

[0065] Then, in step E1, image I j The first block or subblock to be coded of X b But image I j The first block is selected 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.

[0066] In step E2, the encoder calculates the current block X b In this case, you will need to select a coding mode for coding the

[0067] According to a particular embodiment described herein, the encoder performs a b , select a coding mode for coding from a first coding mode M1 and a second coding mode M2. Additional coding modes (not described here) may be used.

[0068] According to a particular embodiment 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.

[0069] The principles of the present invention may be extended to other types of coding modes, whether for the first coding mode M1 or the second coding mode M2. For example, the first coding mode may correspond to any type of coding mode (such as inter-image predictive coding, spatial prediction with template matching coding, etc.) that uses a transformation of a prediction residual before quantizing the coefficients resulting from the transformation operation. The second coding mode corresponds to the ILR coding mode described above.

[0070] In step E2, the encoder may perform a rate / distortion optimization to determine the best coding mode for coding the current block. During this rate / distortion optimization, additional coding modes different from the first and second coding modes, e.g. inter-mode coding modes, may be tested. During this rate / distortion optimization, the encoder may test the coding modes of the current block X with the different available coding modes to determine the rate and distortion associated with each coding mode. band select the coding mode that offers the best rate / distortion compromise according to, for example, a D+λR function, where R is the rate required to code the current block according to the coding mode being evaluated, D is the distortion measured between the decoded block and the original current block, and λ is a Lagrange multiplier, for example, input by a user or specified in the encoder.

[0071] According to the invention, if the current block has a size greater than the threshold determined in step E0, the second coding mode is not tested.

[0072] In step E19, it is determined whether the current block has a size less than or equal to the threshold determined in step E0. If the current block has a size less than or equal to the threshold, the process proceeds to step E20. If not, the current block has a size greater than the threshold and the method proceeds to step E21 for coding the current block according to the first coding mode.

[0073] According to one particular embodiment of the invention, the size of the current block can correspond to the maximum width of the block. For example, if the current block is of size 16x32 pixels and the determined threshold is 32 pixels, then the second coding mode is tested. However, if the current block is of size 64*32 pixels, then the second coding mode is not tested.

[0074] According to another particular embodiment of the invention, the size of the current block can correspond to the number of pixels in the block, for example, for a threshold of 512 pixels and such a current block of 16*32 pixels containing 512 pixels, the second coding mode is tested, but for such a current block of 64*32 pixels containing 2048 pixels, the second coding mode is not tested.

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

[0076] Currently 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.

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

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

[0079] As a variant, the quantization parameter can be QP, which corresponds 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 equation δ1=levelScale[QP%6]<<(QP / 6)), where levelScale[k]={40, 45, 51, 57, 64, 72} for k=0..5.

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

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

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

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

[0084] In step E212, the intra prediction mode chosen for the current block is coded using the intra prediction modes associated with the neighbouring blocks.

[0085] For example, the technique described in the HEVC standard for coding the prediction mode of the current block may be used. In the example in FIG. 2, such a technique is used for block A b The intra prediction mode m associated with A , and block B located just to the left of the current block b The intra prediction mode m associated with B The purpose of this study is to identify the A and m B Depending on the value of , a list called MPM (representing the most dominant modes) containing the three intra prediction modes and a list called non-MPM containing 32 other prediction modes are created.

[0086] According to the HEVC standard, to code the intra prediction mode of the current block, the syntax element, i.e. A binary indicator is sent indicating whether the prediction mode to be coded for the current block is in the MPM list; If the prediction mode of the current block belongs to the MPM list, an 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, an index in the non-MPM list corresponding to the prediction mode of the current block is coded.

[0087] In step E213, a prediction residual R for the current block is constructed.

[0088] In step E213, in standard fashion, a predicted block P is constructed according to the prediction mode chosen in step E211. A prediction residual R is then obtained by calculating the difference for each pixel between the predicted block P and the original current block.

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

[0090] In step E214, a block R comprising the transformation coefficients is T A frequency transform is applied to the residual block R to generate . The transform can be, for example, a DCT type transform. The transform to be used is defined as a predefined set of transforms E T It is possible for the user to choose between and inform the decoder which transformation will be used.

[0091] In step E215, the transformed residual block R T is quantized using, for example, scalar quantization with quantization step δ. This means that the quantized transformed prediction residual block R TQ Generate.

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

[0093] In the known method, the current block is a quantized block R TQ The current block is decoded by dequantizing the coefficients of the current block and then applying an inverse transform to the dequantized coefficients to obtain a decoded prediction residual. A prediction is then added to the decoded prediction residual to reconstruct the current block and obtain a decoded version of it. 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.

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

[0095] In step E220, a local predictor PL for the current block is determined: according to the coding mode described herein, the pixels of the current block are predicted by previously reconstructed pixels of the current block's neighbouring blocks or of the current block itself.

[0096] Preferably, for prediction, a pixel as close as possible to the pixel to be predicted is selected. This is why it is called a local predictor. The local predictor PL may also be incorporated into the prediction mode of the current block associated with the second coding mode M2. According to this interpretation, in the particular embodiment described here, 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 that is different from the first group of intra prediction modes.

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

[0098] According to one embodiment variant, four local predictors are defined. Thus, as illustrated in Fig. 3 showing a current block Xb, if the current pixel to be predicted from the current block is called X, the pixel located immediately to the left of X is called A, the pixel located immediately to the left and above of X is called B, and the pixel located immediately above of X is called C, four local predictors PL1, PL2, PL3, PL4 can be defined as follows: PL1(X)=min(A,B) if C≧max(A,B) max(A,B) if C≦min(A,B) A+BC Other cases PL2(X)=A PL3(X)=B PL4(X)=C Here, 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.

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

[0100] The coding of the current block using each of the predictors may be simulated (similar to the optimization for choosing a coding mode for the current block), and a local predictor is selected that optimizes a cost function (e.g., minimizes 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).

[0101] Otherwise, to limit the complexity of selecting a local predictor for the current block, the texture orientation 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 orientation is determined to be horizontal, the local predictor PL2 is selected; - if the orientation is determined to be vertical, then the local predictor PL3 is selected; If the orientation is determined to be diagonal, then the local predictor PL4 is selected; If the orientation is not clear, the local predictor PL1 is selected.

[0102] A syntax element is coded in the data stream STR to indicate to the decoder which local predictor was used to predict the current block.

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

[0104] In step E222, a prediction residual R1 is calculated for the current block. For this purpose, once a local predictor has been chosen, for each current pixel of the current block: - to obtain a prediction value PRED, the current pixel X of the current block is predicted by the selected local predictor PL using either already reconstructed pixels outside the block (and therefore available with their decoded values) or previously reconstructed pixels in the current block, or both. In all cases, the predictor PL uses previously reconstructed pixels. In Fig. 3, it can be seen that the pixels of the current block located in the first row and / or the first column of the current block will use as reference pixels (for constructing the prediction value PRED) already reconstructed pixels outside the block (pixels in grey in Fig. 3) and possibly also already reconstructed pixels of the current block. For the other pixels of the current block, the reference pixels used to construct the prediction value PRED are located inside the current block. The difference DIFF between PRED and X is quantized to a value Q(X) by a δ2 quantization step scalar quantizer with Q(X)=ScalarQuant(DIFF)=ScalarQuant(δ2,X-PRED), for example

[0105]

number

[0106] 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) for pixel X is stored in a quantized prediction residual block R1 to be coded later. Q is stored in. - the decoded prediction P1(X) of X is calculated by adding the dequantized value of the quantized residual Q(X) to the prediction PRED. The decoded prediction P1(X) of X is thus obtained by P1(X)=PRED+ScalarDequant(δ2,Q(X)). For example, the closest scalar quantization inverse function is given by ScalarDequant(Δ,x)=Δ×x.

[0107] The decoded prediction value P1(X) thus makes it possible to predict possible pixels in the current block that are still to be processed. Moreover, the block P1 comprising the decoded / reconstructed values ​​of the pixels of the current block is an ILR predictor (rather than a conventional intra predictor) of the current block.

[0108] The sub-steps described above are performed for all pixels of the current block in a scan order that ensures that the pixels used for prediction, chosen from PL1, ..., PL4, are available.

[0109] According to one implementation variant, the scanning order of the current block is lexicographical, ie from left to right and top to bottom.

[0110] According to another implementation variant, several scanning orders of the current block, e.g. - lexicographical order, or - Scan the first column from top to bottom, then the column just to the right of that, etc., or Alternating diagonal scans can be used.

[0111] According to another variant, it is possible to simulate the coding costs associated with each of the scanning orders and to choose the best scanning order for the current block from a rate / distortion point of view, and then code an item of information representing the chosen scanning order for the current block.

[0112] At the end of step E222, the quantized residual block R1 QThis quantized residual block R1 Q must be coded for transmission to the decoder. The predictor P1 for the current block has also been determined.

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

[0114] According to a particular embodiment of the invention described herein, the quantized residual block R1 Q The values ​​of are coded in the data stream STR using an entropy encoder.

[0115] According to one 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, the coding of the additional prediction residual R2 is optional. Simply, the predicted version P1 and the quantized residual R1 are used to determine and code the additional prediction residual R2. Q It is indeed possible to code the current block by:

[0116] To code the additional prediction residual R2 for the current block, the following steps are performed.

[0117] In step E224, the predictor P1 and the original current block X b The difference R2 between the two is calculated and the additional residual R2: R2 = X b -P1. The following steps correspond to conventional coding steps for this residual R2.

[0118] In step E225, coefficient R2 T The residual R2 is transformed using a frequency transform to produce a block of

[0119] The transformation may be, for example, a DCT type transformation. The transformation to be used is defined as a predefined set of transformations E T2 It is possible to choose from among and inform the decoder of the transformation to be used. In this case, the set E T2 Set E T may be different.

[0120] In step E226, coefficient R2 T The block R2 is quantized using, for example, scalar quantization with quantization step δ. TQ Generate.

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

[0122] In step E227, the quantization block R2 TQ The coefficients of are then transmitted in a coded manner. For example, the coding specified in the HEVC standard may be used.

[0123] In a known manner, the quantization 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 prediction P1 is then used to reconstruct the current block and its decoded version X rec The decoded version of the current block, X, is added to the decoded prediction residual to obtain rec 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.

[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 previously defined scanning order. If yes, the method proceeds to the coding of the next image of the video, if any (step E25). If no, in step E24 a subsequent block of the image to be processed is selected according to the previously defined scanning order of the images and the coding method proceeds to step E2, where the selected block becomes the current block to be processed.

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

[0126] For example, the data stream STR has been generated via the coding method illustrated 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 image by image, and each image is decoded block by block.

[0128] In step E40, the image I to be decoded is j is subdivided into blocks of an initial size determined at the encoder and known to the decoder. Each block undergoes a decoding operation in a series of steps detailed below. The blocks can be of the same size or of different sizes.

[0129] In an optional step E401, according to one particular embodiment of the invention, a threshold value is read from the data stream STR, said threshold value defining the maximum block size up to which the ILR coding mode is enabled for coding the current block.

[0130] According to another particular embodiment of the invention, the threshold value may be defined by default in the decoder.

[0131] 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.

[0132] In step E42 it is determined whether the current block has a size less than or equal to the threshold. If the current block has a size less than or equal to the threshold, the process continues to step E421. Otherwise, the current block has a size greater than the threshold and the method continues to step E43 for decoding the current block according to the first coding mode.

[0133] The size of the current block may be read from the data stream or may be inferred from the partition of the initial-sized block to which the current block belongs, such partition being coded in the data stream or inferred from information coded for the initial-sized block.

[0134] In step E421, an item of information indicating the coding mode for 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.

[0135] In other particular embodiments, the first coding mode may correspond to a coding mode (not described herein) other than an intra-predictive coding mode.

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

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

[0138] In step E431, the prediction mode chosen for coding the current block is decoded from the neighbouring blocks. For this purpose, the intra prediction mode chosen for the current block is coded using the intra prediction modes associated with the neighbouring blocks of the current block, as was done in the encoder.

[0139] The construction of both MPM and non-MPM lists is strictly similar to that done during coding. According to the HEVC standard, the following types of syntax elements are included: - a binary indicator indicating whether the prediction mode to be coded for the current block is in the MPM list; - if the prediction mode of the current block belongs to the MPM list, an index in the MPM list corresponding to the prediction mode of the current block being coded; - If the prediction mode of the current block does not belong to the MPM list, the index in the non-MPM list that corresponds to the prediction mode of the coded current block is decoded.

[0140] The binary indicator and the prediction mode index are thus read for the current block from the data stream STR to decode the intra-prediction mode of the current block.

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

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

[0143] In step E434, the decoded block R TQ is dequantized, for example, using a δ quantization step scalar dequantization. This means that the dequantized coefficients R TQD Generate a block of

[0144] In step E435, the decoded prediction residual block R TQDI To generate the dequantized coefficients R TQD An inverse frequency transform is applied to the blocks of . The transform can be, for example, a transform of the inverse DCT type. By decoding an indicator from the data stream STR, the transform to be used can be determined from a predefined set of transforms E TI It is possible to choose from.

[0145] In step E436, the decoded current block X rec , X rec =P+RTQDI to generate a prediction block P obtained in step E432 and a decoded residual block R obtained in step E435. TQDI From this, the current block is reconstructed.

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

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

[0148] In the case where several local predictors are available, for example the predictors PL1 to PL4 described above, a syntax element is decoded from the data stream STR to identify which local predictor was used to predict the current block. The local predictor is so determined from the decoded syntax element.

[0149] In step E441 the quantization step δ2 is determined in the same way as it was done in the encoder.

[0150] In step E442, the quantized residual R1 Q Any known technique may be used to decode the quantized coefficients of the conventional prediction residual, such as the methods described in HEVC.

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

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

[0153] In step E444, each pixel of the current block is predicted and reconstructed as follows. - To obtain a prediction value PRED, the current pixel X of the current block is predicted by a selected predictor PL using either already reconstructed pixels outside the block or previously reconstructed pixels of the current block, or both. 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 As in (X), the dequantized value of the prediction residual R1 QD It is calculated by adding to the predicted value PRED.

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

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

[0156] According to one particular embodiment of the invention, a prediction block P1 comprising decoded prediction values ​​P1(X) of each pixel of the current block is calculated based on the decoded current block X rec is formed here.

[0157] According to another particular embodiment of the invention, it is now taken into account that an additional prediction residual has been coded for the current block. rec To reconstruct the decoded version of x, it is necessary to decode this additional prediction residual.

[0158] For example, this other particular embodiment may not be activated or defaulted at the encoder and decoder levels. Otherwise, an indicator may be coded in the data stream together with block level information to indicate whether additional prediction residuals are coded for each block coded according to the ILR coding mode. Alternatively, an indicator may be coded in the data stream together with image or sequence of images level information to indicate whether additional prediction residuals are coded for all blocks of an image or sequence of images coded according to the ILR coding mode.

[0159] When additional prediction residuals are to be coded for the current block, in step E445, the quantized prediction residual R2 TQ are decoded from the data stream STR using means adapted to those implemented in an encoder, for example means implemented in an HEVC decoder.

[0160] At step E446, the quantization coefficient R2 TQ The block of is dequantized, for example, using scalar dequantization with quantization step δ1. This results in a dequantized coefficient R2 TQD Generate a block of

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

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

[0163] The transformations to be used are defined as a given set of transformations E T2It is possible to choose from among the set E T2 Set E T is different.

[0164] In step E448, the prediction block P1 obtained in step E444 is decoded to obtain a prediction residual R2 TQDI The current block is reconstructed by adding

[0165] 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 previously defined scanning order. If yes, the method proceeds to the decoding of the next image of the video, if any (step E47). If no, in step E46 the subsequent block of the image to be processed is selected according to the previously defined scanning order of the images and the decoding method proceeds to step E42, where the selected block becomes the current block to be processed.

[0166] 5 shows an example signal STR comprising coded data representing at least one block of an image according to one particular embodiment of the invention. For example, the signal STR may comprise a threshold value S indicating a maximum block size up to which the second coding mode M2 ​​may be used as explained above. This threshold value S may be coded at the image level or at the image sequence level when coding video.

[0167] When not coded in the data stream STR, the threshold S is determined in a similar manner in the encoder and decoder.

[0168] When the block has a size equal to or smaller than the threshold S, the signal STR comprises a coded indicator TY indicating a coding mode for the block among the first coding mode and the second coding mode. When the TY indicator indicates that the block is coded according to the second coding mode, here the ILR mode, the signal then comprises a quantized prediction residual R1 Q and possibly the quantized transformed prediction residual R2 TQ When several local predictors are possible for the current block, the signal also comprises a local predictor PL coded indicator.

[0169] When the indicator TY indicates that the block is coded according to a first coding mode, here a conventional intra-prediction mode, the signal then includes the quantized transformed prediction residual R TQ , a binary indicator i indicating whether the prediction mode to be coded for the current block is in the MPM list or not. MPM , and an index idx indicating the index of the current block prediction mode in the corresponding list. MPM Equipped with.

[0170] When a block has a size exceeding the threshold S, the signal then comprises data coded for the block resulting from the coding of the block according to the first coding mode.

[0171] 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.

[0172] According to one 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 computer of standard architecture and in particular comprises a processing unit UT equipped with a memory MEM, for example a processor PROC and driven by a computer program PG stored in the memory MEM. The computer program PG comprises instructions for implementing the steps of the coding method as described above, when the program is executed by the processor PROC.

[0173] 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.

[0174] 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.

[0175] According to one particular embodiment of the invention, the decoding device DEC has a computer of standard architecture and notably comprises a processing unit UT0 equipped with 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.

[0176] At initialization, the code instructions of the computer program PG0 are loaded, for example, into a RAM memory (not shown) before being executed by the processor PROC0. In particular, 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. [Explanation of symbols]

[0177] I1, I2, ..., I Nb Sequence I j image X b Current Block STR Data Stream, Signal QP Quantization parameter M1 First coding mode M2 Second coding mode A b and B. b Adjacent Blocks PG Computer Program COD coding device PROC Processor DEC Decryption Device UT Processing Unit S Threshold TY indicator PROC0 processor

Claims

1. 1. A method for decoding a coded data stream representing at least one image, said image being divided into blocks, said decoding method comprising the steps of: - determining whether the size of the current block is less than or equal to a predetermined threshold; - if the size of the current block is less than or equal to the predefined threshold, decoding (E42) an item of information indicating a coding mode of the current block among a first coding mode and a second coding mode, and reconstructing the current block according to the coding mode indicated by the decoded coding mode item of information; - if the size of the current block is greater than the predetermined threshold, reconstructing the current block according to the first coding mode. Equipped with The first coding mode corresponds to a coding mode according to which the current block is reconstructed using an inverse transform of a transform prediction residual decoded for the current block (E436), and the second coding mode corresponds to for each pixel of the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to said current block or to a previously decoded block of said image, - reconstructing said pixel from said prediction of said pixel obtained and from a decoded prediction residual associated with said pixel. corresponding to the coding mode according to which the current block is reconstructed (E444), method.

2. A method for coding a data stream representative of at least one image, said image being divided into blocks, said coding method comprising the steps of: - determining whether the size of the current block is less than or equal to a predetermined threshold; - if the size of the current block is less than or equal to the predefined threshold, coding (E20) an item of information indicating a coding mode of the current block among a first coding mode and a second coding mode, and coding the current block according to the coding mode indicated by the coded coding mode item of information; - coding the current block according to the first coding mode if the size of the current block is greater than the predetermined threshold; wherein the first coding mode corresponds to a coding mode according to which the current block is coded using a transformation of a prediction residual of the current block (E21), and the second coding mode corresponds to for each pixel of the current block, - obtaining a prediction of said pixel from another previously decoded pixel (E222), said another previously decoded pixel belonging to said current block or to a previously decoded block of said image, - a step (E223) of coding a prediction residual associated to said pixel and obtained from said prediction obtained for said pixel. corresponds to the coding mode according to which the current block is coded (E22), method.

3. the size of the current block corresponds to a maximum width of the current block; 3. The method according to claim 1 or 2.

4. the predetermined threshold is 16 or 32 pixels; The method of claim 3.

5. the size of the current block corresponds to a total number of pixels in the current block; 3. The method according to claim 1 or 2.

6. the predetermined threshold is 256 or 512 pixels; The method of claim 5.

7. further comprising the step of decoding or coding the predetermined threshold value.

3. The method according to claim 1 or 2.

8. 1. A device for decoding a coded data stream representing at least one image, said image being divided into blocks, said decoding device determining for at least one block of said image, called a current block: - determining whether a size of the current block is less than or equal to a predetermined threshold; - if the size of the current block is less than or equal to the predetermined threshold, decoding an item of information indicating a coding mode of the current block among a first coding mode and a second coding mode, and reconstructing the current block according to the coding mode indicated by the decoded coding mode item of information; - if the size of the current block is greater than the predetermined threshold, reconstructing the current block according to the first coding mode. A processor (PROC0) configured to: The first coding mode corresponds to a coding mode according to which the current block is reconstructed using an inverse transform of a transform prediction residual decoded for the current block (E436), and the second coding mode corresponds to for each pixel of the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to said current block or to a previously decoded block of said image, - reconstructing the pixel from the prediction of the pixel obtained and a decoded prediction residual associated with the pixel. corresponding to the coding mode according to which the current block is reconstructed (E444), device.

9. 1. A device for coding a data stream representative of at least one image, said image being divided into blocks, said coding device determining for at least one block of said image, having a size below a predefined threshold, called a current block, - determining whether the size of the current block is less than or equal to a predetermined threshold; - if the size of the current block is less than or equal to the predetermined threshold, coding an item of information indicating a coding mode of the current block among a first coding mode and a second coding mode, and coding the current block according to the coding mode indicated by the coded coding mode item of information; if the size of the current block is greater than the predetermined threshold, coding the current block according to the first coding mode; a processor (PROC) configured to: The first coding mode corresponds to a coding mode according to which the current block is coded (E21) using a transformation of a prediction residual of the current block, and the second coding mode corresponds to for each pixel of the current block, - obtaining a prediction of said pixel from another previously decoded pixel (E222), said another previously decoded pixel belonging to said current block or to a previously decoded block of said image, - coding a prediction residual associated with said pixel and obtained from said prediction obtained for said pixel (E223), corresponds to the coding mode according to which the current block is coded (E22), device.

10. a coded data stream representing at least one image, the image being divided into blocks, the coded data stream comprising, for at least one block of the image, referred to as a current block, if the current block has a size less than or equal to a predefined threshold, - an item of information indicating a coding mode of the current block among a first coding mode and a second coding mode; a coded transform prediction residual when the coding mode of the current block corresponds to a first coding mode or when the size of the current block has a size larger than the predetermined threshold; - when the coding mode of the current block corresponds to a second coding mode and the size of the current block has a size equal to or smaller than the predetermined threshold; for each pixel of the current block, - obtaining a prediction of said pixel from another previously decoded pixel, said another previously decoded pixel belonging to said current block or to a previously decoded block of said image, - obtaining a prediction residual associated with said pixel from the prediction obtained for said pixel. and the coded prediction residuals obtained by Equipped with Encoded data stream.

11. and further comprising a value representative of the predetermined threshold coded for at least the image.

11. The data stream of claim 10.

12. A computer program comprising instructions for carrying out the decoding method according to any one of claims 1 or 3 to 7 or the coding method according to any one of claims 2 to 7, when said program is executed by a processor. Computer program.

13. Comprising instructions of a computer program according to claim 12 A computer readable data medium.

Citation Information

Patent Citations

  • Non-square transform units and prediction units in video coding

    WO2013039908A2

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

    US9253508B2