IP Library Granted Patent US 12,047,577
Granted Patent B2
US 12,047,577 · App. 18/322,037 · Granted Jul 23, 2024

Video decoding method and video decoder

Inventors: Huanbang Chen (Shenzhen, CN); Haitao Yang (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/13H04N19/159H04N19/176H04N19/52H04N19/70
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,047,577
App. No.
18/322,037
Granted
Jul 23, 2024
Kind
B2
Abstract

A video decoding method includes obtaining a to-be-entropy-decoded syntax element in a current block by parsing a received bitstream, where the to-be-entropy-decoded syntax element includes a syntax element 1 or a syntax element 2 in the current block, obtaining a context model corresponding to the to-be-entropy-decoded syntax element, where both of a context model corresponding to the syntax element 1 and a context model corresponding to the syntax element 2 are determined from the same preset context model set, entropy decoding the to-be-entropy-decoded syntax element based on the context model corresponding to the to-be-entropy-decoded syntax element, and obtaining a reconstructed image of the current block based on the syntax element obtained by entropy decoding.

Claims (67)

1. A video decoding method, comprising:

receiving a bitstream comprising a to-be-entropy-decoded syntax element of a current block, wherein the to-be-entropy-decoded syntax element comprises a first syntax element or a second syntax element, wherein the first syntax element comprises a first flag indicating whether a subblock-based merge mode is used for the current block or the second syntax element comprises a second flag indicating whether an affine motion model-based motion compensation is used for the current block when a slice that comprises the current block is a predicted (P)-type slice or a bi-directional predicted (B)-type slice;

parsing the bitstream to obtain the to-be-entropy-decoded syntax element;

obtaining a first value of a first parameter for indicating whether a left neighboring block of the current block is available;

obtaining a second value of a second parameter for indicating whether an upper neighboring block of the current block is available;

obtaining a third value of a third flag or a fourth value of a fourth flag, wherein the third flag indicates whether the subblock-based merge mode is used for the left neighboring block or the fourth flag indicates whether the affine motion model-based motion compensation is used for the left neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice;

obtaining a context index of the to-be-entropy-decoded syntax element based on the first value, the second value, and at least one of the third value or the fourth value;

performing entropy decoding on the to-be-entropy-decoded syntax element based on the context index to obtain a decoded syntax element corresponding to the to-be-entropy-decoded syntax element;

performing prediction processing on the current block based on the decoded syntax element to obtain a prediction block of the current block; and

obtaining a reconstructed image of the current block based on the prediction block.

2. The video decoding method of claim 1 , further comprising:

obtaining a fifth value of a fifth flag or a sixth value of a sixth flag, wherein the fifth flag indicates whether the subblock-based merge mode is used for the upper neighboring block or the sixth flag indicates whether the affine motion model-based motion compensation is used for the upper neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice; and

further obtaining the context index of the to-be-entropy-decoded syntax element based on the fifth value or the sixth value.

3. The video decoding method of claim 2 , further comprising:

performing a first OR operation on the third value and the fourth value to obtain a seventh value;

performing a second OR operation on the fifth value and the sixth value to obtain an eighth value; and

further obtaining the context index of the to-be-entropy-decoded syntax element based on the seventh value and the eighth value.

4. The video decoding method of claim 3 , further comprising:

performing a first AND operation on the first value and the seventh value to obtain a ninth value;

performing a second AND operation on the second value and the eighth value to obtain a tenth value; and

further obtaining the context index of the to-be-entropy-decoded syntax element based on the ninth value and the tenth value.

5. The video decoding method of claim 4 , further comprising obtaining a sum of the ninth value and the tenth value, wherein the sum is the context index.

6. A video decoding device, comprising:

a non-transitory memory storage configured to store video data in a form of a bitstream, wherein the bitstream comprises a to-be-entropy-decoded syntax element of a current block, wherein the to-be-entropy-decoded syntax element comprises a first syntax element or a second syntax element, wherein the first syntax element comprises a first flag indicating whether a subblock-based merge mode is used for the current block or the second syntax element comprises a second flag indicating whether an affine motion model-based motion compensation is used for the current block when a slice that comprises the current block is a predicted (P)-type slice or a bi-directional predicted (B)-type slice; and

a video decoder coupled to the non-transitory memory storage and configured to:

parse the bitstream to obtain the to-be-entropy-decoded syntax element;

obtain a first value of a first parameter for indicating whether a left neighboring block of the current block is available;

obtain a second value of a second parameter for indicating whether an upper neighboring block of the current block is available;

obtain a third value of a third flag or a fourth value of a fourth flag, wherein the third flag indicates whether the subblock-based merge mode is used for the left neighboring block or the fourth flag indicates whether the affine motion model-based motion compensation is used for the left neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice;

obtain a context index of the to-be-entropy-decoded syntax element based on the first value, the second value, and at least one of the third value or the fourth value;

perform entropy decoding on the to-be-entropy-decoded syntax element based on the context index to obtain a decoded syntax element corresponding to the to-be-entropy-decoded syntax element;

perform prediction processing on the current block based on the decoded syntax element to obtain a prediction block of the current block; and

obtain a reconstructed image of the current block based on the prediction block.

7. The video decoding device of claim 6 , wherein the video decoder is further configured to:

obtain a fifth value of a fifth flag or a sixth value of a sixth flag, wherein the fifth flag indicates whether the subblock-based merge mode is used for the upper neighboring block or the sixth flag indicates whether the affine motion model-based motion compensation is used for the upper neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice; and

further obtain the context index of the to-be-entropy-decoded syntax element based the fifth value or the sixth value.

8. The video decoding device of claim 7 , wherein the video decoder is further configured to:

perform a first OR operation on the third value and the fourth value to obtain a seventh value;

perform a second OR operation on the fifth value and the sixth value to obtain an eighth value; and

further obtain the context index of the to-be-entropy-decoded syntax element based on the seventh value and the eighth value.

9. The video decoding device of claim 8 , wherein the video decoder is further configured to:

perform a first AND operation on the first value and the seventh value to obtain a ninth value;

perform a second AND operation on the second value and the eighth value to obtain a tenth value; and

further obtain the context index of the to-be-entropy-decoded syntax element based on the ninth value and the tenth value.

10. The video decoding device of claim 9 , wherein the video decoder is further configured to obtain a sum of the ninth value and the tenth value, wherein the sum is the context index.

11. The video decoding device of claim 6 , wherein the first syntax element and the second syntax element share a context model of the context index.

12. A video encoder comprising:

one or more memories configured to store programming instructions; and

one or more processors coupled to the one or more memories and configured to execute the programming instructions to cause the video encoder to:

generate a bitstream, wherein the bitstream comprises a first to-be-entropy-decoded syntax element of a current block and a second to-be-entropy-decoded syntax element of a left neighboring block of the current block, wherein the first to-be-entropy-decoded syntax element comprises a first syntax element or a second syntax element, wherein the first syntax element comprises a first flag indicating whether a subblock-based merge mode is used for the current block or the second syntax element comprises a second flag indicating whether an affine motion model-based motion compensation is used for the current block when a slice that comprises the current block is a predicted (P)-type slice or a bi-directional predicted (B)-type slice, wherein the second to-be-entropy-decoded syntax element comprises a third syntax element or a fourth syntax element, wherein the third syntax element comprises a third flag indicating whether the subblock-based merge mode is used for the left neighboring block or the fourth syntax element comprises a fourth flag indicates whether the affine motion model-based motion compensation is used for the left neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice, wherein at least one of a third value of the third flag or a fourth value of the fourth flag are used to obtain a context index of the first to-be-entropy-decoded syntax element, wherein the context index is used to perform entropy decoding on the first to-be-entropy-decoded syntax element to obtain a decoded syntax element corresponding to the first to-be-entropy-decoded syntax element, wherein the decoded syntax element is used to perform prediction processing on the current block to obtain a prediction block of the current block, and wherein the prediction block is used to obtain a reconstructed image of the current block; and

transmit the bitstream to a video decoding device.

13. The video encoder of claim 12 , wherein the bitstream further comprises a third to-be-entropy-decoded syntax element of a upper neighboring block of the current block, wherein the third to-be-entropy-decoded syntax element comprises a fifth syntax element or a sixth syntax element, wherein the fifth syntax element comprises a fifth flag indicating whether the subblock-based merge mode is used for the upper neighboring block or the sixth syntax element comprises a sixth flag indicates whether the affine motion model-based motion compensation is used for the upper neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice, and wherein at least one of a fifth value of the fifth flag or a sixth value of the sixth flag are used to obtain a context index of the first to-be-entropy-decoded syntax element.

14. The video encoder of claim 12 , wherein a context model corresponding to the first syntax element is based on a preset context model set or a context model corresponding to the second syntax element is based on the preset context model set.

15. The video encoder of claim 14 , wherein the first syntax element and the second syntax element share the context model.

16. The video encoder of claim 12 , wherein the one or more processors are further configured to execute the programming instructions to cause the video encoder to further transmit the bitstream to a video decoder.

17. A non-transitory storage medium storing an encoded bitstream for video signals, the encoded bitstream comprising:

a first to-be-entropy-decoded syntax element of a current block, wherein the first to-be-entropy-decoded syntax element comprises a first syntax element or a second syntax element, wherein the first syntax element comprises a first flag indicating whether a subblock-based merge mode is used for the current block or the second syntax element comprises a second flag indicating whether an affine motion model-based motion compensation is used for the current block when a slice that comprises the current block is a predicted (P)-type slice or a bi-directional predicted (B)-type slice; and

a second to-be-entropy-decoded syntax element of a left neighboring block of the current block,

wherein the second to-be-entropy-decoded syntax element comprises a third syntax element or a fourth syntax element,

wherein the third syntax element comprises a third flag indicating whether the subblock-based merge mode is used for the left neighboring block or the fourth syntax element comprises a fourth flag indicates whether the affine motion model-based motion compensation is used for the left neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice,

wherein at least one of a third value of the third flag or a fourth value of the fourth flag are used to obtain a context index of the first to-be-entropy-decoded syntax element,

wherein the context index is used to perform entropy decoding on the first to-be-entropy-decoded syntax element to obtain a decoded syntax element corresponding to the first to-be-entropy-decoded syntax element,

wherein the decoded syntax element is used to perform prediction processing on the current block to obtain a prediction block of the current block, and

wherein the prediction block is used to obtain a reconstructed image of the current block.

18. The non-transitory storage medium of claim 17 , wherein the encoded bitstream further comprises a third to-be-entropy-decoded syntax element of a upper neighboring block of the current block, wherein the third to-be-entropy-decoded syntax element comprises a fifth syntax element or a sixth syntax element, wherein the fifth syntax element comprises a fifth flag indicating whether the subblock-based merge mode is used for the upper neighboring block or the sixth syntax element comprises a sixth flag indicates whether the affine motion model-based motion compensation is used for the upper neighboring block when a slice that comprises the left neighboring block is a P-type slice or a B-type slice, and wherein at least one of a fifth value of the fifth flag or a sixth value of the sixth flag are used to obtain a context index of the first to-be-entropy-decoded syntax element.

19. The non-transitory storage medium of claim 17 , wherein a context model corresponding to the first syntax element is based on a preset context model set or a context model corresponding to the second syntax element is based on the preset context model set.

20. The non-transitory storage medium of claim 19 , wherein the first syntax element and the second syntax element share the context model.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: CHEN, HUANBANG; YANG, HAITAO
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 063730/0105 →
Priority Claims (1)
CN 201811053068.0 · Sep 10, 2018 · national
Continuity (3)
Continuation 17195798 · Mar 9, 2021
Continuation PCTCN2019105024 · Sep 10, 2019
Related Publication 20230300335A1 · Sep 21, 2023
Cited By (1)
US 12,695,919