IP Library Granted Patent US 11,089,310
Granted Patent B2
US 11,089,310 · App. 17/005,483 · Granted Aug 10, 2021

Interpolation for inter prediction with refinement

Inventors: Kai Zhang (San Diego, CA); Li Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/159H04N19/117H04N19/132H04N19/172H04N19/176H04N19/186H04N19/96
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,089,310
App. No.
17/005,483
Granted
Aug 10, 2021
Kind
B2
Abstract

Devices, systems and methods for digital video coding, which includes inter prediction with refinement, are described. An exemplary method of video processing includes determining to use, for a conversion between a current block of a video and a bitstream representation of the video, a first linear optimization model for the conversion using a first coding mode, the first linear optimization model being derived from a second linear optimization model that is used for the conversion using a second coding mode, and performing, based on the determining, the conversion. Another exemplary method of video processing includes determining to use, for a conversion between a current block of a video and a bitstream representation of the video, a gradient value computation algorithm for a bi-directional optical flow tool, and performing, based on the determining, the conversion.

Claims (45)

1. A method of processing video data, comprising:

determining that a coding mode using optical flow is enabled for a current video block of a video;

deriving, with a padding operation instead of a first interpolating filtering operation, one or more outer samples for the current video block;

performing, a second interpolation filtering operation for the current video block; and

performing, based on the padding operation and the second interpolation filtering operation, a conversion between the current video block and a bitstream of the video,

wherein a size of the current video block is M×N, wherein a first number of samples required by a gradient calculation is (M+G)×(N+G), and an interpolation filter used in the second interpolation filtering operation for a luma component of the current video block comprises L taps, and

wherein a third number of samples required by the second interpolation filtering operation with enabling the coding mode using optical flow is (M+k+L−1)×(N+k+L−1), wherein M, N, G, and L are positive integers, and wherein k is an integer less than G.

2. The method of claim 1 , wherein a bi-linear filter is used in the first interpolation filtering operation.

3. The method of claim 1 , wherein only an 8-tap interpolation filter is used in the second interpolation filtering operation for a luma component of the current video block.

4. The method of claim 1 , wherein a second number of samples required by the second interpolation filtering operation without enabling the coding mode using optical flow is (M+L−1)×(N+L−1).

5. The method of claim 4 , wherein a fourth number of samples that comprise a difference between the second number of samples and the third number of samples are padded in the padding operation.

6. The method of claim 4 , wherein L=8 and G=2.

7. The method of claim 4 , wherein k=0.

8. The method of claim 4 , wherein M is equal to 8 or 16, and N is equal to 8 or 16.

9. The method of claim 1 , wherein the coding mode using optical flow comprises a bi-directional optical flow (BDOF) prediction mode.

10. The method of claim 1 , wherein the conversion includes decoding the current video block from the bitstream.

11. The method of claim 1 , wherein the conversion includes encoding the current video block into the bitstream.

12. The method of claim 1 , wherein the one or more outer samples include a top and a bottom row, a left and a right column of a prediction sample region corresponding to the current video block, and wherein the prediction sample region has a size (M+G)×(N+G).

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

determine that a coding mode using optical flow is enabled for a current video block of a video;

derive, with a padding operation instead of a first interpolating filtering operation, one or more outer samples for the current video block;

perform, a second interpolation filtering operation for the current video block; and

perform, based on the padding operation and the second interpolation filtering operation, a conversion between the current video block and a bitstream of the video,

wherein a size of the current video block is M×N, wherein a first number of samples required by a gradient calculation is (M+G)×(N+G), and an interpolation filter used in the second interpolation filtering operation for a luma component of the current video block comprises L taps, and

wherein a third number of samples required by the second interpolation filtering operation with enabling the coding mode using optical flow is (M+k+L−1)×(N+k+L−1), wherein M, N, G, and L are positive integers, and wherein k is an integer less than G.

14. The apparatus of claim 13 , wherein a bi-linear filter is used in the first interpolation filtering operation.

15. The apparatus of claim 13 , wherein only an 8-tap interpolation filter is used in the second interpolation filtering operation for a luma component of the current video block.

16. The apparatus of claim 13 , wherein a second number of samples required by the second interpolation filtering operation without enabling the coding mode using optical flow is (M+L−1)×(N+L−1).

17. The apparatus of claim 16 , wherein a fourth number of samples that comprise a difference between the second number of samples and the third number of samples are padded in the padding operation.

18. The apparatus of claim 16 , wherein L=8, k=0 and G=2.

19. The apparatus of claim 13 , wherein the coding mode using optical flow comprises a bi-directional optical flow (BDOF) prediction mode.

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

determine that a coding mode using optical flow is enabled for a current video block of a video;

derive, with a padding operation instead of a first interpolating filtering operation, one or more outer samples for the current video block;

perform, a second interpolation filtering operation for the current video block; and

perform, based on the padding operation and the second interpolation filtering operation, a conversion between the current video block and a bitstream of the video,

wherein a size of the current video block is M×N, wherein a first number of samples required by a gradient calculation is (M+G)×(N+G), and an interpolation filter used in the second interpolation filtering operation for a luma component of the current video block comprises L taps, and

wherein a third number of samples required by the second interpolation filtering operation with enabling the coding mode using optical flow is (M+k+L−1)×(N+k+L−1), wherein M, N, G, and L are positive integers, and wherein k is an integer less than G.

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

determining that a coding mode using optical flow is enabled for a current video block of a video;

deriving, with a padding operation instead of a first interpolating filtering operation, one or more outer samples for the current video block;

performing, a second interpolation filtering operation for the current video block; and

generating the bitstream from the current video block based on the padding operation and the second interpolation filtering operation,

wherein a size of the current video block is M×N, wherein a first number of samples required by a gradient calculation is (M+G)×(N+G), and an interpolation filter used in the second interpolation filtering operation for a luma component of the current video block comprises L taps, and

wherein a third number of samples required by the second interpolation filtering operation with enabling the coding mode using optical flow is (M+k+L−1)×(N+k+L−1), wherein M, N, G, and L are positive integers, and wherein k is an integer less than G.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2020
From: ZHANG, KAI; ZHANG, LI
To: BYTEDANCE INC.
Reel/Frame 053634/0145 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2020
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 053634/0166 →
Priority Claims (1)
WO PCT/CN2018/113928 · Nov 5, 2018 · international
Continuity (2)
Continuation PCTCN2019115697 · Nov 5, 2019
Related Publication 20200396453A1 · Dec 17, 2020
Cited By (1)
US 12,634,477