Method for encoding and decoding images of a video sequence and associated device
By using the BDPCM mode to encode the blocks of chrominance components in the video sequence and selecting the encoding mode according to the evaluation results, the problem of insufficient image compression rate in the prior art is solved, and the encoding efficiency of the video sequence is improved.
Patent Information
- Application Number
- CN202080046806.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-06-25
- Filing Date
- 2020-06-24
- Publication Date
- 2025-01-14
- Estimated Expiration
- 2040-06-24
AI Technical Summary
Existing video compression standards are difficult to effectively improve the image compression rate of video sequences, especially in terms of encoding chrominance components, especially when the image component sizes are different.
Block differential pulse coding modulation (BDPCM) mode is used to encode blocks of chrominance components, and select appropriate encoding modes based on predetermined standards and evaluation results, including evaluating and encoding blocks of luminance and chrominance components to improve image compression gain .
Through the application of BDPCM mode, the image compression rate of video sequences is improved, suitable for scenes with different image component sizes, and the encoding efficiency is enhanced.
Smart Images

Figure CN114051729B_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to the technical field of video compression.
[0002] More specifically, the invention relates to a method for encoding and decoding images of a video sequence and to an associated device. Background Art
[0003] Video compression standards such as HEVC (e.g. "High Efficiency Video Coding" described in "High Efficiency Video Coding, Coding Tools and Specifications", Matthias Wien, Signal and Communication Technologies, 2015) and post-HEVC standards describe a step of predicting a portion of the image to be coded from a reference image. This can be in the same image as the considered area (INTRA prediction mode) or in another image of the video sequence (INTER prediction mode).
[0004] The block element prediction mode called BDPCM ("Block Differential Pulse Code Modulation") consists in predicting the value of an image pixel based on the values of one or several neighboring pixels of the image pixel. There are different alternatives to this mode. A first alternative is the prediction based on quantized residuals, as described in "CE8-Related: Quantized Residual BDPCM, Marta Karczewicz, Video Experts Group (JVET) of ITU-T SG 16 WP3 and ISO / IEC JTC 1 / SC 29 / WG 11, 14th Meeting: Geneva, Switzerland, 19-27 March 2019". The second alternative is based on the values of reconstructed pixels located in the vicinity of the considered region, as described in "CE8: BDPCM with horizontal / vertical predictors and independently decodable regions (Test 8.3.1b), Mohsen Abdoli, Gordon Clare, Félix Henry, Pierrick Philippe, Joint Video Experts Group (JVET) of ITU-T SG 16 WP3 and ISO / IEC JTC 1 / SC 29 / WG 11, 13th Meeting: Marrakech, Morocco, 9-18 January 2019." Summary of the invention
[0005] In this context, the present invention proposes a method for encoding an image of a video sequence, the image comprising at least two components, including a component representing luminance and a component representing chrominance, each component being divided into blocks, wherein the method comprises encoding at least one block of the chrominance component using a so-called BDPCM mode.
[0006] Using the BDPCM mode to encode blocks of chrominance components makes it possible to improve image compression gain.
[0007] Further non-limiting and advantageous features of the method according to the invention, considered individually or in all technically possible combinations, are as follows.
[0008] According to an embodiment, when a predetermined criterion is satisfied, at least one block of a chrominance component may be encoded using the BDPCM mode.
[0009] Chroma components to which the BDPCM mode is applied may thus be selected, for example when these chroma components meet predetermined criteria.
[0010] For example, when the two components have the same size, the predetermined criterion is met.
[0011] The criterion may also be a coding criterion indicating a choice operated by an encoder suitable for implementing the coding method. Such a choice operated by the encoder is for example generated by an analysis of the video sequence. Thus, the choice of the encoder may depend on a histogram, in other words a statistical diagram, which represents the distribution of pixel intensities, i.e. the number of pixels of each light intensity, in one or more images of the video sequence.
[0012] According to an embodiment, the encoding may further include encoding information indicating a BDPCM mode for encoding the blocks of the chrominance component.
[0013] According to an embodiment, when a predetermined criterion is met, an indicator for the block of chroma components is encoded, which indicator signals the use of the BDPCM mode.
[0014] According to another aspect, the present invention also proposes a method for encoding an image of a video sequence, the image comprising at least two components, including a component representing brightness and a component representing chrominance, each component being divided into blocks, wherein the method comprises, for at least one block of the chrominance component, evaluating a so-called BDPCM mode and another mode for encoding the block, and selecting one of the modes for encoding the block based on the evaluation result, and encoding information representing the selected mode for encoding the block.
[0015] If the evaluation result is satisfactory, the BDPCM mode is evaluated for at least one block of the chrominance component so that the BDPCM mode can be applied. Thus, the image compression gain is improved. If the evaluation does not give a satisfactory result, the chrominance component that is not related to the application of the BDPCM mode can be set aside.
[0016] According to an embodiment, when a predetermined criterion is satisfied, the BDPCM mode and another mode may be evaluated for at least one block of a chroma component.
[0017] According to an embodiment, the predetermined criterion may be satisfied when the two components are of the same size.
[0018] According to an embodiment, encoding may further include encoding information signaling a sampling format of an image, the information indicating the size of the component.
[0019] According to an embodiment, the evaluation may comprise encoding the considered block of the chrominance component according to the BDPCM mode on the one hand and according to another mode on the other hand, and selecting the block encoded according to the BDPCM mode or the block encoded according to the other mode according to another predetermined criterion, such as rate-distortion cost.
[0020] According to an embodiment, the method may further include evaluating, for at least one block of the luminance component, a so-called BDPCM mode and another mode for encoding the block of the luminance component, and encoding information representing one of the modes for encoding the block of the luminance component based on the evaluation result.
[0021] According to an embodiment, the components preferably have the same block division and the image encoding is performed block by block.
[0022] Instead, image encoding is performed component by component.
[0023] According to an embodiment, encoding may also include, for the image under consideration,
[0024] First information related to at least the image is encoded, the first information indicating that the BDPCM mode can be used to encode at least one block of at least one component of the image, and if the first information indicates that the BDPCM mode can be used to encode at least one block of at least one component of the image, second information related to at least the image is encoded, the second information indicating that the BDPCM mode can be used to encode at least one block of the chrominance component of the image.
[0025] According to an embodiment, the method may include, for at least one block of a chrominance component, if second information associated with the image indicates that the BDPCM mode can be used to encode at least one block of the chrominance component of the image, encoding an indicator associated with at least one block of the chrominance component, the indicator indicating that the BDPCM mode is used to encode the block of the chrominance component.
[0026] According to an embodiment, the method may comprise, for at least one block of a chrominance component, encoding an indicator associated with said block, if a criterion is met, indicating that the BDPCM mode is used for encoding said block of chrominance components.
[0027] According to an embodiment, the image also includes a second chroma component having the same partition as another chroma component, and if the BDPCM mode is selected for the block of the other chroma component, the information related to the block of the other chroma component may include an indicator indicating that the BDPCM mode is selected for the block of the other chroma component and the corresponding block of the second chroma component, and a direction indicator for determining a block predictor for the block of the other chroma component and the corresponding block of the second chroma component.
[0028] According to an embodiment, the block is formed by elements, and encoding of the block using the BDPCM mode may include encoding, for at least one element of the block, a quantized value of a residual representing the difference between a first and a second value, the first value corresponding to the quantized value of the difference between the value of the considered element and a reference element whose position is signaled by a given direction, and the second value corresponding to the quantized value of the difference between the other element and another reference element signaled by the given direction.
[0029] According to another aspect, the invention also proposes a method for encoding an image of a video sequence, the image comprising at least two components, including a component representing luminance and a component representing chrominance, the luminance and chrominance components having the same block partitioning, wherein the method may comprise, for at least one block of the luminance component, evaluating a so-called BDPCM mode and a further mode for encoding said block; and
[0030] According to the evaluation result, one of modes for encoding the block of the luminance component and the corresponding block of the chrominance component is selected, and information indicating the selected mode for encoding the block of the luminance component and the corresponding block of the chrominance component is encoded.
[0031] Preferably, if the BDPCM mode is selected, the information relates to a block of a luminance component and includes an indicator indicating that the mode selected for the block of the luminance component and the corresponding block of the chrominance component is the BDPCM mode, and a direction indicator for determining a block predictor for the block of the luminance component and the corresponding block of the chrominance component.
[0032] According to another aspect, the invention also proposes a method for decoding a coded image from a coded video data stream, the image comprising at least two components, including a component representing brightness and a component representing chrominance, each component being divided into blocks, wherein the method comprises decoding information indicating whether, for at least one block of the chrominance component, it was encoded using a so-called BDPCM mode.
[0033] When the image also comprises a second chrominance component having the same partitioning as said chrominance component (or the "first" chrominance component), the value decoded from said information may also be used to indicate whether a corresponding block of said second chrominance component was encoded using the so-called BDPCM mode.
[0034] The value decoded from the information may also indicate a direction in which the block of the (first) chroma component and the corresponding block of the second chroma component are allowed to be decoded according to the direction according to the corresponding block predictor.
[0035] According to another aspect, the present invention also proposes a method for decoding an encoded image from an encoded video data stream, the image comprising at least two components, including a component representing brightness and a component representing chrominance, each component being divided into blocks, wherein the method comprises decoding first information representing a coding standard, and if a value decoded from the information indicates that the coding standard is met, decoding second information indicating whether, for at least one block of the chrominance component, it is encoded using the so-called BDPCM mode.
[0036] Preferably, for the last two above-mentioned aspects of the present invention, the image may further include a second chrominance component having the same partitioning as another chrominance component, and the value decoded from the second information is further used to indicate whether the corresponding block of the second chrominance component is encoded using the so-called BDPCM mode, wherein the value decoded from the second information may further indicate a direction in which the blocks of the other chrominance component and the corresponding blocks of the second chrominance component are allowed to be decoded according to the direction according to the corresponding block predictor.
[0037] Preferably, the method may further comprise decoding further information indicating whether, for at least one block of the chrominance component, it is encoded using a so-called BDPCM mode.
[0038] As already indicated, the coding standard may for example indicate a choice operated by an encoder that has encoded the video data stream. This choice operated by the encoder may result from an analysis of the video data stream.
[0039] According to another aspect, the present invention also proposes a method for decoding an encoded image from an encoded video data stream, the image comprising at least two components, including a component representing brightness and a component representing chrominance, each component being divided into blocks, wherein the method comprises decoding first information associated with at least the image, the first information indicating that the BDPCM mode can be used to decode at least one block of at least one component of the image, and if the first information indicates that the BDPCM mode can be used to decode at least one block of at least one component of the image, decoding second information associated with at least the image, the second information indicating that the BDPCM mode can be used to decode at least one block of the chrominance component of the image.
[0040] The method may further include, if second information associated with the image indicates that the BDPCM mode can be used to decode at least one block of a chrominance component of the image, decoding an indicator associated with the at least one block of the chrominance component, the indicator indicating that the BDPCM mode can be used to decode the block of the chrominance component.
[0041] According to another aspect, the present invention also proposes a method for decoding a coded image from a coded video data stream, the image comprising at least two components, including a component representing luminance and a component representing chrominance, which have the same block partitioning, wherein the method comprises decoding first information representing a coding standard, and if a value decoded from the information indicates that the coding standard is met, decoding second information related to at least one block of the luminance component, the second information indicating whether the block of the luminance component and the corresponding block of the chrominance component are encoded using a so-called BDPCM mode.
[0042] According to another aspect, the present invention also proposes a device for encoding an image of a video sequence, the image comprising at least two components, including a component representing brightness and a component representing chrominance, each component being divided into blocks, wherein the device comprises at least one microprocessor configured to implement the step of encoding at least one block of the chrominance component using the so-called BDPCM mode.
[0043] According to another aspect, the invention also proposes a device for decoding a coded image from a coded video data stream, the image comprising at least two components, including a component representing brightness and a component representing chrominance, each component being divided into blocks, wherein the device comprises at least one microprocessor configured to implement a step of decoding information indicating whether, for at least one block of the chrominance component, it was encoded using the so-called BDPCM mode. DETAILED DESCRIPTION
[0044] Furthermore, various other features of the present invention will emerge from the accompanying description made with reference to the accompanying drawings which illustrate non-limiting embodiments of the present invention and in which:
[0045] - Figure 1 Different color formats are shown;
[0046] - Figure 2 shows different color components according to a given color format;
[0047] - Figure 3 A first embodiment of the encoding method according to the present invention is shown;
[0048] - Figure 4 A second embodiment of the encoding method according to the present invention is shown;
[0049] - Figure 5 A third embodiment of the encoding method according to the present invention is shown;
[0050] - Figure 6 A fourth embodiment of the encoding method according to the present invention is shown;
[0051] - Figure 7 A fifth embodiment of the encoding method according to the present invention is shown;
[0052] - Figure 8 A first embodiment of a decoding method according to the present invention is shown;
[0053] - Fig. 9 A second embodiment of the decoding method according to the present invention is shown;
[0054] - Fig.10 An exemplary implementation of the steps of an embodiment of the encoding / decoding method according to the present invention is shown; and
[0055] - Fig.11 An embodiment of the device according to the invention is schematically shown.
[0056] Figure 1 It is shown that for a given color standard (e.g., the "YUV" or "YCbCr" standard), different sampling modes are easily applied to the components representing the chrominance of an image. Traditionally, an image includes a component representing brightness, here denoted as Y (hereinafter referred to as the "luminance component" or "luminance" for simplicity), and two chrominance components (hereinafter referred to as the "chrominance components" or "chrominance" for simplicity). The latter are Figure 1 In the figure, they are represented as Cb and Cr respectively.
[0057] Figure 1 Three formats are shown for an image area consisting of 8 pixels Pxi, each format being associated with a sampling pattern forming two blocks of 2 pixels by 2 pixels. Human vision is less sensitive to color than to brightness and usually retains less chrominance information than brightness information without degrading the perceived quality of the image in this way.
[0058] In the so-called 4:4:4 first format or first structure, none of the components is subsampled. Each pixel Pxi comprises three color components.
[0059] In the so-called 4:2:2 second format, every other pixel is subsampled for the chroma components.
[0060] In the so-called 4:2:0 third format, only the chrominance component of the first pixel of a block formed of four pixels (2 pixels*2 pixels) is retained.
[0061] Other formats exist, and the examples given above are not exhaustive.
[0062] Therefore, if Figure 2 As shown, for the 4:2:0 format, when the chrominance components Cb and Cr are subsampled, their sizes are lower than the size of the luma component Y. For example, for the 4:2:0 format, the sizes of the chrominance components Cb and Cr are divided by 4 relative to the luma size.
[0063] Each component is divided into blocks BLC. Block division is useful for Figure 2 Each component shown may be the same, or specific to one or a group of components.
[0064] exist Figure 3 In the first embodiment shown, it is proposed to encode at least one block of the chrominance component in a step E1 according to the so-called BDPCM (“Block Differential Pulse Code Modulation”) mode, in particular when a predetermined criterion CT is met.
[0065] As an alternative, for example, the BDPCM mode may be applied by default.
[0066] Applying the BDPCM mode to chrominance allows to improve the data compression rate. When a certain criterion is met, the mode can be applied in a way that does not increase the complexity of the encoding method, for example. Different possible criteria are described below.
[0067] These so-called coding standards are not associated with the quality of the compression itself, but rather with the decision of the encoder to use or not to use a tool based on considerations such as: encoding time, relevance of the tool in question to the type of content to be encoded, energy consumption or target data rate (this list is not exhaustive).
[0068] In other words, a coding standard is a general choice of the encoder with respect to a coding context that is prone to change from one content to another or with respect to target performance. It is therefore different from a standard that is generated based solely on local information specific to the block in question or an implementation choice made by the user.
[0069] As mentioned above, there are several alternatives to the BDPCM mode.
[0070] In the first alternative (called R-BDPCM) described in the above-mentioned article "CE8-Related: Quantized Residual BDPCM": When encoding the luminance component of a block according to the BDPCM mode, directional information (e.g., an indicator) of the considered luminance block is encoded. The indicator indicates the vertical or horizontal direction.
[0071] In this first alternative, an INTRA type prediction is first performed on the elements of the block under consideration. This prediction is the same as that described in the HEVC standard. Thus, if the direction indicator of the block corresponds to the horizontal direction, horizontal INTRA prediction is applied, that is, the value of the element of the block under consideration (or one of its components) is predicted based on the value of the neighboring element to the left of the element. Otherwise, vertical INTRA prediction is applied, that is, the value of the element of the block under consideration (or one of its components) is predicted based on the value of the neighboring element above the element. The value of the element of the luminance component of the considered prediction block located at row i and column j of the block is denoted P(i, j), the elements of a block being organized into rows and columns (i and j are integers).
[0072] Secondly, the prediction residual RES1 of each element P(i, j) is calculated as follows:
[0073] RES1(i,j)=P(i,j)-PRED1(i,j)
[0074] Wherein, if the defined prediction direction is horizontal, then PRED1(i,j) is the predictor equal to the element REFLEFT(i,j) to the left of P(i,j), or if the defined prediction direction is vertical, then PRED1(i,j) is the predictor equal to the element REFTOP(i,j) above P(i,j).
[0075] The calculated prediction residual RES1(i,j) is then quantized into a quantized residual denoted as QRES1(i,j) of the element P(i,j).
[0076] If a previous INTRA prediction has been made in the horizontal direction, the so-called residual value R(i, j) is obtained as follows:
[0077] R(i,0)=QRES1(i,0)
[0078] R(i,j)=QRES1(i,j)-QRES1(i,j-1) for j≠0.
[0079] If a previous INTRA prediction has been made in the vertical direction, the value R(i, j) is generated as follows:
[0080] R(0,j)=QRES1(0,j)
[0081] R(i,j)=QRES1(i,j)-QRES1(i-1,j) for i≠0.
[0082] Thereafter, all values R(i, j) are encoded in a known manner, such as the encoding of the residual coefficients of the HEVC standard.
[0083] During decoding of the coded data stream, if the prediction direction transmitted in the stream is horizontal, the quantized residual QRES1(i,j) is reconstructed as follows:
[0084] QRES1(i, j)=∑ j k=0 R(i,k).
[0085] During decoding, if the prediction direction is vertical, the quantized residual QRES1(i,j) is reconstructed as follows:
[0086] QRES1(i, j)=∑ i k=0 R(k,j).
[0087] Then, a reconstructed version REC1(i,j) of the pixel P(i,j) can be reconstructed from the prediction direction and the quantized residual QRES1(i,j) by adding the dequantized value of QRES1(i,j) to the predictor PRED1(i,j).
[0088] In the second alternative (called S-BDPCM) described in the above-mentioned article "CE8: BDPCM with horizontal / vertical predictors and independently decodable areas (Test 8.3.1b)", direction information (e.g., an indicator) is also encoded for the luma component in the considered block. Again, the indicator indicates the vertical or horizontal direction.
[0089] In this alternative, the elements are processed one after another in a defined order. If the direction indicator corresponds to a horizontal prediction direction, first all the elements of the first column of the block (on the left) are processed, then all the samples of the second column, and so on until the last column of the block. Within a column, the elements can be processed in parallel or in a different order. The reference element PRED2(i, j), called predictor element, allows to predict the element of the considered block located on the i-th row of the j-th column. We obtain:
[0090] PRED2(i,0)=REFLEFT(i)
[0091] PRED2(i, j) = REC2(i, j-1) for j≠0, where
[0092] REFLEFT(i) is the reference element to the left of the block and on the i-th row (i.e. belonging to the decoded neighboring block), and
[0093] REC2(i, j-1) is the reconstructed element of the block under consideration located at the i-th row and the (j-1)-th column (ie, immediately to the left of the element under consideration).
[0094] If the direction indicator corresponds to a vertical prediction direction, all elements of the first row (at the top) of the block are processed, then all samples of the second row are processed, and so on until the last row. Within the same row, the elements may be processed in parallel or in a different order. Similarly, a reference element PRED2(i, j), called a predictor element, for predicting an element located on the i-th row of the j-th column of the considered block is obtained as follows:
[0095] PRED2(0,j)=REFTOP(j)
[0096] PRED2(i, j) = REC2(i-1, j) for i≠0, where
[0097] REFTOP(i) is the reference element in the jth column above the considered block (i.e., belonging to the decoded neighboring block);
[0098] REC2(i-1,j) is the decoded (or reconstructed) element of the block under consideration located at the (i-1)th row and the jth column (thus, immediately above the current element).
[0099] The corresponding residual RES2(i,j) is then calculated by the difference between the original value of the element located on the i-th row of the j-th column of the block under consideration and PRED(i,j).
[0100] The residual RES2(i,j) is quantized in such a way as to obtain a quantized residual: QRES2(i,j).
[0101] During decoding, the quantized residual obtained from the encoded video stream and transmitted to the decoder is then dequantized to obtain the dequantized residual: DQRES2(i,j).
[0102] Then the reconstructed value REC2(i, j) of the considered element is obtained according to the following formula:
[0103] REC2(i,j)=PRED2(i,j)+DQRES2(i,j),PRED2(i,j) It should be noted that REC2(i,j) is used to predict the next element in the element processing order.
[0104] Note that in the case where the quantization used in the above alternatives is uniform scalar quantization, the first and second alternatives are equivalent. In fact, it is assumed that the prediction is horizontal (the reasoning is the same in the case of vertical prediction) and the uniform scalar quantization uses a quantization spacing δ. In this case, according to the first alternative, the reconstructed element REC1(i, j) is written as:
[0105] REC1(i,j)=REFLEFT(i)+∑ j k=0 QRES1(i, k)*δ.
[0106] According to the second alternative, the reconstruction element REC2(i, j) is written as:
[0107] REC2(i,j)=PRED2(i,j)+DQRES2(i,j)
[0108] =REC2(i,j-1)+QRES2(i,j)*δ
[0109] =REC2(i,j-2)+(QRES2(i,j-1)+QRES2(i,j))*δ
[0110] …
[0111] =REFLEFT(i)+∑ j k=0 QRES2(i, j)*δ
[0112] Thus, in both cases, the reconstructed element is equal to the value of the reference element REFLEFT(i) to which is added the sum of the quantized residual values of the previous reconstructed elements, multiplied by the quantization step. In the following, the word BDPCM will be used to indifferently denote one or the other alternative.
[0113] The predetermined standard CT to be met may involve the image color format. For example, when an image or several images or all images of a video sequence are not subsampled, at least one block of the chrominance component of one or several images is encoded using the BDPCM mode. Another predetermined standard CT may be based on the overall content of one or several images or the content of one of its components. For example, the overall content may be analyzed by the encoder using a histogram. Based on the analysis results, the encoder selects whether to implement the encoding mode. For example, if an image or a component of an image includes an image of a specific format such as "screen content", at least one block of the chrominance component of the image is encoded using the BDPCM mode. Another predetermined standard may be the gain generated if the BDPCM mode is used to encode a block of a chrominance component, i.e., whether the gain is higher than a predetermined threshold. The list of standards mentioned above is not exhaustive. A person skilled in the art may use another standard not mentioned here, which, when met, involves encoding at least one block of the chrominance component of the image.
[0114] Figure 4 Another embodiment of the invention is shown which comprises, in addition to step E1, a step E2 of encoding information indicating a BDPCM mode for encoding blocks of chrominance components.
[0115] This information may be a binary indicator at block level (ie relating to the block under consideration) which, when activated for a block of chroma components, indicates that the BDPCM mode is used for encoding the block in question.
[0116] Furthermore, if both chroma components have the same block partitioning, information related to a block of a chroma component may also be valid for the corresponding block of the other chroma component. A single indicator is signaled at the level of a block of the first chroma component. In other words, a single indicator indicates whether the BDPCM mode is used for encoding a block of the (first) chroma component on the one hand and for encoding a corresponding block in the other (or second) chroma component on the other hand.
[0117] Preferably, the information may also indicate the prediction direction, vertical or horizontal.As for the previous indicator, the direction information may be a binary indicator signaled only for blocks of the first chroma component and also valid for corresponding blocks of the second chroma component.
[0118] Figure 5 Another embodiment of the invention is shown. This embodiment comprises a step E10 which comprises, in particular if the standard CT is met, evaluating the BDPCM mode and another mode for a block of coded chrominance components. Alternatively, step E10 may be independent of the standard CT. In another alternative, if the segmentation of the luminance and chrominance components is the same, the corresponding luminance block may be evaluated and the selected mode may then be used directly for coding the chrominance components.
[0119] Another mode may be, for example, a coding mode with only INTRA prediction or INTER prediction mode, as described in the HEVC standard. The evaluation here includes encoding the chrominance components of the block under consideration according to the BDPCM mode on the one hand and according to another mode on the other hand. Blocks of chrominance components encoded according to the BDPCM mode or another mode are selected according to another predetermined criterion. The other predetermined criterion may be, for example, a rate-distortion cost. If the cost is above a given threshold, then in this case, the BDPCM mode is not used to encode the chrominance components of the block under consideration.
[0120] Step E11 then comprises encoding information representative of the other coding mode of the block of chrominance components. Step E12, in contrast, comprises encoding information representative of the BDPCM mode used to encode the block of chrominance components.
[0121] Steps E11 and E12 may also comprise encoding information representative of a standard CT, if the latter is taken into account in the previous step. For example, if the criterion to be met is to have the same size for the luminance and chrominance components, steps E11 and E12 may also comprise encoding information signaling the image sampling format. If this information indicates that the color format is 4:4:4, the standard CT is met, since in this format the color components have the same size. For example, if the images of a video sequence may be of format 4:4:4 or of format 4:2:0, this information may be a binary indicator which, when activated, signals that the image (or the sequence, if it is used at the sequence level) is of format 4:4:4.
[0122] Figure 6 An embodiment is shown in which several components of a block of an image are encoded. Here, the encoding is performed component by component. All blocks of the same component are encoded before encoding blocks of another component. This embodiment is particularly applicable if the components have different partitions.
[0123] In a first step E400, a first component is considered, for example a luminance component. Then, for this selected luminance component, a first block is considered, E401. It is encoded according to the method selected in step E402. For example, the method may consist in evaluating a BDPCM mode and another mode and then selecting the coded block that yields the lowest rate-distortion cost. During a test T2, it is checked whether the coded block is the last block of the component. If this is not the case, the next block is processed in step E403 until all blocks of the luminance component are coded.
[0124] If the processed component is not the last component, test T3, then another component is obtained at step E404, for example the first chrominance component. Likewise, the first block of the new component is selected at step E401. This block is then encoded according to one of the methods described above. Here, the encoding may be according to a predetermined standard CT. For example, if the color format of the image or the complete video sequence is 4:4:4, the encoding of the chrominance component may include evaluating the BDPCM mode and another mode.
[0125] Alternatively, if the chrominance component and the luminance component have the same partitioning, the block of the chrominance component can be encoded using the mode selected for encoding the corresponding block of the luminance component. For example, if the mode selected for the block of the luminance component is the BDPCM mode, the corresponding block of the chrominance component is encoded using this mode by default.
[0126] As previously described, if the processed block of the chrominance component is not the last, test T2, the process continues to the next block E403. This process is repeated until all blocks of the last component are processed, test T3.
[0127] This process may be repeated for all images forming the video sequence.
[0128] Figure 7 Another embodiment for encoding several components of a block of an image is shown. Encoding is performed block by block herein. All components of the same block are encoded before encoding the next block. For this embodiment, the components preferably have the same block partitioning.
[0129] During a step E500, a first block is obtained (for example, located in the upper left corner of the image). It is assumed here that the block processing order is known. The luminance component of the block is encoded in a step E501. Then, in a step E502, the first chrominance component of the block is encoded according to one of the methods described above, possibly according to standard CT.
[0130] The second chrominance component is encoded at step E503 according to one of the methods described above, possibly according to standard CT. Alternatively, the second chrominance component of the block is encoded by default using the encoding mode used for the first chrominance component of the block.
[0131] If the processed block is not the last, test T5 and consider the next block. Repeat this process until the last block.
[0132] Alternatively, assuming that the chrominance components and the luma components have the same partitioning, the block chrominance can be encoded using the mode selected for encoding the block luma. For example, if the mode selected for encoding the block luma component is a BDPCM mode, then that mode is automatically used for encoding the block chrominance components.
[0133] As an alternative, at least two components of the considered block are encoded in parallel.
[0134] This process may be repeated for all images forming the video sequence.
[0135] according to Figure 6 and Figure 7 The encoding of an embodiment of the invention may in particular comprise, for each picture or for the entire video sequence, encoding information indicating whether the standard CT is fulfilled. The information may be an indicator of the color format of the picture or (all) pictures of the video sequence. For example, the indicator may signal whether the input picture is in the format 4:2:0 (not fulfilling the standard CT) or in the format 4:4:4 (fulfilling the standard CT).
[0136] As an alternative, Figure 6 and 7Embodiments of the invention may include encoding, for at least one image, first information indicating that the BDPCM mode can be used to encode at least one block of at least one component of the image, and if the first information indicates that the BDPCM mode can be used to encode at least one block of at least one component of the image, encoding second information associated with at least the image indicating that the BDPCM mode can be used to encode at least one block of a chrominance component of the image.
[0137] For better dynamics, the first and second information may relate to each image of the video sequence, or to the entire video sequence.
[0138] If the second information is activated, which indicates that the BDPCM mode may be used on at least one block of the chrominance component, the indicator may encode the block in question. The indicator, when activated, signals that the BDPCM mode is used for the block in question.
[0139] Fig.10 An exemplary embodiment of the first and second information at the image level is shown. Four indicators FL1, FL2, FL3 and FL4 are considered here. When the indicator FL1 is activated (=1), in this case, the BDPCM mode can be used for at least one component of the image. When the indicator FL2 is activated (=1), in this case, the BDPCM mode can be used for at least one block of the chrominance component of the image. If the indicator FL2 is activated, then for at least one block of the chrominance component, the indicator FL4 signals (=1) or does not signal (=0) that the BDPCM mode is used to encode the block in question. Another indicator FL3 can be used to signal the use of another coding mode. Alternatively, the other coding mode can be the default mode. In this case, the indicator is not used.
[0140] For example, for the first image IM1, both indicators FL1 and FL2 are activated. Then the indicators FL3 and FL4 for a block of the luminance component Y of the image IM1 can take the values 0 and 1, respectively, indicating that the BDPCM mode is used to encode the relevant block. The indicators FL3 and FL4 for the chrominance component block (here Cb) of the image IM1 can take the values "0" and "1", respectively, indicating that the BDPCM mode is used to encode the relevant block.
[0141] In another example, for the image IM2, only the indicator FL1 is activated. The indicator FL2 is deactivated. Then the indicators FL3 and FL4 for a block of the luminance component Y of the image IM1 can take the values 0 and 1 respectively, indicating that the BDPCM mode is used to encode the relevant block. Since the indicator FL2 does not allow the use of the BDPCM mode to encode the block of the chrominance component, only the indicator FL3 of the block of the chrominance component of the image IM2 (here Cb) is encoded. The indicator FL3 is activated to signal that the INTRA mode is used to encode the block. If it is deactivated, another coding mode (for example, the INTER mode) can be used. As an alternative, the indicator is not encoded for the block of the chrominance component. The coding mode is the default mode.
[0142] When the BDPCM mode is not used in the image, the use of the indicators FL1 and FL2 makes it possible to avoid encoding (and then decoding) the indicators for each block of luminance and / or chrominance.
[0143] Reference again Figure 6 and Figure 7 For each image or for the entire video sequence, the encoding according to embodiments of these figures may include encoding information indicating whether the segmentation of the components is the same for luma and chroma. The indicator may signal a first segmentation of the luma component and a second segmentation of the two chroma components.
[0144] In addition, if BDPCM mode is selected for component, Figure 6 and 7 The encoding of the block of the embodiment of the invention may include encoding the encoding direction (vertical or horizontal). The direction may be encoded for the luminance block and the single chrominance component. The direction in which the block of the chrominance component is encoded is valid by default for the corresponding block of the second chrominance component.
[0145] according to Figure 6 and Figure 7 The encoding of an embodiment may also include encoding first information related to the image, which is suitable for indicating whether the BDPCM mode can be used to encode at least one component of at least one block of the image, and if the first information indicates that the BDPCM mode can be used to encode at least one component of at least one block of the image, then encoding second information related to the image, which is suitable for indicating that the BDPCM mode can be used to encode the chrominance component of at least one block of the image.
[0146] Alternatively, the information may include a first indicator indicating a mode of blocks for luma components and a second indicator indicating a mode of blocks for chroma components.
[0147] Alternatively, the information may include a single indicator indicating a mode of blocks for luma components and a mode of blocks for chroma components.
[0148] Alternatively, the information may include a first indicator indicating the mode of the blocks for the luma component and a single second indicator indicating the mode of the blocks for the two chroma components.
[0149] Figure 8 and Fig. 9 Two embodiments of a method according to the invention for decoding a coded data stream representing images of a video sequence are shown. Figure 6 and 7 Embodiment of the invention.
[0150] First, refer to Figure 8 , wherein decoding is performed component by component. This embodiment may previously comprise a step E599 of decoding first coding information relating to the image (or video sequence) to which the component belongs, indicating whether at least one component of at least one block of the image is coded using the BDPCM mode. This first information corresponds to Fig.10 The indicator FL1.
[0151] If the first information once decoded indicates that the BDPCM mode can be used to encode at least one component of at least one block of the image, second information related to the image is decoded. Fig.10 This second information of the indicator FL2 indicates that the BDPCM mode has been used for encoding the chrominance components of at least one block of the image.
[0152] Alternatively, the previous step E599 may consist in decoding information representative of a predetermined criterion, such as the color format of the image under consideration (or of all the images of the video sequence). Depending on the color format obtained, the chrominance components of the block may be encoded with or without the BDPCM mode and the corresponding information may be decoded for the block of chrominance components.
[0153] After this previous step E599 (which may be optional), decoding is performed here component by component. All blocks of the same component are decoded before decoding blocks of another component.
[0154] In a first step E600, coded data representing a first component, for example a luminance component, are considered. Then, in a step E601, for this luminance component, coded data of a first block in decoding order are considered. During a step E602, information (for example, Fig.10 The block of luminance components is decoded using indicators FL3, FL4 in the RGB format, which indicate whether the block of luminance components is encoded using the BDPCM mode or another mode.
[0155] Depending on the value of the information, the luminance component block is decoded in one mode or the other. During the test T6, it is checked that the decoded block is not the last of the processed component. If this is not the case, the processing continues with the next block in step E603 until all blocks of the luminance component have been decoded.
[0156] If the component being processed is not the last component, test T7 is performed, and the coded data of another component (for example the first chrominance component) are obtained at step E604. Likewise, the coded data relating to the first block of the new component are selected at step E601. Information representing the coding mode used for the block of the chrominance component under consideration may be decoded (for example, Fig.10 If the second information decoded in step E599 allows, the information representing the coding mode can signal the BDPCM mode. Fig.10 As explained, if the second information decoded at step E599 does not allow, the information indicating the encoding mode can signal another mode.
[0157] Alternatively, if the second information decoded at step E599 does not allow, the encoding mode used may be a default mode, such as the INTRA mode.
[0158] Alternatively, if the chroma components and the luma components have the same partitioning, the chroma blocks may be decoded using the mode that was used to encode the corresponding blocks of the luma component.
[0159] As previously described, if the processed block of the chrominance component is not the last, test T6, the process continues to the next block E603. This process is repeated until all blocks of the last component have been processed, test T7.
[0160] This process is repeated herein in such a way that all the encoded data of the video data stream is processed.
[0161] Fig. 9 Another embodiment for decoding several components of a block of an image is shown. The decoding is performed block by block herein. All components of the same block are decoded before decoding the next block. For this embodiment, the components preferably have the same partitioning.
[0162] for Figure 8 In the illustrated embodiment, the method may include a prior step E699 similar to step E599 described above.
[0163] After this previous step E699 (which may be optional), the coded data corresponding to the first block are obtained, E700. It is assumed here that the block processing order is known. Information indicating the coding mode that has been used to encode the luminance component is decoded (e.g. FL3, FL4). The luminance component of the block is decoded from this decoded coding mode information at step E701.
[0164] Then, information indicating the encoding mode (eg, FL3, FL4, or only FL3) that has been used to encode the chrominance components of the relevant block is decoded.
[0165] Alternatively, the information decoded during the decoding of the luminance component may also indicate the coding mode of the chrominance components of the considered block, for example if it is coded on two bits or by defaulting to the mode for all components of the concerned block.
[0166] Now at step E702 the first chrominance component of the block is decoded using the mode indicated by the decoding information, wherein the mode may be the BDPCM mode.
[0167] At step E703, the second chrominance component is decoded according to one of the methods described above. Alternatively, the coding mode used for the first chrominance component of the block is automatically used for decoding the second chrominance component of the block.
[0168] If the processed block is not the last, test T5 and consider the next block. Repeat this process until the last block.
[0169] As an alternative, at least two components of the block under consideration are decoded in parallel.The process is repeated here in such a way that all the coded data of the video data stream are processed.
[0170] according to Fig.11 In the particular embodiment of the invention shown, the steps of the encoding method are implemented by computer program instructions. To this end, the encoding device 800 or the decoding device 900 has a conventional computer architecture and specifically comprises a memory MEM801, 901; a processing unit UT 802, 902, which is for example equipped with at least one microprocessor P1 and is guided by a computer program Pg 803 stored in the memory MEM. The computer program Pg includes instructions for implementing the steps of the encoding or decoding method as described above when the program is executed by the microprocessor.
[0171] At initialization, the code instructions of the computer program Pg are loaded into the RAM, for example, before being executed by the processor. According to the instructions of the computer program Pg, the processor of the processing unit UT implements in particular the steps of the encoding or decoding method in these different alternatives as described above.
[0172] The devices 800, 900 may be arranged in a manner to cooperate with at least the following modules of the terminal ET:
[0173] a data transmission / reception module E / R, through which a binary stream or a compressed file FC is transmitted in a telecommunication network, such as a cable network or a Hertzian network; and
[0174] - A module M for storing the image or image sequence to be encoded, the encoded data stream / file obtained or the decoded image or image sequence.
[0175] According to an embodiment, the device 800 for encoding an image of a video sequence comprises at least one microprocessor, the image comprising at least two components, including a component representing luminance and a component representing chrominance, each component being divided into blocks, and the at least one microprocessor is configured to implement encoding of at least one block of the chrominance component using the so-called BDPCM mode.
[0176] According to an embodiment, the device 800 for encoding an image of a video sequence comprises at least one microprocessor, the image comprising at least two components, including a component representing brightness and a component representing chrominance, each component being divided into blocks, the at least one microprocessor being configured to implement, for at least one block of the chrominance component, a step of evaluating a so-called BDPCM mode and another mode for encoding the block, and, depending on the evaluation result, selecting one of the modes for encoding the block, and encoding information representing the mode selected for encoding the block.
[0177] According to an embodiment, a device 900 for decoding a coded image from a coded video data stream, the image comprising at least two components, including a component representing luminance and a component representing chrominance, each component being divided into blocks, wherein the device comprises at least one microprocessor configured to implement a step of decoding information indicating, for at least one block of the chrominance component, whether it was coded using the so-called BDPCM mode.
[0178] Of course, various other modifications can be made to the invention within the scope of the appended claims.
Claims
1. A method for encoding an image of a video sequence, the image comprising at least two components, including a luminance component representing brightness, a first chrominance component representing chrominance, and a second chrominance component, each component being divided into blocks, the second chrominance component having the same division as the first chrominance component, wherein The method comprises: encoding ( E1 ) at least one block of said first chrominance component using a so-called BDPCM mode; and Information indicating the BDPCM mode for encoding at least one of a block of the first chroma component and a corresponding block of the second chroma component is encoded.
2. The method according to claim 1, wherein: When a predetermined criterion (CT) is met, at least one block of the first chrominance component is encoded using the BDPCM mode.
3. The method according to claim 2, wherein: The standard is indicative of a selected encoding standard to be operated by an encoder suitable for implementing the method.
4. The method according to claim 3, wherein: The selection performed by the encoder results from an analysis of the video sequence.
5. The method according to claim 1, wherein: The at least one block is formed by elements, and wherein the encoding comprises encoding, for at least one element of the block, a quantized value of a residual representing a difference between a first value and a second value, the first value corresponding to a quantized value of a difference between a value of the considered element and a reference element whose position is determined based on the direction, and the second value corresponding to another quantized value of another difference between another element and another reference element whose position is determined based on the direction.
6. A method for decoding an encoded image from a stream of encoded video data, the image comprising a luminance component representing brightness, a first chrominance component representing chrominance, and a second chrominance component, each component being divided into blocks, the second chrominance component having the same division as the first chrominance component, wherein The method comprises decoding (E601, E701) information indicating whether at least one block of the first chrominance component is encoded using a so-called BDPCM mode, The value decoded from the information is also used to indicate whether the corresponding block of the second chrominance component is encoded using the so-called BDPCM mode.
7. The method according to claim 6, wherein: The value decoded from the information further indicates the direction allowing decoding of the block of the first chroma component and the corresponding block of the second chroma component according to a direction according to a corresponding block predictor.
8. A method for decoding an encoded picture from an encoded video data stream, the picture comprising a luminance component representing brightness, a first chrominance component representing chrominance, and a second chrominance component, each component being divided into blocks, the second chrominance component having the same division as the first chrominance component, wherein The method comprises decoding first information indicating a coding standard and, if a value decoded from the first information indicates that the coding standard is met, decoding second information indicating whether at least one block of the first chrominance component is coded using a so-called BDPCM mode, The value decoded from the second information is also used to indicate whether the corresponding block of the second chrominance component is encoded using the so-called BDPCM mode.
9. The method according to claim 8, wherein: The value decoded from the second information further indicates the direction allowing decoding of the block of the first chroma component and the corresponding block of the second chroma component according to a direction according to a corresponding block predictor.
10. The method according to claim 8, further comprising decoding further information indicating whether at least one block of the first chrominance component is encoded using a so-called BDPCM mode.
11. The method according to claim 8, wherein: The encoding standard indicates the selections operated by an encoder that has encoded the video data stream.
12. The method according to claim 11, wherein: The selection performed by the encoder results from an analysis of the video data stream.
13. A method for decoding an encoded picture from an encoded video data stream, the picture comprising a luminance component representing brightness, a first chrominance component representing chrominance, and a second chrominance component, each component being divided into blocks, the second chrominance component having the same division as the first chrominance component, wherein The method comprises decoding first information (FL1) associated with at least the image, the first information indicating that a BDPCM mode can be used for decoding at least one block of at least one of the first chrominance component, the second chrominance component and the luminance component of the image, and decoding second information (FL2) associated with at least the image, the second information indicating that the BDPCM mode can be used for decoding at least one block of the first chrominance component of the image, if the first information indicates that the BDPCM mode can be used for decoding at least one block of at least one component of the image, if the second information associated with the image indicates that the BDPCM mode can be used for decoding at least one block of the first chrominance component of the image, decoding an indicator (FL4) associated with the at least one block of the first chrominance component, the indicator indicating that the BDPCM mode is used for decoding the block of the first chrominance component, The indicator further indicates that the BDPCM mode is used to decode blocks of the second chrominance component.
14. A device (800) for encoding an image of a video sequence, the image comprising a luminance component representing brightness, a first chrominance component representing chrominance, and a second chrominance component, each component being divided into blocks, the second chrominance component having the same division as the first chrominance component, wherein The device comprises at least one microprocessor, wherein the at least one microprocessor is configured to implement the following steps: encoding at least one block of said first chrominance component using a so-called BDPCM mode; as well as Information indicating the BDPCM mode for encoding at least one of a block of the first chroma component and a corresponding block of the second chroma component is encoded.
15. A device (900) for decoding an encoded image from an encoded video data stream, the image comprising a luminance component representing brightness, a first chrominance component representing chrominance, and a second chrominance component, each component being divided into blocks, the second chrominance component having the same division as the first chrominance component, wherein The device comprises at least one microprocessor configured to implement a step of decoding information indicating whether at least one block of the first chrominance component is encoded using a so-called BDPCM mode, The value decoded from the information is also used to indicate whether the corresponding block of the second chrominance component is encoded using the so-called BDPCM mode.
Citation Information
Patent Citations
Residual colour transform signalled at sequence level for specific coding modes
US20160100175A1