Method and apparatus for coding intra-block incomplete primitive value mode

By using an incomplete native value mode within the block, and only encoding specific positions using the native value mode, the problem of insufficient predicted pixels outside the block is solved, thereby reducing the number of bits and improving compression efficiency.

CN116033161BActive Publication Date: 2026-08-25绍兴市北大信息技术科创中心
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211523579.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-30
Publication Date
2026-08-25
Estimated Expiration
2042-11-30

AI Technical Summary

Technical Problem

Existing point prediction, intra-frame prediction, and IBC modes cannot provide effective prediction values ​​for out-of-block pixel predictions, and the native value mode consumes too many bits, failing to achieve compression.

Method used

The block-based incomplete native value mode is adopted, which encodes only specific positions within the block using the native value mode, while other positions use non-native value modes, including native value copying within the block, average value copying, or prediction mode based on external reference objects.

Benefits of technology

By reducing bit consumption while providing effective intra-block reference pixels, the optimal balance between rate and distortion is achieved.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

The application provides a coding and decoding method and device of incomplete native value mode in a block, which adopts native value mode for pixels at specific positions in the block and adopts non-native value mode for pixels at other positions. Only the pixels at the specific positions adopt the native value mode, which can greatly reduce the consumed bit number and provide reference pixels for other positions in the block, so as to achieve the best balance of rate distortion.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of data compression, and in particular, it relates to an encoding and decoding method and apparatus for an incomplete native value mode within a block. Background Technology

[0002] The existing shallow compression standard coding framework mainly includes the following four prediction modes: pointwise prediction mode, ordinary intra-frame prediction mode, intra-block copy mode, and native value mode. The existing shallow compression standard supports YUV4:2:0, YUV4:2:2, YUV4:4:4, and RGB4:4:4 image and video formats, and supports 8-bit, 10-bit, and 12-bit input bit depths. The basic processing unit of the existing shallow compression standard is: 16x2 blocks for the luma channel; for the chroma channel, 16x2 blocks for YUV444 / RGB444 formats, 8x2 blocks for YUV422 formats, and 8x1 blocks for YUV420 formats. The existing native value mode means that all encoded object values ​​within a block are directly written into the bitstream at the encoding end, and the data read from the bitstream at the decoding end is directly used as the reconstructed intra-block encoded object values.

[0003] However, in existing shallow compression standards, if the content of the current block changes significantly from that of neighboring blocks, the point prediction mode, intra-frame prediction mode, and IBC mode all require the coded objects (pixels) on the left or top as predicted pixels. This can lead to a situation where out-of-block predicted pixels cannot provide good predicted pixels for the current block. Furthermore, the native value mode consumes a particularly large number of bits, making it unsuitable for compression. Summary of the Invention:

[0004] The technical problem that this invention aims to solve is that existing point prediction, intra-frame prediction, and IBC methods suffer from the inability of out-of-block predicted pixels to provide good predicted pixels for the current block, and the inability to use native value modes.

[0005] To address the aforementioned problems, this invention provides an encoding and decoding method and apparatus for incomplete native value modes within a block.

[0006] An encoding method for incomplete native value patterns within a block, wherein the incomplete native value pattern involves encoding objects at specific positions within the block using native value patterns to output the encoded object value or a derived value of the encoded object, and encoding objects at the remaining positions within the block using non-native value patterns, comprising the following steps:

[0007] The block is encoded, and a mode decision is made for the encoding mode containing incomplete native value mode. If the incomplete native value mode is selected, the information that indicates the incomplete native value mode is true, the value of the encoded object in the block, or the derived value of the encoded object in the block will be written into the data stream after encoding. If the incomplete native value mode is not selected, the information that indicates the incomplete native value mode is false will be written into the data stream after encoding.

[0008] Preferably, the non-native value mode is an intra-block native value copy mode, an intra-block average value copy mode, or an intra-block out-of-block reference object prediction mode; the intra-block native value copy mode copies the coded object value in the leftmost column or the top column position within the block; the intra-block average value copy mode copies one or N intra-block average values, where N is the number of rows within the block; the intra-block out-of-block reference object prediction mode copies the sum of the out-of-block reference pixel value and the intra-block average value for the coded object value in the first row, and copies the coded object values ​​in the first row of the same column for the other coded object values.

[0009] Preferably, the derived value of the encoded object is the average value of the encoded objects at a specific position within the encoded block.

[0010] Preferably, a specific position within the block is determined based on the prediction patterns of the top and left blocks: if at least one of the prediction patterns of the top or left block is a horizontal prediction pattern, the specific position is the leftmost column 1 within the block; if at least one of the prediction patterns of the top or left block is a vertical prediction pattern, the specific position is N positions in the first row within the block, where N is the number of rows within the block; if the prediction patterns of the top or left block do not meet the above conditions, the specific position is empty.

[0011] An encoding apparatus for incomplete native value patterns within a block, employing the aforementioned encoding method for incomplete native value patterns within a block, includes:

[0012] The incomplete native value mode encoding module is used to encode objects at specific locations within a block using native value mode.

[0013] The compressed bitstream generation module is used to entropy-encode the pattern identifier information representing the incomplete native value mode and the values ​​of the intra-block encoded objects or the derived values ​​of the intra-block encoded objects and write them into the compressed data bitstream.

[0014] A decoding method for an incomplete native value pattern within a block, wherein the incomplete native value pattern involves reconstructing the encoded object at a specific position within the block using the native value pattern, and reconstructing the encoded object at the remaining positions within the block using a non-native value pattern, comprising the following steps:

[0015] Decode the bitstream containing pattern identifier information representing an incomplete native value pattern, and at least obtain the pattern identifier information, the value of the encoded object at a specific position within the block, or the derived value of the encoded object, and reconstruct the encoded object at the specific position using the native value pattern.

[0016] Preferably, the non-native value mode is an intra-block native value copy mode, an intra-block average value copy mode, or an intra-block out-of-block reference object prediction mode; the intra-block native value copy mode copies the coded object value in the leftmost column or the top column position within the block; the intra-block average value copy mode copies one or N intra-block average values, where N is the number of rows within the block; the intra-block out-of-block reference object prediction mode copies the sum of the out-of-block reference pixel value and the intra-block average value for the coded object value in the first row, and copies the coded object values ​​in the first row of the same column for the other coded object values.

[0017] Preferably, a specific position within the block is determined based on the prediction patterns of the top and left blocks: if at least one of the prediction patterns of the top or left block is a horizontal prediction pattern, the specific position is the leftmost column 1 within the block; if at least one of the prediction patterns of the top or left block is a vertical prediction pattern, the specific position is N positions in the first row within the block, where N is the number of rows within the block; if the prediction patterns of the top or left block do not meet the above conditions, the specific position is empty.

[0018] Preferably, the derived value of the encoded object is the average value of the encoded objects at a specific position within the encoded block.

[0019] A decoding apparatus for incomplete native value mode within a block, employing the aforementioned decoding method for incomplete native value mode within a block, including...

[0020] The incomplete native value mode parsing module is used to parse compressed data bitstreams and at least obtain mode identifier information representing incomplete native value modes and encoded object values ​​or block-derived encoded object values ​​at specific locations.

[0021] The incomplete native value mode decoding module is used to reconstruct encoded objects at specific locations within a block using native value mode.

[0022] Compared with the prior art, the present invention has the following advantages and effects:

[0023] This approach overcomes the limitation of existing native value mode blocks where all encoded objects are written to or read directly from the bitstream using raw pixels. By applying native value mode only to encoded objects at specific locations within a block, the number of bits consumed can be significantly reduced, while also providing reference pixels for other locations within the block, thus achieving the optimal balance between rate and distortion. Detailed Implementation

[0024] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0025] Example 1: An encoding method for incomplete native value patterns within a block, including...

[0026] Encoding blocks are performed, and the encoding mode includes at least an incomplete native value mode. A mode decision is made. If an incomplete native value mode is selected, the incomplete native value mode encodes the encoded objects at specific positions within the encoding block using the native value mode, directly writing the encoded object value or the derived value of the encoded object into the data stream. For the remaining encoded objects within the encoding block, a non-native value mode is used (the non-native value mode is either an intra-block native value copy mode, an intra-block average value copy mode, or an intra-block / outside-block reference object prediction mode; the intra-block native value copy mode copies the encoded object value from the leftmost or topmost column position; the intra-block average value copy mode copies the intra-block average value; the intra-block / outside-block reference object prediction mode copies the sum of the outside-block reference pixel value and the intra-block average value for the encoded object value in the first row, and copies the encoded object value of the first row in the same column for other encoded objects). The information indicating that the incomplete native value mode is true, the intra-block encoded object value, or the intra-block encoded object derived value are encoded and then written into the data stream. If the incomplete native value mode is not selected, the information indicating that the incomplete native value mode is marked as false is encoded and written into the data stream. In this embodiment, the mode decision is based on an existing algorithm, such as the AVS intra-frame mode decision algorithm or the HEVC intra-frame coding fast mode decision algorithm. The mode identification information is a specific numerical value or a specific syntax element. For example, true indicates an incomplete native value mode, false indicates it is not an incomplete native value mode, a specific numerical value indicates an incomplete native value mode, and no specific numerical value indicates it is not an incomplete native value mode. More specifically, for example, the mode decision algorithm in the invention patent ZL2016112457943 is used.

[0027] Preferably, a specific position within the block is determined based on the prediction patterns of the top and left blocks: if at least one of the prediction patterns of the top or left block is a horizontal prediction pattern, the specific position is the leftmost column of the block; if at least one of the prediction patterns of the top or left block is a vertical prediction pattern, the specific position is the N positions in the first row of the block, where N is the number of rows in the block. If the prediction patterns of the top or left block do not meet the above conditions, the specific position is empty, and the entire block is encoded using a non-native value mode.

[0028] Preferably, the derived value of the encoded object is the average value of the encoded object at a specific position within the encoded block. That is, the average value of all encoded object values ​​within the block is directly written into the bitstream at the encoding end, and the data read from the bitstream at the decoding end is directly used as the reconstructed encoded object value within the block.

[0029] In one implementation, when encoding a 16x2 block (the set of all positions is denoted as B), specific positions within the block are determined based on the prediction modes of the upper and left blocks. Specifically, if at least one of the prediction modes of the upper or left blocks is a horizontal prediction mode (e.g., a horizontal intra-frame prediction mode), the set of specific positions A within the block is determined to be two positions in the horizontal left column, i.e., B. 0,0 and B 0,4 For the encoded objects in a specific location set A, native value mode encoding is used. For the encoded objects in other locations in set B, left-copy mode encoding is used (i.e., the values ​​of other encoded objects within the block are directly copied from the encoded object values ​​in the horizontal left column). At least the identifier representing the incomplete native value mode and the encoded object values ​​of the specific location set A within the block are entropy-encoded and written into the compressed data bitstream. Alternatively, when encoding a 16x2 block (all location sets are denoted as B), the specific locations within the block are determined based on the prediction modes of the upper and left blocks. That is, when at least one of the prediction modes of the upper or left blocks is a vertical prediction mode (e.g., vertical intra-frame prediction mode), the specific location set A within the block is determined to be the two positions in the first row. For a 16x2 block, the two objects B in the upper left corner of each 8x2 block are preferred. 0,0 and B 0,8 For encoding objects in a specific location set A, native value mode is used for encoding. For encoding objects in other locations in set B, intra-block average copy mode is used (i.e., the values ​​of encoding objects in other locations within the block are copied to the intra-block average). At least the identifier representing the incomplete native value mode and the values ​​of the encoding objects in the specific location set A within the block are entropy-encoded and written into the compressed data bitstream. Alternatively, when encoding a 16x2 block (all location sets are denoted as B), the specific locations within the block are determined based on the prediction modes of the upper and left blocks. That is, when at least one of the prediction modes of the upper or left blocks is a horizontal prediction mode (e.g., horizontal intra-frame prediction mode), the specific location set A within the block is determined to be the two locations in the leftmost column, i.e., B. 0,0 and B 0,4The native value mode is used to encode the objects in the set A at a specific location, while the intra-block and extra-block reference object prediction mode is used to encode the objects in other locations in the set B (that is, as shown in the table below, D1 is the average of 16 pixels in the left 8x2 blocks, D2 is the average of 16 pixels in the right 8x2 blocks, P11=(A1+D1)>>1, P12=(A2+D1)>>1, P21=P11, P22=P12, T11=(B1+D2)>>1, T12=(B2+D2)>>1, T21=T11, T22=T12).

[0030] P11 P12 P13 P14 P15 P16 P17 P18 T11 T12 T13 T14 T15 T16 T17 T18 P21 P22 P23 P24 P25 P26 P27 P28 T21 T22 T23 T24 T25 T26 T27 T28

[0031] An encoding device for incomplete native value patterns within a block, comprising:

[0032] The incomplete native value mode encoding module is used to encode the encoded object at a specific position within the encoding block using the native value mode; the compressed bitstream generation module is used to write the mode identifier information representing the incomplete native value mode and the encoded object within the block into the compressed data bitstream after entropy encoding.

[0033] Example 2: A decoding method for an incomplete native value mode within a block, which decodes a bitstream containing mode identifier information representing an incomplete native value mode. The definitions of the incomplete native value mode and mode identifier information in this example are the same as those in Example 1. At least the mode identifier information and the encoded object at a specific position within the block are obtained, and the encoded object at the specific position is reconstructed using the native value mode.

[0034] In one implementation, when decoding a 16x2 block (the set of all positions is denoted as B), specific positions within the block are determined based on the prediction modes of the upper and left blocks. Specifically, if at least one of the prediction modes of the upper or left blocks is a horizontal prediction mode (e.g., a horizontal intra-frame prediction mode), the set of specific positions A within the block is determined to be two positions in the leftmost column, i.e., B. 0,0 and B 0,4 The compressed data stream is parsed to obtain at least the pattern identifier information representing the incomplete native value mode and the encoded object value or derived value of the encoded object of the specific position set A within the block. Based on the pattern identifier information representing the incomplete native value mode and the encoded object value or derived value of the encoded object of the specific position set A within the block, the encoded object of the specific position set A is reconstructed using the native value mode, and the encoded objects of other positions in set B are reconstructed using the copy left mode (i.e., the encoded objects of other encoded objects within the block are directly copied from the encoded objects in the horizontal left column position).

[0035] A decoding device for incomplete native value mode within a block, comprising:

[0036] The incomplete native value mode parsing module is used to parse the compressed data bitstream and at least obtain the mode identifier information representing the incomplete native value mode and the encoded object at a specific position; the incomplete native value mode decoding module is used to reconstruct the encoded object at a specific position using the native value mode.

[0037] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method for encoding incomplete native value patterns within a block, characterized in that, The incomplete native value mode involves encoding objects at specific positions within a block using the native value mode, outputting the encoded object value or its derived value, while encoding objects at the remaining positions within the block using a non-native value mode. Includes the following steps: Encode the block and make a mode decision for the encoding mode containing incomplete native value mode. If the incomplete native value mode is selected, the information that indicates the incomplete native value mode is true, the value of the encoded object in the block, or the derived value of the encoded object in the block will be encoded and written into the data stream; if the incomplete native value mode is not selected, the information that indicates the incomplete native value mode is false will be encoded and written into the data stream. The specific position within the block is determined based on the prediction patterns of the top and left blocks: if at least one of the prediction patterns of the top or left block is a horizontal prediction pattern, the specific position is the leftmost column 1 within the block; if at least one of the prediction patterns of the top or left block is a vertical prediction pattern, the specific position is N positions in the first row of the block, where N is the number of rows in the block; if the prediction patterns of the top or left block do not meet the above conditions, the specific position is empty.

2. The encoding method for incomplete native value patterns within a block according to claim 1, characterized in that, The non-native value mode is either the intra-block native value copy mode, the intra-block average value copy mode, or the intra-block external reference object prediction mode. The intra-block native value copy mode copies the encoded object value in the leftmost column or the top column position within the block. The intra-block average value copy mode copies one or N intra-block average values, where N is the number of rows within the block. The intra-block external reference object prediction mode copies the encoded object value in the first row as the sum of the external reference pixel value and the intra-block average value, and copies the encoded object value in the first row of the same column for the other encoded object values.

3. The encoding method for incomplete native value patterns within a block according to claim 1, characterized in that, The derived value of the encoded object is the average value of the encoded object at a specific position within the encoded block.

4. An encoding apparatus for incomplete native value patterns within a block, employing the encoding method for incomplete native value patterns within a block as described in any one of claims 1-3, characterized in that, include The incomplete native value mode encoding module is used to encode objects at specific locations within a block using native value mode. The compressed bitstream generation module is used to entropy encode the pattern identifier information representing the incomplete native value mode and the value of the block-encoded object or the derived value of the block-encoded object and write it into the compressed data bitstream. The specific position within the block is determined based on the prediction patterns of the top and left blocks: if at least one of the prediction patterns of the top or left block is a horizontal prediction pattern, the specific position is the leftmost column 1 within the block; if at least one of the prediction patterns of the top or left block is a vertical prediction pattern, the specific position is N positions in the first row of the block, where N is the number of rows in the block; if the prediction patterns of the top or left block do not meet the above conditions, the specific position is empty.

5. A decoding method for incomplete native value patterns within a block, characterized in that, The incomplete native value mode involves reconstructing encoded objects at specific locations within a block using the native value mode, while reconstructing encoded objects at the remaining locations within the block using a non-native value mode. This includes the following steps: Decode the bitstream containing pattern identifier information representing an incomplete native value mode, and at least obtain the pattern identifier information, the value of the encoded object at a specific position within the block, or the derived value of the encoded object, and reconstruct the encoded object at the specific position using the native value mode. The specific position within the block is determined based on the prediction patterns of the top and left blocks: if at least one of the prediction patterns of the top or left block is a horizontal prediction pattern, the specific position is the leftmost column 1 within the block; if at least one of the prediction patterns of the top or left block is a vertical prediction pattern, the specific position is N positions in the first row of the block, where N is the number of rows in the block; if the prediction patterns of the top or left block do not meet the above conditions, the specific position is empty.

6. The decoding method for incomplete native value patterns within a block according to claim 5, characterized in that, The non-native value mode is either the intra-block native value copy mode, the intra-block average value copy mode, or the intra-block external reference object prediction mode. The intra-block native value copy mode copies the encoded object value in the leftmost column or the top column position within the block. The intra-block average value copy mode copies one or N intra-block average values, where N is the number of rows within the block. The intra-block external reference object prediction mode copies the encoded object value in the first row as the sum of the external reference pixel value and the intra-block average value, and copies the encoded object value in the first row of the same column for the other encoded object values.

7. The decoding method for incomplete native value patterns within a block according to claim 5, characterized in that, The derived value of the encoded object is the average value of the encoded object at a specific position within the encoded block.

8. A decoding apparatus for an incomplete native value mode within a block, employing the decoding method for an incomplete native value mode within a block as described in any one of claims 5-7, characterized in that, include The incomplete native value mode parsing module is used to parse compressed data bitstreams and at least obtain mode identifier information representing incomplete native value modes and encoded object values ​​or block-derived encoded object values ​​at specific locations. The incomplete native value mode decoding module is used to reconstruct the encoded object at a specific position within a block using the native value mode. The specific position within the block is determined based on the prediction patterns of the top and left blocks: if at least one of the prediction patterns of the top or left block is a horizontal prediction pattern, the specific position is the leftmost column 1 within the block; if at least one of the prediction patterns of the top or left block is a vertical prediction pattern, the specific position is N positions in the first row of the block, where N is the number of rows in the block; if the prediction patterns of the top or left block do not meet the above conditions, the specific position is empty.

Citation Information

Patent Citations

  • Data compression method and device of using same encoding parameter with different precisions in various modes

    CN108235007A

  • Encoding method, decoding method, and related devices

    WO2022037300A1