IP Library › Granted Patent US 11,172,196
Granted Patent B2
US 11,172,196 · App. 17/074,842 · Granted Nov 9, 2021

Bi-prediction with weights in video coding and decoding

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/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 11,172,196
App. No.
17/074,842
Filed
Oct 20, 2020
Granted
Nov 9, 2021
Kind
B2
Art Unit
2423
USPC
375/240.15
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 (43)

1. A method of video processing, comprising:

maintaining one or more tables with one or more motion candidates derived from one or more previous blocks, wherein arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table, wherein the 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, wherein in response to there being a redundant motion candidate in the table which is determined by comparing with a new motion candidate, the redundant motion candidate in the table is deleted to add the new motion candidate into the table, wherein the new motion candidate has a maximum index in the table;

constructing a motion candidate list based on the one or more tables, wherein the constructing comprises checking one or more motion candidates in the table to determine whether to add the checked motion candidate from the table into the motion candidate list, after checking at least one spatial neighboring block in the picture comprising a current block and a temporal block in a picture different from a picture comprising the current block; and

performing a conversion between the current block and a bitstream of a video based on the motion candidate list.

2. The method of claim 1 , wherein the method further comprises:

updating the one or more tables with GBI information derived for the current block.

3. The method of claim 1 , wherein the method further comprises:

updating the one or more tables with motion information and GBI information derived for the current block.

4. The method of claim 3 , wherein the updating comprises:

updating the one or more tables by adding the motion information and the GBI information as another new motion candidate.

5. The method of claim 1 , wherein one of the weights have a value choose from −¼, ⅜, ½, ⅝, and 5/4.

6. The method of claim 1 , wherein the table comprises at least one history-based motion vector prediction (HMVP) candidate.

7. The method of claim 1 , wherein at least one motion candidate is added into the motion candidate list, and the at least one candidate to be added inherits the motion information and the GBI information from at least one candidate in the table;

wherein the performing the conversion comprises:

determining motion information and GBI information for the current block based on the motion candidate list; and

performing the conversion based on the determined motion information and the GBI information.

8. The method of claim 1 , wherein the motion information comprises reference picture information and motion vectors.

9. The method of claim 2 , 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.

10. 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 the current block, and wherein N is less than 12.

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

12. 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.

13. The method of claim 11 , 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.

14. The method of claim 11 , 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.

15. The method of claim 11 , 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.

16. The method of claim 1 , wherein the performing comprises:

decoding the current block from the bitstream.

17. The method of claim 1 , wherein the performing comprises:

encoding the current block into the bitstream.

18. The method of claim 1 , wherein the checking of one or more motion candidates in the table is terminated responsive to a total number of existing motion candidates in the motion candidate list reaching a maximum number of allowed motion candidates in the motion candidate list minus 1.

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

maintain one or more tables with one or more motion candidates derived from one or more previous blocks, wherein arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table, wherein the 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, wherein in response to there being a redundant motion candidate in the table which is determined by comparing with a new motion candidate, the redundant motion candidate in the table is deleted to add the new motion candidate into the table, wherein the new motion candidate has a maximum index in the table;

construct a motion candidate list based on the one or more tables, wherein one or more motion candidates in the table are checked to determine whether to add the checked motion candidate from the table into the motion candidate list, after checking at least one spatial neighboring block in the picture comprising a current block and a temporal block in a picture different from a picture comprising the current block; and

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

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

maintain one or more tables with one or more motion candidates derived from one or more previous blocks, wherein arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table, wherein the 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, wherein in response to there being a redundant motion candidate in the table which is determined by comparing with a new motion candidate, the redundant motion candidate in the table is deleted to add the new motion candidate into the table, wherein the new motion candidate has a maximum index in the table;

construct a motion candidate list based on the one or more tables, wherein one or more motion candidates in the table are checked to determine whether to add the checked motion candidate from the table into the motion candidate list, after checking at least one spatial neighboring block in the picture comprising a current block and a temporal block in a picture different from a picture comprising the current block; and

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

21. A method for storing a bitstream of a video, comprising:

maintaining one or more tables with one or more motion candidates derived from one or more previous blocks, wherein arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table, wherein the 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, wherein in response to there being a redundant motion candidate in the table which is determined by comparing with a new motion candidate, the redundant motion candidate in the table is deleted to add the new motion candidate into the table, wherein the new motion candidate has a maximum index in the table;

constructing a motion candidate list based on the one or more tables, wherein the constructing comprises checking one or more motion candidates in the table to determine whether to add the checked motion candidate from the table into the motion candidate list, after checking at least one spatial neighboring block in the picture comprising a current block and a temporal block in a picture different from a picture comprising the current block;

generating the bitstream based on the motion candidate list; and

storing the bitstream in a non-transitory computer-readable recording medium.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2020
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 054106/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 20, 2020
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 054106/0767 →
Priority Claims (1)
WO PCT/CN2018/107178 · Sep 24, 2018 · international
Continuity (2)
Continuation PCTIB2019058079 · Sep 24, 2019
Related Publication 20210037256A1 · Feb 4, 2021
Cited By (4)
US 12,238,306 US 12,323,617 US 12,407,835 US 12,720,061