IP Library › Granted Patent US 11,509,927
Granted Patent B2
US 11,509,927 · App. 17/228,935 · Granted Nov 22, 2022

Weighted prediction in video coding

Inventors: Hongbin Liu (Beijing, CN); Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/52H04N19/176H04N19/184
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,509,927
App. No.
17/228,935
Granted
Nov 22, 2022
Kind
B2
Abstract

A video processing method includes generating, for a conversion between a current block of a video and a bitstream representation of the video, a motion vector for the current block; invoking a weighted prediction processing tool or a second processing tool in a mutually exclusive manner; and performing the conversion according to the invoking. The invoking of the second processing tool comprises refining the motion vector.

Claims (51)

1. A video processing method, comprising:

generating, for a conversion between a current block of a video and a bitstream of the video, a motion vector for the current block;

invoking a first weighted prediction processing tool or a second processing tool in a mutually exclusive manner, wherein the second processing tool is a decoder side motion vector refinement (DMVR) tool for refining the motion vector; and

performing the conversion according to the invoking,

wherein the invoking the first weighted prediction processing tool comprises applying a linear weight and an offset to at least one prediction block of the current block to derive a final prediction of the current block, and

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether the first weighted prediction processing tool is enabled, a size of the current block, and whether the current block is coded with a bi-prediction mode, and

wherein the index indicates whether the fifth processing tool is enabled or disabled for the current block, and the fifth processing tool is a bi-prediction with CU-level weights; and wherein in response to the fifth processing tool being enabled for the current block, different weights are applied to a first prediction block and a second prediction block of the current block to acquire a final prediction of the current block.

2. The method of claim 1 , wherein the conversion generates the current block from the bitstream.

3. The method of claim 1 , wherein the conversion generates the bitstream based on the current block.

4. The method of claim 1 , wherein the invoking comprises:

determining, in case the first weighted prediction processing tool is enabled for the current block, that the second processing tool is disabled for the current block.

5. The method of claim 1 , wherein the invoking comprises:

determining, based on the first weighted prediction processing tool being disabled for the current block, that the second processing tool is enabled for the current block.

6. The method of claim 1 , wherein refining the motion vector comprises applying a motion vector offset to refine the motion vector, wherein the motion vector offset is determined based on a sum of absolute differences derived from a first reference block in a reference list 0 and a second reference block in a reference list 1 of the current block.

7. The method of claim 6 , wherein the sum of absolute differences is calculated based on partial positions of the first reference block and the second reference block.

8. The method of claim 1 , wherein, in case the first weighted prediction processing tool is applied to the current block, information indicating whether the second processing tool is applied to the current block is defaulted to have a value of zero.

9. The method of claim 1 , wherein information indicating whether the second processing tool is applied is signaled in at least one of a sequence parameter set (SPS), or a picture parameter set (PPS).

10. The method of claim 1 , wherein the invoking further comprises invoking the first weighted prediction processing tool or a third processing tool in a mutually exclusive manner, wherein the third processing tool applies a prediction offset to prediction samples in bi-prediction directions to derive a final prediction for the current block, wherein the prediction offset is determined based on multiple gradients in different directions.

11. The method of claim 10 , wherein the third processing tool comprises a bi-directional optical flow prediction process.

12. The method of claim 10 , wherein, in case the first weighted prediction processing tool is applied to the current block, information indicating whether the third processing tool is applied to the current block is defaulted to have a value of zero.

13. The method of claim 10 , wherein information indicating whether the third processing tool is applied is signaled in at least one of a sequence parameter set (SPS), or a picture parameter set (PPS).

14. The method of claim 1 , wherein the invoking further comprises invoking the first weighted prediction processing tool or a fourth processing tool in a mutually exclusive manner, the fourth processing tool comprising one of: a combined inter-intra prediction processing tool that generates the final prediction based on an inter prediction and an intra prediction, an affine processing tool that generates the final prediction based on a control point motion vector, or an overlapped block motion compensation processing tool that generates the final prediction based on motion vectors of a sub-block and spatial neighboring sub-block.

15. 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:

generate, for a conversion between a current block of a video and a bitstream of the video, a motion vector for the current block;

invoke a first weighted prediction processing tool or a second processing tool in a mutually exclusive manner, wherein the second processing tool is a decoder side motion vector refinement (DMVR) tool for refining the motion vector; and

perform the conversion according to the invoking;

wherein the invoking the first weighted prediction processing tool comprises applying a linear weight and an offset to at least one prediction block of the current block to derive a final prediction of the current block, and

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether the first weighted prediction processing tool is enabled, a size of the current block, and whether the current block is coded with a bi-prediction mode, and

wherein the index indicates whether the fifth processing tool is enabled or disabled for the current block, and the fifth processing tool is a bi-prediction with CU-level weights; and wherein in response to the fifth processing tool being enabled for the current block, different weights are applied to a first prediction block and a second prediction block of the current block to acquire a final prediction of the current block.

16. The apparatus of claim 15 , wherein the invoking comprises:

determining, in case the first weighted prediction processing tool is enabled for the current block, that the second processing tool is disabled for the current block.

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

generate, for a conversion between a current block of a video and a bitstream of the video, a motion vector for the current block;

invoke a first weighted prediction processing tool or a second processing tool in a mutually exclusive manner, wherein the second processing tool is a decoder side motion vector refinement (DMVR) tool for refining the motion vector; and

perform the conversion according to the invoking;

wherein the invoking the first weighted prediction processing tool comprises applying a linear weight and an offset to at least one prediction block of the current block to derive a final prediction of the current block, and

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether the first weighted prediction processing tool is enabled, a size of the current block, and whether the current block is coded with a bi-prediction mode, and

wherein the index indicates whether the fifth processing tool is enabled or disabled for the current block, and the fifth processing tool is a bi-prediction with CU-level weights; and wherein in response to the fifth processing tool being enabled for the current block, different weights are applied to a first prediction block and a second prediction block of the current block to acquire a final prediction of the current block.

18. The medium of claim 17 , wherein the invoking comprises:

determining, in case the first weighted prediction processing tool is enabled for the current block, that the second processing tool is disabled for the current block.

19. 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:

generating a motion vector for a current block;

invoking a first weighted prediction processing tool or a second processing tool in a mutually exclusive manner, wherein the second processing tool is a decoder side motion vector refinement (DMVR) tool for refining the motion vector; and

generating the bitstream based on the invoking;

wherein the invoking the first weighted prediction processing tool comprises applying a linear weight and an offset to at least one prediction block of the current block to derive a final prediction of the current block, and

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether the first weighted prediction processing tool is enabled, a size of the current block, and whether the current block is coded with a bi-prediction mode, and

wherein the index indicates whether the fifth processing tool is enabled or disabled for the current block, and the fifth processing tool is a bi-prediction with CU-level weights; and wherein in response to the fifth processing tool being enabled for the current block, different weights are applied to a first prediction block and a second prediction block of the current block to acquire a final prediction of the current block.

20. The method of claim 1 , wherein the index is signaled in the bitstream if at least one condition is satisfied, wherein the at least one condition comprises:

the current block being coded with a bi-prediction mode;

the first weighted prediction processing tool being disabled for a luma component and a chroma component of the current block; and

a product of a width and a height of the current block being equal to or larger than 256.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2021
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 055904/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 055904/0899 →
Priority Claims (1)
WO PCT/CN2019/071759 · Jan 15, 2019 · international
Continuity (2)
Continuation PCTCN2020072241 · Jan 15, 2020
Related Publication 20210266587A1 · Aug 26, 2021
Cited By (7)
US 12,348,760 US 12,363,337 US 12,432,355 US 12,477,106 US 12,621,432 US 12,627,790 US 12,744,910