Method and apparatus for coding and decoding a data stream representing at least one image - Patents.com

By determining and associating intra prediction modes with blocks coded using different modes, the method addresses the inefficiencies in existing video compression techniques, enhancing compression performance and reducing coding costs.

JP7665808B2Active Publication Date: 2025-04-21オランジュ
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024014949
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2018-06-27
Filing Date
2024-02-02
Publication Date
2025-04-21
Estimated Expiration
2039-06-18

AI Technical Summary

Technical Problem

Existing video compression methods, such as those in the HEVC standard, face challenges in efficiently coding and decoding video streams, particularly when adjacent blocks are not coded using the same intra prediction mode, leading to high coding costs and reduced compression performance.

Method used

The method involves determining whether a block is coded using an intra-coding mode or another coding mode, and then associating an intra prediction mode with the block. This mode can be 'fictitious' if the block is coded differently, but it can be used to decode subsequent blocks or associate modes with subsequent blocks coded in intra or other modes.

Benefits of technology

This approach improves compression performance by reducing coding costs and enhancing the efficiency of intra prediction mode selection and association across different coding modes, leading to better video stream compression and decoding.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007665808000002
    Figure 0007665808000002
  • Figure 0007665808000003
    Figure 0007665808000003
  • Figure 0007665808000004
    Figure 0007665808000004
Patent Text Reader

Abstract

To provide a method of coding and decoding at least one image that is divided into blocks.SOLUTION: A method includes determining whether a current block is coded according to an intra-predictive coding mode or another coding mode, determining an intra prediction mode according to at least one intra prediction mode associated with a previously decoded block when the current block is in the intra-predictive coding mode, decoding the current block according to the determined intra prediction mode, decoding the current block according to another coding modes when the block is currently in the other coding mode, determining an intra prediction mode in the group of intra prediction modes, and associating it with the current block.SELECTED DRAWING: None
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 image sequences, in particular video streams.

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

[0003] The invention may be applied inter alia to image or video coding, as well as corresponding decoding, implemented in current or future encoders (JPEG, MPEG, H.264, HEVC, etc. and their revisions). [Background technology]

[0004] Digital images or image sequences take up a lot of space in terms of memory, so that when transmitting these images it is necessary to compress them to avoid congestion problems in the networks used for this transmission.

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

[0006] More specifically, intra prediction uses spatial redundancy within an image.To do this, the image is divided into pixel blocks.Then, pixel blocks are predicted using already reconstructed information that corresponds to previously coded / decoded blocks in the current image according to the scanning order of blocks in the image.

[0007] Furthermore, in conventional schemes, the coding of the current block is performed using a prediction of the current block, called a predictor block, and a prediction residual corresponding to the difference between the current block and the predictor block, i.e. a "residual block". The resulting residual block is then transformed, for example using a DCT (discrete cosine transform) type transformation. 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. 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 the HEVC standard, it is possible to perform intra prediction of the current block according to 35 different intra prediction modes. The HEVC standard defines two prediction mode lists for coding the intra prediction mode selected for coding the current block: - A first list called MPM (Most Probable Mode) containing the three most probable intra prediction modes for the current block, e.g., an MPM list defined from prediction modes previously selected during coding of neighboring blocks of the current block. - a second list, called the non-MPM list, which contains 32 other intra prediction modes, i.e., intra prediction modes that are not included in the MPM list; This section stipulates:

[0010] According to the HEVC standard, the MPM list is constructed according to the intra-prediction modes used to code the neighboring blocks of the current block, which are located to the left and above the current block, respectively. However, the construction mechanism of the MPM list in the HEVC standard does not require systematically available intra-prediction modes for the neighboring blocks. When at least one of the neighboring blocks has not been previously coded using an intra-prediction mode, the construction mechanism of the MPM list populates the MPM list using one or more default intra-prediction modes.

[0011] Due to this coding mechanism of intra prediction modes (using the MPM list), when neighboring blocks are not coded according to the intra prediction modes, the coding cost of the intra prediction mode for the current block appears to be high. Moreover, when a new intra prediction mode is used in addition to an existing conventional intra prediction mode (e.g., an intra prediction mode of HEVC or H.264, or other standards), using the new intra prediction mode or inter prediction mode for the current block affects the coding cost of the intra prediction mode for subsequent blocks of the picture coded in intra mode. [Prior art documents] [Non-patent literature]

[0012] [Non-Patent Document 1] HEVC compression standard (“High Efficiency Video Coding, Coding Tools and Specification”, Matthias Wien, Signals and Communication Technology, 2015) [Non-Patent Document 2] https: / / jvet.hhi.fraunhofer.de / Summary of the Invention [Problem to be solved by the invention]

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

[0014] The present invention improves the state of the art. To this end, it relates to a method for decoding a coded data stream representative of at least one image divided into blocks, said decoding method comprising, for at least one block of the image, called current block, the following steps: - determining whether the current block is coded according to an intra coding mode or according to another coding mode, the intra coding mode being a coding mode using an intra prediction mode selected from a group of intra prediction modes according to at least one intra prediction mode associated with a neighboring block of the current block; when the current block is coded according to said intra-coding mode, - determining for a current block an intra prediction mode in said group of intra prediction modes according to at least one intra prediction mode associated with a previously decoded block of the image; - decoding the current block according to the determined intra-prediction mode; - associating the determined intra-prediction mode with the current block; when the current block is coded according to the other coding mode, - decoding the current block according to the other coding mode; - determining for a current block an intra-prediction mode within said group of intra-prediction modes; - associating the determined intra-prediction mode with the current block; Includes.

[0015] According to the present invention, when a block is coded according to a coding mode other than a conventional intra-coding mode, i.e., an intra-coding mode such as that specified in the HEVC standard, an intra-prediction mode is determined and associated with the block. Such an intra-prediction mode associated with the current block is "fictitious" in this case, since it is not used to decode the current block. Such an intra-prediction mode associated with the current block can then be used to decode a subsequent block in the image if this block is coded according to a conventional intra-coding mode, or to associate an intra-prediction mode with the subsequent block if the subsequent block is coded according to another coding mode.

[0016] A conventional intra-coding mode corresponds to any type of intra-coding mode that uses an intra-prediction mode selected from a group of intra-prediction modes according to an intra-prediction mode used to predict a previously decoded block adjacent to the current block, for example, it may be an intra-coding mode according to the H.264 / AVC standard or HEVC.

[0017] The other coding modes may correspond to any type of coding mode different from conventional intra-coding modes, e.g., inter-coding modes, another type of intra-coding mode (based on DPCM (Differential Pulse-Code Modulation) or ILR (In-Loop Residual), based on a "template matching" technique, ...).

[0018] The invention also relates to a method for coding a coded data stream representative of at least one image divided into blocks, said coding method comprising, for at least one block of the image, called current block, the following steps: - determining whether the current block is coded according to an intra coding mode or according to another coding mode, the intra coding mode being a coding mode using an intra prediction mode selected from a group of intra prediction modes according to at least one intra prediction mode associated with a neighboring block of the current block; when the current block is coded according to said intra-coding mode, - determining for the current block an intra prediction mode in a group of intra prediction modes according to at least one intra prediction mode associated with a previously decoded block of the image; - coding the current block according to the determined intra-prediction mode; - associating the determined intra-prediction mode with the current block; when the current block is coded according to the other coding mode, - coding the current block according to the other coding mode; - determining for a current block an intra-prediction mode within said group of intra-prediction modes; - associating the determined intra-prediction mode with the current block; Includes.

[0019] According to a particular embodiment of the invention, the determination of an intra prediction mode in a group of intra prediction modes according to at least one intra prediction mode associated with a previously decoded block of the image comprises the construction of a list comprising a subset of intra prediction modes selected from said group of intra prediction modes according to said at least one intra prediction mode associated with a previously decoded block of the image. For example, such a list may correspond to a list of most probable prediction modes defined according to the HEVC standard.

[0020] Furthermore, according to a particular embodiment of the present invention, when the current block is coded according to the other coding mode, the determination of an intra prediction mode in the group of intra prediction modes includes constructing at least a portion of the list for the current block, and the determined intra prediction mode corresponds to the first intra prediction mode in the list.

[0021] According to this particular embodiment of the invention, a list including a subset of intra-prediction modes is created to predict the intra-prediction mode to be used to predict the current block when the current block is coded according to an intra-coding mode, e.g., similar to the construction mechanism of the MPM list of the HEVC standard. When the current block is coded according to another coding mode, a similar list construction mechanism is implemented, according to which at least a part of the list is constructed, and the first intra-prediction mode in the list is selected and associated with the current block.

[0022] According to another particular embodiment of the invention, when the current block is coded according to said other coding mode, the determined intra prediction mode corresponds to a predefined prediction mode.

[0023] According to a particular embodiment of the invention, the association of an intra-prediction mode that is not used for coding / decoding the current block is fast since the intra-prediction mode is a predefined prediction mode, which can be, for example, the PLANAR intra-prediction mode of the HEVC standard, which can also be the default intra-prediction mode transmitted in the stream, at the level of an image or an image sequence.

[0024] According to another particular embodiment of the invention, when the current block is coded according to said other coding mode, the intra prediction mode determined for the current block corresponds to an intra prediction mode selected from at least one subset of the group of intra prediction modes as the predicted block for the current block that gives a predicted block having the smallest distortion calculated between said predicted block and the decoded current block.

[0025] According to this particular embodiment of the invention, the selection is made from the most probable intra-prediction modes that best approximates the current block being decoded, or from only a subset of these intra-prediction modes, for example all intra-prediction modes may be tested or only those included in a list of the most probable intra-prediction modes may be tested.

[0026] According to another particular embodiment of the invention, when the current block is coded according to the other coding mode, decoding of the current block comprises a prediction of the current block to give a first predicted current block, and the intra prediction mode determined for the current block corresponds to an intra prediction mode selected from at least a subset of a group of intra prediction modes to give a second predicted block for the current block, the second predicted block having a minimal distortion calculated between the second predicted block and the first predicted current block.

[0027] According to this particular embodiment of the invention, the intra prediction mode selected is the one that best approximates the predicted current block obtained when decoding the current block.

[0028] According to another particular embodiment of the invention, the prediction of the current block to give a first predicted current block comprises, for each pixel of the current block, obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to the current block or to a previously decoded block of an image, If the other previously decoded pixels belong to the current block, the other previously decoded pixels - by decoding a prediction residual associated with said other pixel, by reconstructing said other pixels by adding a prediction of said other pixels to the decoded residual; Obtained.

[0029] According to a variant of this embodiment of the invention, the prediction of the current block is obtained by coding / decoding the block pixel by pixel, for example according to DPCM or ILR techniques.

[0030] According to another particular embodiment of the invention, when the current block is coded according to the other coding mode, the decoding of the current block comprises: - determining a local prediction function for the current block from a group of predefined local prediction functions; - predicting said current block for each pixel of the current block; - obtaining a prediction of said pixel according to said local prediction function using at least one previously decoded pixel adjacent to said pixel, said previously decoded pixel belonging to said current block or to a previously decoded block of an image; Including, The intra-prediction mode determined for the current block corresponds to an intra-prediction mode selected from a group of intra-prediction modes according to a local prediction function.

[0031] According to this particular embodiment of the present invention, a prediction of the current block is obtained by coding / decoding the current block pixel by pixel according to a local prediction function using previously decoded pixels neighboring the current pixel. An intra prediction mode is then selected according to the local prediction function.

[0032] According to another particular embodiment of the invention, the intra prediction mode of the current block is determined from a correspondence table that associates intra prediction modes with local prediction functions of a predefined group of local prediction functions.

[0033] According to another particular embodiment of the invention, for a neighbouring block of a current block which is located after the current block according to the scanning order of the blocks of an image for coding or decoding and which is coded according to said intra-coding mode, the method comprises the steps of: - determining for a current block an intra prediction mode in a group of intra prediction modes according to at least an intra prediction mode associated with the current block; - decoding or coding the neighboring blocks according to the determined intra-prediction mode; - associating the determined intra prediction mode with the neighboring blocks; Includes.

[0034] According to another particular embodiment of the invention, for a neighbouring block of a current block which is located after the current block according to a scanning order of the blocks of an image for coding or decoding and which is coded according to said other coding mode, the method comprises the steps of: - decoding or coding the neighboring block according to the other coding mode; - determining, for a neighboring block, an intra-prediction mode in said group of intra-prediction modes according to the intra-prediction mode associated with the current block; - associating the determined intra prediction mode with the neighboring blocks; Includes.

[0035] 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 may include different features related to the decoding method according to the present invention. Therefore, the features and advantages of this decoding device are the same as those of the decoding method, and they will not be detailed further.

[0036] The decoding device in particular comprises a processor which, for at least one block of an image, called the current block, calculates: - determining whether the current block is coded according to an intra coding mode or another coding mode, the intra coding mode being a coding mode using an intra prediction mode selected from a group of intra prediction modes according to at least one intra prediction mode associated with a neighboring block of the current block; when the current block is coded according to said intra-coding mode, - determining for the current block an intra prediction mode in a group of intra prediction modes according to at least one intra prediction mode associated with a previously decoded block of the image; - decoding the current block according to the determined intra-prediction mode; and - associating the determined intra-prediction mode with the current block; and when the current block is coded according to the other coding mode, - decoding the current coding mode according to the other coding mode; and - determining an intra prediction mode in said group of intra prediction modes for a current block; - associating the determined intra-prediction mode with the current block; and The present invention is configured to:

[0037] According to a particular embodiment of the invention, such a decoding device is included within a terminal.

[0038] The present invention also relates to a coding device adapted to implement the coding method according to any one of the specific embodiments defined above. Of course, this coding device may include different features related to the coding method according to the invention. The features and advantages of this coding device are therefore the same as those of the coding method, which will not be detailed further.

[0039] The coding device in particular comprises a processor which determines, for at least one block of an image, called the current block, - determining whether the current block is coded according to an intra coding mode or another coding mode, the intra coding mode being a coding mode using an intra prediction mode selected from a group of intra prediction modes according to at least one intra prediction mode associated with a neighboring block of the current block; when the current block is coded according to said intra-coding mode, - determining for the current block an intra prediction mode in a group of intra prediction modes according to at least one intra prediction mode associated with a previously decoded block of the image; - coding the current block according to the determined intra-prediction mode; and - associating the determined intra-prediction mode with the current block; and when the current block is coded according to the other coding mode, - coding the current coding mode according to the other coding mode; and - determining an intra prediction mode in said group of intra prediction modes for a current block; - associating the determined intra-prediction mode with the current block; and The present invention is configured to:

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

[0041] The decoding method, respectively the coding method according to the invention can be implemented in various ways, notably in wired or software form. According to a 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, which comprises instructions for implementing the decoding method or the coding method according to any one of the particular embodiments described above, when said program is executed by a processor. Such a program can use any programming language. It can also be downloaded from a communication network and / or recorded on a computer-readable medium.

[0042] 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, for example in a partially compiled form or in any other desired form.

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

[0044] Alternatively, the recording medium may correspond to an integrated circuit in which the program is embedded, this circuit being adapted to perform, or for use in the performance of, the method in question.

[0045] Other characteristics and advantages of the invention will become more apparent on reading the following description of particular embodiments, given as a purely illustrative and non-limiting example, and the accompanying drawings, in which: [Brief description of the drawings]

[0046] [Figure 1] FIG. 2 illustrates steps of a coding method according to a 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 certain embodiments of the present invention. [Diagram 3] FIG. 2 illustrates example locations of reference pixels used to predict pixels of a current block according to certain embodiments of the present invention. [Figure 4] FIG. 3 illustrates steps of a decoding method according to a particular embodiment of the invention. [Diagram 5] FIG. 2 illustrates an example signal including 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] 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

[0047] general principle A general principle of the invention is to associate an intra-prediction mode determined in a group of intra-prediction modes defined for an intra-coding mode with blocks of an image coded according to another coding mode different from the intra-coding mode.

[0048] Classically, when a block of an image is coded according to an intra-coding mode, the prediction mode used to code this block is coded in the stream. Such a prediction mode defined for the intra-coding mode is predicted from the intra-prediction mode used to code the block's neighboring blocks. According to the present invention, a neighboring block has an intra-prediction mode associated with it, even if the neighboring block is not coded according to an intra-coding mode and therefore the intra-prediction mode defined for the intra-coding mode is not used to code this neighboring block. Thus, the intra-prediction mode associated with the neighboring block may be used to predict the intra-prediction mode of a block coded according to an intra-coding mode, or may be used to determine the intra-prediction mode that will be associated with this block when this block is coded according to another coding mode.

[0049] Thus, the present invention improves compression performance.

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

[0051] A sequence of images I1, I2, …, I Nb (Nb is the number of images of the sequence to be coded) is given as input to the coding method, which outputs a coded data stream STR representing the sequence of images given as input.

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

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

[0054] In an optional step E10, according to a particular embodiment of the invention, a quantization parameter QP is calculated for the image I jThe data is coded in a data stream STR with data coded for a sequence of images or data coded for a sequence of images.

[0055] Then, 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, it may be the first block in the lexicographical scan order of the image.

[0056] In step E2, the encoder calculates the current block X b Select the coding mode for coding the

[0057] According to a particular embodiment described herein, the encoder may: b A coding mode for coding t is selected from a first coding mode M1 and a second coding mode M2. Further coding modes (not described herein) may be used.

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

[0059] The principles of the present invention may be extended to other types of coding modes, whether for the first coding mode M1 or for the second coding mode M2. For example, the first coding mode may correspond to any type of intra-coding mode, where the intra-prediction mode used to code a block is coded by prediction from the intra-prediction mode of a previously decoded neighboring block, if it exists. This is the case for intra-coding modes, for example, according to the H.264 or HEVC standard, or in the experimental JEM software available at the Internet address (https: / / jvet.hhi.fraunhofer.de / ).

[0060] The second coding mode may correspond to any type of coding mode available to the encoder / decoder, eg, an inter-picture coding mode, a template matching coding mode, . . .

[0061] 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, further coding modes different from the first and second coding modes, for example inter-mode coding modes, may be tested. During this rate / distortion optimization, the encoder may code the current block X according to different available coding modes. bto determine the rate and distortion associated with each coding mode, and select the coding mode that offers the best rate / distortion compromise, e.g., according to D+λR, or an 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 Lagrangian multiplier, e.g., input by a user or specified in the encoder.

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

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

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

[0065] According to a particular embodiment of the invention, during step E210, a quantization step δ1 is determined. For example, the quantization step δ1 may be set by the user or calculated using a quantization parameter that sets a compromise between compression and quality and is entered by the user or specified 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 way of coding an image that minimizes this function is sought.

[0066] As a variant, the quantization parameter is 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.

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

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

[0069] Thus, in step E211, the encoder selects one of the available prediction modes from a predefined list of prediction modes. One way of selection consists, for example, of evaluating all of the prediction modes and keeping the prediction mode that minimizes a cost function, such as classically the rate / distortion cost.

[0070] 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 1 shows an example of the position of

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

[0072] According to certain embodiments of the invention described herein, the intra prediction mode associated with a block is: - if the block was coded using a conventional intra-prediction coding mode, the intra-prediction mode used to predict the block; the intra-prediction mode associated with the block if the block has been coded with another coding mode different from the conventional intra-prediction coding mode, an example of such an association is given below with reference to step E229.

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

[0074] According to certain embodiments described herein, the mechanism for creating the MPM list specified according to the HEVC standard is adapted to take into account the association of an intra-prediction mode with a block during its coding, when this block is not coded according to a conventional intra-coding mode (step E229 described below). Thus, the neighboring blocks of the current block always have an intra-prediction mode associated with it, regardless of whether this block is coded according to an intra-coding mode or another coding mode (ILR, inter, etc.).

[0075] The remaining mechanism for creating the MPM list remains similar to that specified by the HEVC standard. A and m B and MPM[0]=PLANAR, MPM[1]=DC, MPM[2]=A(26), which corresponds to the angular prediction mode at index 26 in the HEVC intra prediction mode table.

[0076] m A and m B If both are equal to the same angular prediction mode m(n), then the MPM list contains the following prediction modes: MPM[0]=m(n), MPM[1]=m(2+(n+29)mod32), MPM[2]=m(2+(n-1)mod32).

[0077] m A and m B If m is different, the MPM list is the next prediction mode, i.e., MPM[0]=m B , MPM[1]=m A , MPM[2]=Mlast, where Mlast is defined by: -m B is not equal to PLANAR mode and m A If is not equal to PLANAR mode, then Mlast is equal to PLANAR mode, - No, m B is not equal to the DC mode, and m A If is not equal to DC mode, Mlast is equal to DC mode, - Otherwise, Mlast is equal to the angle mode A(26).

[0078] The non-MPM list includes all other intra prediction modes that are not included in the MPM list.

[0079] According to the HEVC standard, to code the intra prediction mode of the current block, the syntax element is transmitted: - A binary indicator that indicates whether the prediction mode to be coded for the current block is in the MPM list or not. - 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, an index in the non-MPM list corresponding to the prediction mode of the current block is coded.

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

[0081] In step E213, in a conventional manner, 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 difference for each pixel between the predicted block P and the original current block.

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

[0083] In step E214, a frequency transform is applied to the residual block R to obtain a block R containing the transform coefficients. T The transformation can be, for example, a DCT type transformation. The transformation to be used is defined as a predefined set of transformations E T It is possible to choose from and tell the decoder which transformation was used.

[0084] In step E215, the transformed residual block R T is quantized using, for example, a quantization step scalar quantization δ1, resulting in a quantized transformed prediction residual block R TQ is generated.

[0085] In 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 may be used.

[0086] According to a variant of the embodiment described herein, in step E217, the prediction mode determined in step E211 is associated with the current block.

[0087] 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 an inverse transform is applied 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 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.

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

[0089] In step E220, a local predictor PL for 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 its neighboring blocks or of the current block itself.

[0090] Preferably, for prediction, a pixel is selected that is as close as possible to the pixel to be predicted. 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 a particular embodiment 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 that are different from the intra prediction modes of the first group. According to a variant of the embodiment described below, a correspondence between the prediction modes of these two groups may be determined.

[0091] The local predictor PL may be unique or may be chosen from a predefined set of local predictors (prediction modes of the second group).

[0092] According to a variant of the embodiment, four local predictors are defined. Thus, if the current pixel to be predicted from the current block is called X, then the current block X b As illustrated in FIG. 3 which shows, the pixel immediately to the left of X is called A, the pixel immediately to the top and left of X is called B, and the pixel immediately above X is called C. Four local predictors PL1, PL2, PL3, PL4 may 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 PL2(X)=A PL3(X)=B PL4(X)=C where 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.

[0093] 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 the pixels of the current block. To this end, several embodiment variants are possible.

[0094] The coding of the current block with each of the predictors may be simulated (similar to the optimization for selecting a coding mode for the current block), and a local predictor is chosen 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).

[0095] Alternatively, 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, the local predictor PL3 is selected; If the orientation is determined to be diagonal, then the local predictor PL4 is chosen; If no orientation appears, the local predictor PL1 is chosen.

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

[0097] According to a particular embodiment of the invention, during step E221, a quantization step δ2 is determined which, according to a particular embodiment described herein, depends on the same quantization parameter as the quantization step δ1 which would be determined in step E210 if the current block is coded according to the first coding mode.

[0098] According to one variant, the quantization step δ2 can be determined according to the quantization step δ1, for example δ2=a1*□δ1.+b1, where a1 and b1 are predefined integers or real numbers, or δ2=c1*□δ1 2 +d1*□δ1+e 1、 Linear or polynomial functions may be used, i.e., c1, d1, and e1 are predefined integers or real numbers, e.g., a1=2, b1=10, c1=0.1, d1=2, and e1=10. Other values ​​are possible.

[0099] According to another variant, the quantization step δ2 can be determined from a parameter λ that sets the compromise between compression and quality. This Lagrangian parameter λ□, like δ1, can be entered by the user or specified by the encoder, or determined from the quantization parameter QP mentioned above.

[0100] According to another variant, the quantization step δ2 may be set directly by the user, and then the quantization step δ1 depends on δ2.

[0101] 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: - A current pixel X of the current block is predicted by a chosen 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, to obtain a predicted value PRED. 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 predicted value PRED) already reconstructed pixels outside the current block (gray pixels in Fig. 3) and possibly already reconstructed pixels of the current block. For the other pixels of the current block, the reference pixels used to construct the predicted value PRED are located inside the current block.

[0102] The difference DIFF between PRED and X is quantized by a quantization step scalar quantizer δ2 to a value Q(X) with Q(X) = ScalarQuant(DIFF) = ScalarQuant(δ2,X-PRED). The scalar quantizer can be, for example,

[0103]

number

[0104] Q(X) is the nearest-neighbour scalar quantizer associated with X. It 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 quantised residual Q(X) for pixel X is calculated as a quantised prediction residual block R1. Q The data will be stored in and later coded.

[0105] - The decoded predicted value P1(X) of X is calculated by adding the dequantized value of the quantized residual Q(X) to the predicted value PRED. Thus, the decoded predicted value P1(X) of X is obtained by P1(X)=PRED+ScalarDequant(δ2,Q(X)). For example, the nearest neighbor scalar quantization inverse function is given by ScalarDequant(Δ,x)=Δ×x.

[0106] Thus, the decoded predicted values ​​P1(X) allow predicting pixels in the current block that may not yet be processed. Moreover, the block P1 containing the decoded / reconstructed values ​​of the pixels of the current block is an ILR predictor (as opposed to a conventional intra predictor) of the current block.

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

[0108] According to a variant of the embodiment, the scanning order of the current block is lexicographical, ie from left to right and from top to bottom.

[0109] 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 - Alternating diagonal scan may be used.

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

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

[0112] In step E223, the quantized residual block R1 Q is coded to be transmitted to the decoder. Any known technique may be used to code the quantized coefficients of the conventional prediction residual, such as the method described in HEVC. For example, according to a variant of the embodiment, the quantized residual block R1 Q The values ​​of are coded using an entropy encoder in the data stream STR.

[0113] 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, the coding of the additional prediction residual R2 is optional. In practice, the coding of the additional prediction residual R2 is performed by determining the predicted version P1 and the quantized residual R1. Q It is possible to simply code the current block by

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

[0115] 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 is obtained, i.e., R2 = X b -P1 is formed. The next step corresponds to a conventional coding step on this residual R2.

[0116] In step E225, the residual R2 is transformed using a frequency transform to obtain the coefficient block R2 T is generated.

[0117] The transformation can be, for example, a DCT type transformation. Given a set of transformations E T2 It is possible to select the transformation to be used from the set E T2 is set to fit a particular statistic of the residual R2. T may be different from.

[0118] In step E226, the coefficient block R2 T is quantized using, for example, a quantization step scalar quantization δ. This results in block R2 TQ is generated.

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

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

[0121] In the known method, the current block is a quantized block R2 TQ The current block is decoded by dequantizing the coefficients of x, and then an inverse transform is applied to the dequantized coefficients to obtain a decoded prediction residual. The prediction P1 is then added to the decoded prediction residual to reconstruct the current block and its decoded version X rec Then, the decoded version X of the current block is obtained. rec can later be used to spatially predict other neighboring blocks of the image, or to predict blocks of other images by inter-image prediction.

[0122] When the current block is coded according to the second coding mode M2, a conventional intra-prediction mode is determined and associated with the current block. For this purpose, in step E228, an intra-prediction mode is determined for the current block in the list of intra-prediction modes available in the conventional intra-coding mode M1.

[0123] Several embodiment variations are possible.

[0124] According to one variant, a list of MPM prediction modes is generated for the current block according to the mechanism described above for coding according to the first coding mode M1. According to this variant, the prediction mode is determined as the first mode in the MPM list. According to this variant, this involves selecting the first element of the MPM list, so that only the lower part of the MPM list can be created.

[0125] In another variant, the prediction mode is predetermined. For example, it can be a prediction mode defined by default or transmitted in the data stream. For example, the predetermined prediction mode is the PLANAR mode of the HEVC standard.

[0126] According to another variant, the prediction mode is rec According to this variant, all prediction modes, or only some of them (e.g., the prediction modes included in the MPM list), are determined as the intra-prediction mode that best approximates the current decoded block X rec and the predicted block obtained by the evaluated prediction mode. The intra prediction mode that results in the smallest distortion is selected.

[0127] According to another variant, the prediction mode is determined as the intra-prediction mode that best approximates the predicted current block P1 obtained by ILR prediction. According to this variant, all prediction modes, or only some of them (for example, the prediction modes included in the MPM list), are evaluated by measuring the distortion between the predicted current block P1 and the predicted block obtained by the evaluated prediction mode. The intra-prediction mode that brings about the smallest distortion is selected.

[0128] According to another variant, for an ILR coded block, when there are several possible local predictors, the intra prediction mode may depend on the local predictor selected to predict the current block. For example, an association table known to the encoder and decoder indicates that the intra prediction mode should be associated with the current block according to the selected local predictor.

[0129] In step E229, the determined intra-prediction mode is associated with the current block. The idea here is to associate an intra-prediction mode, not to transmit it to the decoder. The method of determining the intra-mode to be associated with the current block is reproducible in the decoder, and no transmission of any information is required.

[0130] Several embodiment variants have been described above, and of course the encoder and decoder must implement the same variants.

[0131] The intra prediction mode associated with the current block is then - predicting the intra prediction mode of a subsequent block that is to be coded in a conventional intra mode, or - determining, where appropriate, an intra-prediction mode to be associated with a subsequent block to be coded according to another coding mode different from the conventional intra-prediction mode; This other coding mode could be an ILR coding mode, or other (such as inter).

[0132] In step E23 it is checked, taking into account the previously defined scanning order, whether the current block is the last block of the image to be processed by the coding method. If so, the method proceeds to the coding of the next image of the video, if any (step E25). If not, in step E24 the 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.

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

[0134] For example, the data stream STR has been generated by 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.

[0135] The decoding method decodes the stream picture by picture, and each picture is decoded block by block.

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

[0137] In an operational step E401, according to a particular embodiment of the invention, a quantization parameter QP is read from the data stream STR.

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

[0139] In step E42, an information item indicating the coding mode for the current block is read from the data stream STR. According to a particular embodiment described herein, this information item indicates whether the current block is coded according to a first coding mode M1 or according to 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 specified according to the HEVC standard, and the second coding mode M2 ​​corresponds to an in-loop residual (ILR) predictive coding.

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

[0141] When the current block is coded according to the first coding mode M1, a step E43 for decoding the current block is described below.

[0142] 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 similarly to what was 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 the quantization parameter QP 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.

[0143] In step E431, the prediction mode selected for coding the current block is decoded from the neighboring blocks: for this purpose, as it was 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.

[0144] According to one variant of a particular embodiment of the invention described herein, the intra prediction mode associated with a block is - if the block is coded by a conventional intra-prediction coding mode, the intra-prediction mode used to predict the block; - the intra-prediction mode associated with the block, if the block is coded with a coding mode other than conventional intra-prediction, examples of such associations are given below with reference to steps E449 and E450.

[0145] The construction of both MPM and non-MPM lists is exactly the same as what was done during coding. According to the HEVC standard, the following types of syntax elements are decoded: - A binary indicator that indicates whether the prediction mode to be coded for the current block is in the MPM list or not. - 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, an index in the non-MPM list corresponding to the prediction mode of the current block is coded.

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

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

[0148] 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

[0149] In step E434, the decoded block R TQ is dequantized using, for example, a quantization step scalar dequantization δ1, resulting in a dequantized coefficient block R TQD is generated.

[0150] In step E435, an inverse frequency transform is performed on the dequantized coefficient block R TQD is applied to the decoded prediction residual block R TQDI The transformation may be, for example, an inverse DCT type transformation. A predefined set of transformations E TIYou can select which transformation to use from:

[0151] In step E436, the current block is decoded by the predicted block P obtained in step E432 and the decoded residual block R obtained in step E435. TQDI The current block X is reconstructed and decoded from rec X rec =P+R TQDI Generated by:

[0152] In step E437, the intra-prediction mode decoded in step E431 is associated with the current block.

[0153] When the current block is coded according to the second coding mode M2, the step E44 for decoding the current block is described below.

[0154] 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, for example by default at the decoder level, and no syntax elements need to be read from the stream STR to determine it.

[0155] If several local predictors are available, such as the predictors PL1 to PL4 mentioned 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 thus determined from the decoded syntax element.

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

[0157] In step E442, the quantized residual RQ is decoded from the data stream STR. The quantized coefficients of the conventional prediction residual may be decoded using any known technique, such as the methods described in HEVC.

[0158] In step E443, the quantized residual block R1 Q is dequantized using a quantization step δ2 to obtain the dequantized residual block R1 QD is generated.

[0159] In step E444, the dequantized residual block R1 QD When p i is obtained, a predicted block P1 is constructed using the local predictor PL determined at step E440.

[0160] 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 a chosen predictor PL using either already reconstructed pixels outside the block or previously reconstructed pixels of the current block, or both, to obtain a predicted value PRED. In all cases, the predictor PL uses previously decoded pixels. The decoded predicted value P1(X) of the current pixel X is calculated by multiplying the predicted value PRED by the prediction residual R1 QD Therefore, P1(X)=PRED+R1 QD Becomes (X).

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

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

[0163] According to a particular embodiment of the invention, a predicted block P1 containing the decoded predicted values ​​P1(X) of each pixel of the current block is then calculated based on the decoded current block X rec Form.

[0164] According to another particular embodiment of the invention, it is taken into account in this case that an additional prediction residual has been coded for the current block, so that this additional prediction residual is decoded to obtain the current block X rec It is then necessary to reconstruct the decoded version of

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

[0166] When an additional prediction residual is to be 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.

[0167] In step E446, the quantized coefficient block R2 TQis dequantized using, for example, a quantization step scalar dequantization δ1. This results in a dequantized coefficient block R2 TQD is generated.

[0168] In step E447, an inverse frequency transformation is performed on block R2 TQD is applied to the decoded prediction residual block R2 TQDI is generated.

[0169] The inverse transform could for example be an inverse DCT type transform.

[0170] Given a set of transformations E T2 It is possible to select the transformation to be used from the set E T2 is set to fit a particular statistic of the residual R2. T is different.

[0171] In step E448, the current block is decoded based on the predicted block P1 obtained in step E444 using the decoded prediction residual R2 TQDI is reconstructed by adding

[0172] When the current block is decoded, a conventional intra-prediction mode is determined and associated with the current block. For this purpose, in step E449, an intra-prediction mode is determined for the current block in the list of intra-prediction modes available in conventional intra-coding modes. This determination is performed in the same way as it is performed at the encoder level.

[0173] In step E450, the determined intra-prediction mode is associated with the current block.

[0174] In step E45 it is checked, taking into account the previously defined scanning order, whether the current block is the last block of the image to be processed by the decoding method. If so, the method proceeds to the decoding of the next image of the video, if any (E47). If not, 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, with the selected block becoming the current block to be processed.

[0175] 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. For example, the signal STR may comprise a quantization parameter QP for determining the above-mentioned quantization steps δ1 and δ2. This quantization parameter QP may be coded at the block level or at the level of an image or image sequence when coding a video.

[0176] The signal STR includes, for a block of the image, a coded indicator TY indicating the coding mode for that block. When the TY indicator indicates that the block is coded according to a second coding mode, in this case the ILR mode, the signal includes a quantized prediction residual R1 Q and the quantized transformed prediction residual R2 TQ When several local predictors are possible for the current block, the signal also includes a local predictor PL coded indicator.

[0177] When the indicator TY indicates that the block is coded according to a first coding mode, in this case a conventional intra-prediction mode, the signal includes a 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 Includes.

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

[0179] 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 comprises, inter alia, a memory MEM, a processing unit UT equipped with, for example, a processor PROC and driven by a computer program PG stored in the memory MEM. The computer program PG contains instructions for implementing the steps of the coding method described above when the program is executed by the processor PROC.

[0180] During initialization, the code instructions of the computer program PG are loaded, for example, into a RAM memory (not shown) and then executed by the processor PROC, which in particular performs the steps of the coding method described above according to the instructions of the computer program PG.

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

[0182] According to a particular embodiment of the invention, the decoding device DEC has the standard architecture of a computer and comprises, inter alia, 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 contains instructions for carrying out the steps of the above-mentioned decoding method when the program is executed by the processor PROC0.

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

[0184] A, B, C pixels A b , B b Adjacent Blocks Distortion DIFF E T A set of predefined transformations E T2 A set of predefined transformations E TI A set of predefined transformations I1, I2, …, I Nb Image sequence I j image M1 First coding mode M2 Second coding mode P predicted block P1(X) Predicted value PL local predictor PL1, PL2, PL3, PL4 local predictors PRED Predicted value QP Quantization parameter Q(X) Value R Rate R Predicted residuals, residual blocks R1 Prediction Residual R2 Prediction residual, difference R1 Q Prediction Residual Block R1 QD Residual Block R2 T Coefficient Block R2 TQ block R2 TQD block R2 TQDI Prediction Residuals R T block R TQ Prediction Residual Block R TQD Coefficient Block R TQDI Prediction Residual Block STR Data Stream TY indicator X Current pixel X b Current Block X rec The current block being decoded idx MPM Index i MPM Binary Indicators m A , m B Intra Prediction Mode λ Lagrange multiplier δ quantization step δ1 quantization step scalar quantization, quantization step δ2 quantization step COD coding device DEC Decoding Device MEM, MEM0 Memory PG, PG0 Computer Program PROC, PROC0 processor UT, UT0 Processing Unit

Claims

1. A method for decoding a coded data stream representative of at least one image divided into blocks, comprising, for at least one block of said image, called current block, the steps of: - determining (E42) whether the current block is coded according to a first coding mode, an intra coding mode, or according to another coding mode, a second coding mode, the first coding mode being a coding mode using an intra prediction mode chosen from a group of intra prediction modes defined according to at least one intra prediction mode associated to a neighbouring block of the current block, and the second coding mode being a coding mode, the current block being obtained pixel by pixel according to a local prediction function using previously reconstructed neighbouring pixels of the current pixel; - when the current block is coded according to the first coding mode, - determining (E431) for a current block an intra prediction mode in said group of intra prediction modes defined in accordance with at least one intra prediction mode associated with a previously decoded block of said image; - decoding the current block according to the determined intra-prediction mode (E43); - associating (E437) said determined intra prediction mode with said current block; - when the current block is coded according to the second coding mode, - a step (E44) of decoding said current block according to said second coding mode; - determining (E449) for the current block an intra prediction mode within said group of intra prediction modes; - associating (E450) said determined intra prediction mode with said current block; The method includes:

2. A method for coding a coded data stream representative of at least one image divided into blocks, comprising, for at least one block of said image, called current block, the following steps: - determining (E20) whether the current block is coded according to a first coding mode, an intra coding mode, or according to another coding mode, a second coding mode, the first coding mode being a coding mode using an intra prediction mode chosen from a group of intra prediction modes defined according to at least one intra prediction mode associated to a neighboring block of the current block, and the second coding mode being a coding mode, the current block being obtained pixel by pixel according to a local prediction function using previously reconstructed pixels neighboring the current pixel, - when the current block is coded according to the first coding mode, - determining (E211) for a current block an intra prediction mode in said group of intra prediction modes defined in accordance with at least one intra prediction mode associated with a previously decoded block of said image; - coding the current block according to the determined intra prediction mode (E21); - associating (E217) said determined intra prediction mode with said current block; - when the current block is coded according to the second coding mode, - coding (E22) said current block according to said second coding mode; - determining (E228) for said current block an intra prediction mode within said group of intra prediction modes; - associating said determined intra prediction mode with said current block (E229); The method includes:

3. said determining of an intra prediction mode in a group of intra prediction modes defined according to at least one intra prediction mode associated with a previously decoded block of said image comprises constructing a list including a subset of intra prediction modes selected from said group of intra prediction modes according to said at least one intra prediction mode associated with a previously decoded block of said image; When the current block is coded according to the second coding mode, the determination of an intra-prediction mode in the group of intra-prediction modes includes the configuration of at least a portion of the list for the current block, and the determined intra-prediction mode corresponds to a first intra-prediction mode in the list. The method according to claim 1 or 2.

4. A method as described in claim 1 or 2, wherein when the current block is coded according to the second coding mode, the determined intra prediction mode corresponds to a predetermined prediction mode.

5. 3. The method of claim 1, wherein when a current block is coded according to the second coding mode, the intra prediction mode determined for the current block corresponds to an intra prediction mode selected from at least a subset of the group of intra prediction modes as providing a predicted block for the current block, the predicted block having a minimum distortion calculated between the predicted block and the decoded current block.

6. 3. The method of claim 1, wherein when the current block is coded according to the second coding mode, the decoding of the current block includes a prediction of the current block to give a first predicted current block, and the intra prediction mode determined for the current block corresponds to an intra prediction mode selected from at least a subset of the group of intra prediction modes to give a second predicted block for the current block, the second predicted block having a minimal distortion calculated between the second predicted block and the first predicted current block.

7. the prediction of the current block giving a first predicted current block comprises, for each pixel of the current block, obtaining a prediction of said pixel from another previously decoded pixel, said other previously decoded pixel belonging to the current block or to a previously decoded block of the image; if the other previously decoded pixels belong to the current block, the other previously decoded pixels are - decoding a prediction residual associated with a corresponding pixel to be decoded; - reconstructing the pixel to be decoded by adding a prediction of the pixel to the decoded prediction residual; The method of claim 6, obtained by

8. When the current block is coded according to the second coding mode, the decoding of the current block comprises: - determining a local prediction function for the current block from a group of predefined local prediction functions; - predicting said current block for each pixel of the current block; - obtaining a prediction of said pixel according to said local prediction function using at least one previously decoded pixel adjacent to said pixel, said previously decoded pixel belonging to said current block or to a previously decoded block of said image; Including, the intra prediction mode determined for the current block corresponds to an intra prediction mode selected from the group of intra prediction modes according to the local prediction function. The method according to claim 1 or 2.

9. The method of claim 8 , wherein the intra-prediction mode of a current block is determined from a correspondence table that associates intra-prediction modes with local prediction functions of the group of predefined local prediction functions.

10. For a block adjacent to a current block, which is located after the current block according to a scanning order of blocks of the image for coding or decoding, and which is coded according to the intra-coding mode, the method comprises: - determining for a current block an intra prediction mode in a group of intra prediction modes according to at least an intra prediction mode associated with the current block; - decoding or coding the neighboring blocks according to the determined intra-prediction mode; - associating the determined intra prediction mode with the neighboring blocks; 3. The method of claim 1 or 2, comprising:

11. For a neighboring block of a current block that is located after the current block according to a scanning order of blocks of the image for coding or decoding, and that is coded according to the second coding mode, the method further comprises: - decoding or coding the neighboring block according to the second coding mode; - determining, for said neighboring block, an intra-prediction mode in said group of intra-prediction modes defined according to the intra-prediction mode associated with a current block; - associating the determined intra prediction mode with the neighboring blocks; 3. The method of claim 1 or 2, comprising:

12. 1. An apparatus for decoding a coded data stream representative of at least one image divided into blocks, comprising a processor, the processor determining for at least one block of the image, referred to as a current block: - determining whether the current block is coded according to a first coding mode, an intra coding mode, or according to another coding mode, a second coding mode, where the first coding mode is a coding mode using an intra prediction mode selected from a group of intra prediction modes defined according to at least one intra prediction mode associated with a neighboring block of the current block, and the second coding mode is a coding mode where the current block is obtained pixel-by-pixel according to a local prediction function using previously reconstructed pixels neighboring the current pixel; when the current block is coded according to the first coding mode, - determining for a current block an intra prediction mode in the group of intra prediction modes defined in accordance with at least one intra prediction mode associated with a previously decoded block of said image; - decoding the current block according to the determined intra-prediction mode; and - associating the determined intra-prediction mode with the current block; and when the current block is coded according to the second coding mode, - decoding the current block according to the second coding mode; and - determining an intra-prediction mode in the group of intra-prediction modes for the current block; - associating the determined intra-prediction mode with the current block; and [0023] Device.

13. 1. An apparatus for coding a coded data stream representative of at least one image divided into blocks, comprising a processor, the processor determining for at least one block of the image, referred to as a current block: - determining whether the current block is coded according to a first coding mode, an intra coding mode, or according to another coding mode, a second coding mode, the intra coding mode being a coding mode using an intra prediction mode selected from a group of intra prediction modes defined according to at least one intra prediction mode associated with a neighboring block of the current block, the second coding mode being a coding mode in which the current block is obtained pixel-by-pixel according to a local prediction function using previously reconstructed pixels neighboring the current pixel; when the current block is coded according to the first coding mode, - determining for a current block an intra prediction mode in the group of intra prediction modes defined in accordance with at least one intra prediction mode associated with a previously decoded block of said image; - coding the current block according to the determined intra-prediction mode; and - associating the determined intra-prediction mode with the current block; and when the current block is coded according to the second coding mode, - coding the current block according to the second coding mode; and - determining for a current block an intra prediction mode in said group of intra prediction modes; - associating the determined intra-prediction mode with the current block; and [0023] Device.

14. A computer program comprising instructions for carrying out, when executed by a processor, a decoding method according to any one of claims 1 or 3 to 11 or a coding method according to any one of claims 2 to 11.

15. A computer-readable storage medium comprising computer program instructions for, when executed by a processor, performing the decoding method of any one of claims 1 or 3 to 11 or the coding method of any one of claims 2 to 11.

Citation Information

Patent Citations

  • FR02987966A1

  • Method and apparatus for encoding hybrid intra-inter coded blocks

    JP2007503775A

  • Method and apparatus for encoding video using predictive data refinement

    JP2010507335A

  • Method and device for encoding images using separate encoding modes, decoding method and device, and corresponding computer programs

    WO2010086562A1