IP Library Granted Patent US 11,140,409
Granted Patent B2
US 11,140,409 · App. 16/861,579 · Granted Oct 5, 2021

DMVR and BDOF based inter prediction method and apparatus thereof

Inventors: Naeri Park (Seoul, KR); Junghak Nam (Seoul, KR); Hyeongmoon Jang (Seoul, KR)
Assignee: LG ELECTRONICS INC.
H04N19/52H04N19/176H04N19/577H04N19/139H04N19/56H04N19/70
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,140,409
App. No.
16/861,579
Granted
Oct 5, 2021
Kind
B2
Abstract

A video decoding method includes deriving an L0 motion vector and an L1 motion vector for a current block; deriving a refined L0 motion vector and a refined L1 motion vector, by applying DMVR to the current block based on DMVR flag information; deriving L0 prediction samples of the current block based on the refined L0 motion vector and L1 prediction samples of the current block based on the refined L1 motion vector; deriving prediction samples for the current block based on the L0 prediction samples and the L1 prediction samples, by applying BDOF to the current block based on BDOF flag information; and generating reconstruction samples for the current block based on the prediction samples, in which the DMVR flag information is derived based on a predetermined DMVR application condition, and the BDOF flag information is derived based on a predetermined BDOF application condition.

Claims (69)

1. A video decoding method performed by a decoding apparatus, the method comprising:

deriving an L0 motion vector and an L1 motion vector for a current block;

deriving a refined L0 motion vector and a refined L1 motion vector based on the L0 motion vector and the L1 motion vector, by applying Decoder-side Motion Vector Refinement (DMVR) to the current block based on DMVR flag information for representing whether to apply the DMVR to the current block;

deriving L0 prediction samples of the current block based on the refined L0 motion vector and L1 prediction samples of the current block based on the refined L1 motion vector;

deriving prediction samples for the current block based on the L0 prediction samples and the L1 prediction samples, by applying Bi-directional optical flow (BDOF) to the current block based on BDOF flag information for representing whether to apply the BDOF to the current block; and

generating reconstruction samples for the current block based on the prediction samples,

wherein the DMVR flag information is derived based on a predetermined DMVR application condition,

wherein the BDOF flag information is derived based on a predetermined BDOF application condition,

wherein the predetermined DMVR application condition is based on L0 luma weight prediction flag information, L1 luma weight prediction flag information, L0 chroma weight prediction flag information and L1 chroma weight prediction flag information, wherein based on both the L0 luma weight prediction flag information and the L1 luma weight prediction flag information being equal to 0 and both the L0 chroma weight prediction flag information and the L1 chroma weight prediction flag information being equal to 0, the DMVR flag information has the value for applying the DMVR to the current block,

wherein the predetermined BDOF application condition is based on L0 luma weight prediction flag information, L1 luma weight prediction flag information, L0 chroma weight prediction flag information and L1 chroma weight prediction flag information, wherein based on both the L0 luma weight prediction flag information and the L1 luma weight prediction flag information being equal to 0 and both the L0 chroma weight prediction flag information and the L1 chroma weight prediction flag information being equal to 0, the BDOF flag information has the value for applying the BDOF to the current block.

2. The method of claim 1 ,

wherein based on a value of the L0 luma weight prediction flag information being 1, it represents that weight factor for a luma component of L0 prediction is present,

wherein based on a value of the L1 luma weight prediction flag information being 0, it represents that weight factor for a luma component of L1 prediction is not present,

wherein based on a value of the L0 chroma weight prediction flag information being 1, it represents that weight factor for a chroma component of L0 prediction is present,

wherein based on a value of the L1 chroma weight prediction flag information being 0, it represents that weight factor for a chroma component of L1 prediction is not present,

wherein based on the L0 luma weight prediction flag information being equal to 1, the DMVR is not applied to the current block,

wherein based on the L1 luma weight prediction flag information being equal to 1, the DMVR is not applied to the current block,

wherein based on the L0 chroma weight prediction flag information being equal to 1, the DMVR is not applied to the current block,

wherein based on the L1 chroma weight prediction flag information being equal to 1, the DMVR is not applied to the current block.

3. The method of claim 1 , wherein the predetermined DMVR application condition include a condition in which the value of bi-prediction weight index information of the current block is 0,

wherein based on the value of the bi-prediction weight index information being 0, it represents a default case in which different weights are not applied to L0 prediction and L1 prediction, and

wherein the DMVR flag information is derived as a value representing that DMVR is applied to the current block based on the value of the bi-prediction weight index information being 0.

4. The method of claim 1 , wherein the predetermined DMVR application condition includes a condition in which a prediction mode in which inter prediction and intra prediction are combined is not applied to the current block, and

wherein the DMVR flag information is derived as a value representing that the DMVR is applied to the current block based on the prediction mode in which the inter prediction and the intra prediction are combined not applying to the current block.

5. The method of claim 1 ,

wherein based on a value of the L0 luma weight prediction flag information being 1, it represents that weight factor for a luma component of L0 prediction is present,

wherein based on the value of the L1 luma weight prediction flag information being 0, it represents that weight factor for a luma component of L1 prediction is not present,

wherein based on a value of the L0 chroma weight prediction flag information being 1, it represents that weight factor for a chroma component of L0 prediction is present,

wherein based on a value of the L1 chroma weight prediction flag information being 0, it represents that weight factor for a chroma component of L1 prediction is not present,

wherein based on the L0 luma weight prediction flag information being equal to 1, the BDOF is not applied to the current block,

wherein based on the L1 luma weight prediction flag information being equal to 1, the BDOF is not applied to the current block,

wherein based on the L0 chroma weight prediction flag information being equal to 1, the BDOF is not applied to the current block,

wherein based on the L1 chroma weight prediction flag information being equal to 1, the BDOF is not applied to the current block.

6. The method of claim 1 , wherein the predetermined BDOF application condition includes a condition in which a case in which a first picture order count (POC) between a current picture and an L0 reference picture and a second POC difference between the current picture and an L1 reference picture are the same as each other, and

wherein the BDOF flag information is derived as the value representing that BDOF is applied to the current block based on the first POC difference and the second POC difference being the same as each other.

7. The method of claim 1 , wherein the predetermined BDOF application condition includes a condition in which the prediction mode in which the inter prediction and the intra prediction are combined is not applied to the current block, and

wherein the BDOF flag information is derived as the value representing that the BDOF is applied to the current block based on the prediction mode in which the inter prediction and the intra prediction are combined not applying to the current block.

8. The method of claim 1 , wherein the deriving of the refined L0 motion vector and the refined L1 motion vector includes

deriving a minimum sum of absolute differences (SAD) by using reference samples in an L0 reference picture derived based on the L0 motion vector and reference samples in an L1 reference picture derived based on the L1 motion vector, and

deriving the refined L0 motion vector for the L0 motion vector and the refined L1 motion vector for the L1 motion vector, based on a sample position corresponding to the minimum SAD.

9. The method of claim 1 , wherein the deriving of the prediction samples includes

calculating a first gradient for the L0 prediction samples and a second gradient for the L1 prediction samples, and

deriving the prediction samples based on the L0 prediction samples, the L1 prediction samples, the first gradient, and the second gradient.

10. The method of claim 1 , wherein the deriving of the L0 motion vector and the L1 motion vector includes

determining whether a merge mode is applied to the current block,

configuring a merge candidate list based on neighboring blocks of the current block based on the merge mode being applied to the current block, and

deriving the L0 motion vector and the L1 motion vector based on a motion vector of a neighboring block indicated by merge index information among the neighboring blocks included in the merge candidate list.

11. A video encoding method performed by an encoding apparatus, the method comprising:

deriving an L0 motion vector and an L1 motion vector for a current block;

deriving a refined L0 motion vector and a refined L1 motion vector based on the L0 motion vector and the L1 motion vector, by applying Decoder-side Motion Vector Refinement (DMVR) to the current block based on DMVR flag information for representing whether to apply the DMVR to the current block;

deriving L0 prediction samples of the current block based on the refined L0 motion vector and L1 prediction samples of the current block based on the refined L1 motion vector;

deriving prediction samples for the current block based on the L0 prediction samples and the L1 prediction samples, by applying Bi-directional optical flow (BDOF) to the current block based on BDOF flag information for representing whether to apply the BDOF to the current block;

deriving residual samples based on the prediction samples; and

encoding video information including information on the residual samples,

wherein the DMVR flag information is derived based on a predetermined DMVR application condition,

wherein the predetermined DMVR application condition is based on L0 luma weight prediction flag information, L1 luma weight prediction flag information, L0 chroma weight prediction flag information and L1 chroma weight prediction flag information, wherein based on both the L0 luma weight prediction flag information and the L1 luma weight prediction flag information being equal to 0 and both the L0 chroma weight prediction flag information and the L1 chroma weight prediction flag information being equal to 0, the DMVR flag information has the value for applying the DMVR to the current block,

wherein the predetermined BDOF application condition is based on L0 luma weight prediction flag information, L1 luma weight prediction flag information, L0 chroma weight prediction flag information and L1 chroma weight prediction flag information, wherein based on both the L0 luma weight prediction flag information and the L1 luma weight prediction flag information being equal to 0 and both the L0 chroma weight prediction flag information and the L1 chroma weight prediction flag information being equal to 0, the BDOF flag information has the value for applying the BDOF to the current block.

12. A non-transitory computer-readable storage medium for storing encoded information causing a decoding apparatus to perform a video decoding method, the video decoding method comprising:

deriving an L0 motion vector and an L1 motion vector for a current block;

deriving a refined L0 motion vector and a refined L1 motion vector based on the L0 motion vector and the L1 motion vector, by applying Decoder-side Motion Vector Refinement (DMVR) to the current block based on DMVR flag information for representing whether to apply the DMVR to the current block;

deriving L0 prediction samples of the current block based on the refined L0 motion vector and L1 prediction samples of the current block based on the refined L1 motion vector;

deriving prediction samples for the current block based on the L0 prediction samples and the L1 prediction samples, by applying Bi-directional optical flow (BDOF) to the current block based on BDOF flag information for representing whether to apply the BDOF to the current block; and

generating reconstruction samples for the current block based on the prediction samples,

wherein the DMVR flag information is derived based on a predetermined DMVR application condition,

wherein the BDOF flag information is derived based on a predetermined BDOF application condition,

wherein the predetermined DMVR application condition is based on L0 luma weight prediction flag information, L1 luma weight prediction flag information, L0 chroma weight prediction flag information and L1 chroma weight prediction flag information, wherein based on both the L0 luma weight prediction flag information and the L1 luma weight prediction flag information being equal to 0 and both the L0 chroma weight prediction flag information and the L1 chroma weight prediction flag information being equal to 0, the DMVR flag information has the value for applying the DMVR to the current block,

wherein the predetermined BDOF application condition is based on L0 luma weight prediction flag information, L1 luma weight prediction flag information, L0 chroma weight prediction flag information and L1 chroma weight prediction flag information, wherein based on both the L0 luma weight prediction flag information and the L1 luma weight prediction flag information being equal to 0 and both the L0 chroma weight prediction flag information and the L1 chroma weight prediction flag information being equal to 0, the BDOF flag information has the value for applying the BDOF to the current block.

13. The method of claim 1 , wherein the predetermined BDOF application condition includes a condition in which a height of the current block is equal to or larger than 8, and

wherein the BDOF flag information is derived as the value representing that BDOF is applied to the current block based on the height of the current block being equal to or larger than 8.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2023
From: TAISSA RESEARCH LLC
To: ROSEDALE DYNAMICS LLC
Reel/Frame 062926/0951 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 11, 2022
From: LG ELECTRONICS INC.
To: TAISSA RESEARCH LLC
Reel/Frame 061148/0325 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2020
From: PARK, NAERI; NAM, JUNGHAK; JANG, HYEONGMOON
To: LG ELECTRONICS INC.
Reel/Frame 052524/0583 →
Continuity (3)
Continuation PCTKR2020001862 · Feb 11, 2020
Provisional Application 62822724 · Mar 22, 2019
Related Publication 20200314445A1 · Oct 1, 2020