IP Library › Granted Patent US 12,132,889
Granted Patent B2
US 12,132,889 · App. 18/190,477 · Granted Oct 29, 2024

Simplified history based motion vector prediction

Inventors: Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/105H04N19/109H04N19/159H04N19/176H04N19/513H04N19/52H04N19/577
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,132,889
App. No.
18/190,477
Granted
Oct 29, 2024
Kind
B2
Abstract

A video coding or decoding method includes using history-based motion vector prediction (HMVP) for conversion between multiple video blocks including a current block of video and a bitstream representation of the multiple video blocks such that for a uni-predicted block that for which a single reference picture is used for motion compensation, refraining from updating a look-up table for HMVP candidates for the uni-predicted block. The video coding or decoding method further includes performing the conversion using look-up tables for the multiple video blocks.

Claims (69)

1. A method of video processing, comprising:

determining, after a conversion between a video block of a video comprising multiple blocks and a bitstream of the video, whether a rule of updating one or more history-based motion vector prediction (HMVP) tables with HMVP candidates is satisfied, wherein the rule of updating is based on a prediction direction used for the conversion; and

selectively updating the one or more HMVP tables based on the determining,

wherein the method further comprises:

maintaining one or more tables with one or more first motion candidates derived from one or more previous blocks, wherein arrangement of the first motion candidates in the table is based on a sequence of addition of the first motion candidates into the table, wherein the first motion candidate in the table comprises motion information and generalized bi-prediction (GBi) information, wherein the GBi information indicates coding unit (CU)-level weights which are assigned to prediction blocks generated from a bi-prediction step of a corresponding previous block; and

constructing a first motion candidate list based on the one or more tables.

2. The method of claim 1 , wherein the rule of updating specifies to skip updating the one or more HMVP tables due to the prediction direction being a uni-direction.

3. The method of claim 1 , wherein the rule of updating specifies to update the one or more HMVP tables due to the prediction direction being a bi-prediction.

4. The method of claim 1 , wherein the rule of updating specifies to update the one or more HMVP tables due to the prediction direction being a uni-direction and due to use of multiple reference pictures during the conversion; and

wherein the selectively updating comprises updating the one or more HMVP tables using multi-hypothesis motion information of the video block.

5. The method of claim 1 , wherein the rule of updating the one or more HMVP tables with HMVP candidates is further based on motion information associated with the multiple blocks of the video, wherein the HMVP candidates are stored using a first precision of motion information lower than a second precision of motion information used by motion candidates not stored in the one or more HMVP tables; and

wherein the first precision of motion information is 8, 10, 12 or 14, and the second precision of motion information is 16.

6. The method of claim 5 , wherein the determining whether the rule of updating is satisfied comprises:

selecting a HMVP candidate from the HMVP candidates; and

performing a comparison of the HMVP candidate with a motion candidate stored in a motion candidate list in accordance with the second precision of motion information;

wherein the comparison includes applying a bit shift operation, wherein the bit shift operation is expressed as (1<<(K−L)), wherein K denotes the second precision of motion information and L denotes the first precision of motion information;

wherein the selectively updating comprises:

upon determining that the HMVP candidate is different from the motion candidate, adding the HMVP candidate to the motion candidate list.

7. The method of claim 1 , wherein the rule of updating the one or more HMVP tables with HMVP candidates is further based on motion information associated with the multiple blocks of the video, wherein the HMVP candidates in the one or more HMVP tables are stored in accordance with a rule based at least on a condition of reference pictures to which the HMVP candidates refer to; wherein only HMVP candidates referring to certain reference pictures are stored in the one or more HMVP tables, thereby avoiding having to store reference picture index information in the one or more HMVP tables, wherein the certain reference pictures are pre-defined or signaled in the bitstream of the video; and

wherein the selectively updating comprises:

upon determining that a motion information of the video block fails to refer to the certain reference pictures, scaling the motion information of the video block to at least one of the certain reference pictures prior to storing the motion information of the video block in the one or more HMVP tables.

8. The method of claim 1 , wherein the rule of updating the one or more HMVP tables with HMVP candidates is further based on motion information associated with the multiple blocks of the video, wherein the selectively updating comprises:

selecting an HMVP candidate from the HMVP candidates in the one or more HMVP tables; and

updating the one or more HMVP tables using a hash-table based pruning applied to the HMVP candidate and a motion information of the video block of the video;

wherein the hash-table based pruning includes performing a comparison of a hash value of the HMVP candidate and a hash value of the motion information of the video block of the video; and

wherein the selectively updating further comprises:

upon determining that the hash value of the HMVP candidate is identical to the hash value of the motion information of the video block of the video, removing the HMVP candidate from the one or more HMVP tables.

9. The method of claim 1 , further comprising:

performing the conversion between the video block of the video and the bitstream of the video, wherein the one or more HMVP tables are used during the conversion.

10. The method of claim 1 , further comprising:

updating the one or more tables with GBi information derived for a current block; or

updating the one or more tables with motion information and GBi information derived for the current block;

wherein the updating the one or more tables with motion information and GBi information derived for the current block comprises:

updating the one or more tables by adding the motion information and the GBi information as a new motion candidate;

wherein one of the weights has a value chosen from −1/4, 3/8, 1/2, 5/8, and 5/4.

11. The method of claim 1 , wherein the table comprises at least one HMVP candidate;

wherein at least one motion candidate is added into the first motion candidate list, and the at least one motion candidate to be added inherits the motion information and the GBi information from at least one first motion candidate in the table;

wherein the performing a conversion comprises:

determining motion information and GBi information for a current block based on the first motion candidate list; and

performing the conversion based on the determined motion information and the GBi information,

wherein the motion information comprises reference picture information and motion vectors.

12. The method of claim 10 , further comprising:

performing a conversion between another block of the video and the bitstream of the video, wherein the updated one or more tables are used to construct a motion candidate list during the conversion between the another block of the video and the bitstream of the video.

13. The method of claim 1 , wherein during the constructing, a combined bi-predictive merge candidate is generated by comparing N number of pairs of motion information of a current block, and wherein N is less than 12; or

wherein during the constructing, a combined bi-predictive merge candidate is generated using only a certain type of merge candidates.

14. The method of claim 1 , wherein during the constructing, one or multiple merge candidates are generated from a candidate in the table based on at least one weight included in the GBi information;

wherein the multiple merge candidates use a same motion information as a motion information of the candidate in the table and the multiple merge candidates further use different associated weights than a weight of the HMVP candidate;

wherein at most a first merge candidate and a second merge candidate are generated, wherein a weight of the first merge candidate is equal to the weight of the candidate in the table and a weight of the second merge candidate is equal to a weight of a pair of reference pictures used in the conversion;

wherein a number of merge candidates generated from the candidate in the table is based on at least one of a number of allowed weights, a number of available motion candidates prior to addition.

15. The method of claim 1 , further comprising:

constructing a second motion candidate list for a current block of the video at least based on at least one first motion candidate in the table and at least one second motion candidate, wherein in the second motion candidate list, the at least one first motion candidate is to be added before the at least one second motion candidate, wherein the second motion candidate is derived from at least one motion candidate that has been added into the second motion candidate list.

16. The method of claim 15 , wherein the second motion candidate list is a merge candidate list; wherein the first motion candidate is an HMVP candidate; wherein the second motion candidate is a pairwise-average candidate; wherein the second motion candidate is allowed to be derived from one or more first motion candidates;

wherein the first motion candidate is to be added after a spatio-temporal motion vector predictor for the current block; or the first motion candidate is to be added after an affine motion candidate for the current block; and

wherein the first motion candidate is to be added before a spatio-temporal motion vector predictor for the current block; or the first motion candidate is to be added before a default affine motion candidate for the current block;

wherein first motion candidates are to be interweaved with spatio-temporal motion vector predictors for the current block such that a portion of the first motion candidates are added before the spatio-temporal motion vector predictors and another portion of the first motion candidates are added after the spatio-temporal motion vector predictors; or

wherein first motion candidates are to be interweaved with affine motion candidates for the current block such that a portion of the first motion candidates are added before the affine motion candidates and another portion of the first motion candidates are added after the affine motion candidates.

17. The method of claim 15 , wherein addition of the first motion candidate to the second motion candidate list dynamically varies from one block to another.

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

determine, after a conversion between a video block of a video comprising multiple blocks and a bitstream of the video, whether a rule of updating one or more history-based motion vector prediction (HMVP) tables with HMVP candidates is satisfied, wherein the rule of updating is based on a prediction direction used for the conversion; and

selectively update the one or more HMVP tables based on the determining,

wherein the instructions upon execution by the processor further cause the processor to:

maintain one or more tables with one or more first motion candidates derived from one or more previous blocks, wherein arrangement of the first motion candidates in the table is based on a sequence of addition of the first motion candidates into the table, wherein the first motion candidate in the table comprises motion information and generalized bi-prediction (GBi) information, wherein the GBi information indicates coding unit (CU)-level weights which are assigned to prediction blocks generated from a bi-prediction step of a corresponding previous block; and

construct a first motion candidate list based on the one or more tables.

19. A non-transitory computer-readable storage medium having code stored thereupon, the code including instructions causing a processor to implement a method of video processing, wherein the method comprises:

determining, after a conversion between a video block of a video comprising multiple blocks and a bitstream of the video, whether a rule of updating one or more history-based motion vector prediction (HMVP) tables with HMVP candidates is satisfied, wherein the rule of updating is based on a prediction direction used for the conversion; and

selectively updating the one or more HMVP tables based on the determining,

wherein the method further comprises:

maintaining one or more tables with one or more first motion candidates derived from one or more previous blocks, wherein arrangement of the first motion candidates in the table is based on a sequence of addition of the first motion candidates into the table, wherein the first motion candidate in the table comprises motion information and generalized bi-prediction (GBi) information, wherein the GBi information indicates coding unit (CU)-level weights which are assigned to prediction blocks generated from a bi-prediction step of a corresponding previous block; and

constructing a first motion candidate list based on the one or more tables.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 063869/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 063869/0824 →
Priority Claims (1)
WO PCT/CN2018/107178 · Sep 24, 2018 · international
Continuity (3)
Continuation 17210797 · Mar 24, 2021
Continuation PCTIB2019058078 · Sep 24, 2019
Related Publication 20230300322A1 · Sep 21, 2023
Cited By (2)
US 12,323,617 US 12,407,835