IP Library › Granted Patent US 12,088,837
Granted Patent B2
US 12,088,837 · App. 17/975,005 · Granted Sep 10, 2024

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 12,088,837
App. No.
17/975,005
Granted
Sep 10, 2024
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 (58)

1. A video processing method, comprising:

performing a conversion between a current block of a video and a bitstream of the video,

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether a 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,

wherein 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,

wherein the fifth processing tool is a bi-prediction with CU-level weights, and

wherein the index is signaled in the bitstream when at least one condition is satisfied, and wherein the at least one condition comprises:

the current block being coded with the 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.

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

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

4. The method of claim 1 , further comprising invoking the first weighted prediction processing tool or a second processing tool in a mutually exclusive manner, wherein the invoking the second processing tool comprises refining a motion vector of the current block,

wherein the invoking the first weighted prediction processing tool or the second processing tool 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; or

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.

5. The method of claim 4 , wherein refining the motion vector comprises applying a motion vector offset to refine the motion vector, and

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.

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

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

8. The method of claim 4 , 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).

9. The method of claim 4 , wherein the second processing tool comprises a decoder side motion vector refinement process.

10. The method of claim 1 , further comprising 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.

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

perform a conversion between a current block of a video and a bitstream of the video,

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether a 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,

wherein 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,

wherein the fifth processing tool is a bi-prediction with CU-level weights, and

wherein the index is signaled in the bitstream when at least one condition is satisfied, and wherein the at least one condition comprises:

the current block being coded with the 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.

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

perform a conversion between a current block of a video and a bitstream of the video,

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether a 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,

wherein 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,

wherein the fifth processing tool is a bi-prediction with CU-level weights, and

wherein the index is signaled in the bitstream when at least one condition is satisfied, and wherein the at least one condition comprises:

the current block being coded with the 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.

13. 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 the bitstream of the video from a current block of the video,

wherein whether an index associated with a fifth processing tool is signaled in the bitstream is based on whether a 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,

wherein 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,

wherein the fifth processing tool is a bi-prediction with CU-level weights, and

wherein the index is signaled in the bitstream when at least one condition is satisfied, and wherein the at least one condition comprises:

the current block being coded with the 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.

14. The method of claim 1 , 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 the final prediction of the current block.

15. The method of claim 1 , further comprising 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 the final prediction of the current block, and wherein the prediction offset is determined based on multiple gradients in different directions, and

wherein the third processing tool comprises a bi-directional optical flow prediction process.

16. The apparatus of claim 11 , 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 the final prediction of the current block.

17. The non-transitory computer-readable storage medium of claim 12 , wherein in response to the fifth processing tool is 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 the final prediction of the current block.

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

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

20. The non-transitory computer-readable recording medium of claim 13 , 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 the final prediction of the current block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2023
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 062513/0417 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2023
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 062513/0538 →
Priority Claims (1)
WO PCT/CN2019/071759 · Jan 15, 2019 · international
Continuity (3)
Continuation 17228935 · Apr 13, 2021
Continuation PCTCN2020072241 · Jan 15, 2020
Related Publication 20230067372A1 · Mar 2, 2023
Cited By (2)
US 12,621,432 US 12,627,790