IP Library Granted Patent US 11,412,212
Granted Patent B2
US 11,412,212 · App. 17/199,985 · Granted Aug 9, 2022

Partial pruning method for inter prediction

Inventors: Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Jizheng Xu (San Diego, CA); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/105H04N19/109H04N19/137H04N19/176H04N19/503H04N19/513H04N19/139H04N19/159
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 11,412,212
App. No.
17/199,985
Granted
Aug 9, 2022
Kind
B2
Abstract

Techniques for video encoding and decoding are described. An example method of video processing is disclosed. The method includes classifying motion candidates in a candidate list into a plurality of categories of motion candidates, each category being assigned a corresponding pruning rule; performing pruning or skipping the pruning of the motion candidates in the candidate list based on the corresponding pruning rule, the pruning being applied to determine whether to insert motion candidates from the candidate list into a final candidate list for a current block; and performing a video processing on the current block based on the final candidate list.

Claims (62)

1. A method of video processing, comprising:

constructing a motion candidate list for a current block,

wherein the constructing includes

determining, based on an index of a history motion vector prediction (HMVP) candidate in an HMVP list, whether to perform pruning on the HMVP candidate, and

selectively performing pruning by comparing the HMVP candidate with one or more existing motion candidates in the motion candidate list to determine whether to insert the HMVP candidate from the HMVP list into the motion candidate list or skipping the pruning of the HMVP candidate based on the determining,

wherein, in case the pruning is skipped, the HMVP candidate is directly inserted into the motion candidate list without comparing the HMVP candidate with the one or more existing motion candidates in the motion candidate list; and

performing a conversion between the current block and a bitstream based on the motion candidate list,

wherein, in case the index of the HMVP candidate is in a first index range, the pruning is performed,

wherein, in case the index of the HMVP candidate is in a second index range different from the first index range, the pruning is skipped,

wherein the pruning comprises a partial pruning where each one of the one or more existing motion candidates used to be compared with the HMVP candidate is derived from a given spatial neighboring block of the current block, and

wherein, for performing the partial pruning, when (a) the motion candidate list comprises at least one extra motion candidate which is not included in the one or more existing motion candidates used to be compared with the HMVP candidates and (b) motion information of the HMVP candidate is not identical to motion information of the one or more existing motion candidates, the HMVP candidate is inserted directly into the motion candidate list without comparing the HMVP candidate with the at least one extra motion candidate.

2. The method of claim 1 , wherein the first index range is [X1, X2] and the second index range is [X3, X4], X1, X2, X3 and X4 being integers.

3. The method of claim 1 , wherein the second index range is [StartIdx, K] and the first index range is [K+1, N], StartIdx, K and N being integers.

4. The method of claim 3 , wherein at least one of StartIdx, K and N is pre-defined.

5. The method of claim 1 , wherein the given spatial neighboring block comprises a left spatial neighboring block of the current block and an above spatial neighboring block of the current block.

6. The method of claim 1 , wherein the one or more existing motion candidates are adjacent in the motion candidate list.

7. The method of claim 1 , wherein the pruning further comprises a full pruning that includes

comparing the HMVP candidate to all of the existing motion candidates in the motion candidate list.

8. The method of claim 7 , wherein a determination of whether the full pruning or the partial pruning is applied to the current block depends on at least one of a number of all the existing motion candidates in the motion candidate list or types of the existing motion candidates in the motion candidate list.

9. The method of claim 1 , wherein whether performing the pruning or skipping the pruning is further based on a status of the motion candidate list before inserting the HMVP candidate, and wherein the status of the motion candidate list comprises at least one of a number of the existing motion candidates in the motion candidate list or types of the existing motion candidates in the motion candidate list.

10. The method of claim 1 , wherein

the HMVP candidate is inserted into the motion candidate list further based on a number of all the existing candidates in the motion candidate list failing to reach a predefined value, or

the HMVP candidate is not inserted into the motion candidate list based on the number of all the existing candidates in the motion candidate list reaching the predefined value.

11. The method of claim 1 , wherein the current block is coded with one of the modes including a merge mode, or a geometry partition mode.

12. The method of claim 1 , wherein the conversion comprises encoding the current block into the bitstream.

13. The method of claim 1 , wherein the conversion comprises decoding the current block from the bitstream.

14. An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:

construct a motion candidate list for a current block,

wherein the constructing includes

determining, based on an index of a history motion vector prediction (HMVP) candidate in an HMVP list, whether to perform pruning on the history motion vector prediction (HMVP) candidate, and

selectively performing pruning by comparing the HMVP candidate with one or more existing motion candidates in the motion candidate list to determine whether to insert the HMVP candidate from the HMVP list into the motion candidate list or skipping the pruning of the HMVP candidate based on the determining,

wherein, in case the pruning is skipped, the HMVP candidate is directly inserted into the motion candidate list without comparing the HMVP candidate with the one or more existing motion candidates in the motion candidate list; and

perform a conversion between the current block and a bitstream based on the motion candidate list,

wherein, in case the index of the HMVP candidate is in a first index range, the pruning is performed,

wherein, in case the index of the HMVP candidate is in a second index range different from the first index range, the pruning is skipped,

wherein the pruning comprises a partial pruning where each one of the one or more existing motion candidates used to be compared with the HMVP candidate is derived from a given spatial neighboring block of the current block, and,

wherein, for performing the partial pruning, when (a) the motion candidate list comprises at least one extra motion candidate which is not included in the one or more existing motion candidates used to be compared with the HMVP candidates and (b) motion information of the HMVP candidate is not identical to motion information of the one or more existing motion candidates, the HMVP candidate is inserted directly into the motion candidate list without comparing the HMVP candidate with the at least one extra motion candidate.

15. The apparatus of claim 14 , wherein the first index range is [X1, X2] and the second index range is [X3, X4], X1, X2, X3 and X4 being integers, or the first index range is [StartIdx, K] and the second index range is [K+1, N], StartIdx, K and N being integers, and wherein at least one of StartIdx, K and N is pre-defined.

16. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

construct a motion candidate list for a current block,

wherein the constructing includes

determining, based on an index of a history motion vector prediction (HMVP) candidate in an HMVP list, whether to perform pruning on the history motion vector prediction (HMVP) candidate, and

selectively performing pruning by comparing the HMVP candidate with one or more existing motion candidates in the motion candidate list to determine whether to insert the HMVP candidate from the HMVP list into the motion candidate list or skipping the pruning of the HMVP candidate based on the determining,

wherein, in case the pruning is skipped, the HMVP candidate is directly inserted into the motion candidate list without comparing the HMVP candidate with the one or more existing motion candidates in the motion candidate list; and

perform a conversion between the current block and a bitstream based on the motion candidate list,

wherein, in case the index of the HMVP candidate is in a first index range, the pruning is performed,

wherein, in case the index of the HMVP candidate is in a second index range different from the first index range, the pruning is skipped,

wherein the pruning comprises a partial pruning where each one of the one or more existing motion candidates used to be compared with the HMVP candidate is derived from a given spatial neighboring block of the current block, and

wherein, for performing the partial pruning, when (a) the motion candidate list comprises at least one extra motion candidate which is not included in the one or more existing motion candidates used to be compared with the HMVP candidates and (b) motion information of the HMVP candidate is not identical to motion information of the one or more existing motion candidates, the HMVP candidate is inserted directly into the motion candidate list without comparing the HMVP candidate with the at least one extra motion candidate.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the first index range is [X1, X2] and the second index range is [X3, X4], X1, X2, X3 and X4 being integers, or the first index range is [StartIdx, K] and the second index range is [K+1, N], StartIdx, K and N being integers, wherein at least one of StartIdx, K and N is pre-defined.

18. A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:

constructing a motion candidate list for a current block,

wherein the constructing includes

determining, based on an index of a history motion vector prediction (HMVP) candidate in an HMVP list, whether to perform pruning on the HMVP candidate, and

selectively performing pruning by comparing the HMVP candidate with one or more existing motion candidates in the motion candidate list to determine whether to insert the HMVP candidate from the HMVP list into the motion candidate list or skipping the pruning of the HMVP candidate based on the determining,

wherein, in case the pruning is skipped, the HMVP candidate is directly inserted into the motion candidate list without comparing the HMVP candidate with the one or more existing motion candidates in the motion candidate list; and

generating the bitstream based on the motion candidate list,

wherein, in case the index of the HMVP candidate is in a first index range, the pruning is performed,

wherein, in case the index of the HMVP candidate is in a second index range different from the first index range, the pruning is skipped,

wherein the pruning comprises a partial pruning where each one of the one or more existing motion candidates used to be compared with the HMVP candidate is derived from a given spatial neighboring block of the current block, and

wherein, for performing the partial pruning, when (a) the motion candidate list comprises at least one extra motion candidate which is not included in the one or more existing motion candidates used to be compared with the HMVP candidates and (b) motion information of the HMVP candidate is not identical to motion information of the one or more existing motion candidates, the HMVP candidate is inserted directly into the motion candidate list without comparing the HMVP candidate with the at least one extra motion candidate.

19. The non-transitory computer-readable recording medium of claim 18 , wherein the first index range is [X1, X2] and the second index range is [X3, X4], X1, X2, X3 and X4 being integers, or the first index range is [StartIdx, K] and the second index range is [K+1, N], StartIdx, K and N being integers, wherein at least one of StartIdx, K and N is pre-defined.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2021
From: ZHANG, LI; ZHANG, KAI; XU, JIZHENG
To: BYTEDANCE INC.
Reel/Frame 055576/0676 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 055576/0785 →
Priority Claims (1)
WO PCT/CN2018/118896 · Dec 3, 2018 · international
Continuity (2)
Continuation PCTCN2019122828 · Dec 3, 2019
Related Publication 20210203922A1 · Jul 1, 2021
Cited By (1)
US 12,445,602