IP Library › Granted Patent US 12,666,035
Granted Patent B2
US 12,666,035 · App. 18/799,312 · Granted Jun 23, 2026

Symmetric motion vector difference coding

Inventors: Jiancong Luo (Skillman, NJ); Xiaoyu Xiu (San Diego, CA); Yuwen He (San Diego, CA); Hua Yang (Plainsboro, NJ)
Assignee: InterDigital VC Holdings, Inc.
H04N19/137H04N19/105H04N19/159H04N19/176H04N19/46H04N19/513
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,666,035
App. No.
18/799,312
Filed
Aug 9, 2024
Granted
Jun 23, 2026
Kind
B2
Art Unit
3619
USPC
375/240.02
Abstract

Bi-directional optical flow (BDOF) may be bypassed, for a current coding block, based on whether symmetric motion vector difference (SMVD) is used in motion vector coding for the current coding block. A coding device (e.g., an encoder or a decoder) may determine whether to bypass BDOF for the current coding block based at least in part on an SMVD indication for the current coding block. The coding device may obtain the SMVD indication that indicates whether SMVD is used in motion vector coding for the current coding block. If SMVD indication indicates that SMVD is used in the motion vector coding for the current coding block, the coding device may bypass BDOF for the current coding block. The coding device may reconstruct the current coding block without performing BDOF if it determines to bypass BDOF for the current coding block.

Claims (68)

1 . A device for video encoding, comprising:

a processor configured to:

obtain, for a video block, a first motion vector difference (MVD) associated with a reference picture of the video block;

determine, based on a symmetric motion vector difference (SMVD) indication indicating SMVD is used for the video block, a second MVD based on the first MVD associated with the reference picture, wherein the second MVD is symmetric to the first MVD;

obtain a first prediction block of the video block based on the first MVD and a second prediction block of the video block based on the second MVD;

determine a first weight and a second weight of bi-prediction with CU weights (BCW) for the video block;

apply the first weight of BCW to the first prediction block and the second weight of BCW to the second prediction block to obtain a third prediction block; and

encode the video block based on the third prediction block.

2 . The device of claim 1 , wherein the processor is further configured to:

determine a first motion vector predictor (MVP) associated with the video block and a second MVP associated with the video block;

determine a first motion vector (MV) of the video block based on the first MVD and the first MVP associated with the video block, wherein the first prediction block is determined based on the first MV of the video block; and

determine a second MV of the video block based on the second MVD and the second MVP associated with the video block, wherein the second prediction block is determined based on the second MV of the video block.

3 . The device of claim 1 , wherein the reference picture is associated with a first reference picture list of the video block, and the processor is further configured to determine the reference picture of the first reference picture list of the video block based on a picture order count (POC) of the reference picture and a POC of a current picture comprising the video block.

4 . The device of claim 1 , wherein the processor is further configured to:

determine the second weight based on the first weight; and

encode a weight index, wherein the weight index indicates the first weight.

5 . The device of claim 1 , wherein the processor is further configured to:

determine an initial motion vector (MV) using an initial MV candidate list, wherein the initial MV candidate list comprises an MV obtained using a uni-prediction search, an MV obtained using a bi-prediction search, and a plurality of MVs from an advanced motion vector prediction (AMVP) list;

perform an MVD search using the initial MV; and

determine, based on the MVD search, that the first MVD and the second MVD are to be used to encode the video block.

6 . The device of claim 5 , wherein the processor is further configured to:

perform the bi-prediction search;

determine that a rate distortion (RD) cost associated with the bi-prediction search is higher than an RD threshold; and

terminate the bi-prediction search based on the determination that the RD cost associated with the bi-prediction search is higher than the RD threshold.

7 . The device of claim 1 , wherein the processor is further configured to signal both a symmetric MVD flag and a weight index for explicit bi-prediction mode.

8 . A device for video decoding, comprising:

a processor configured to:

obtain, for a video block, a first motion vector difference (MVD) associated with a reference picture of the video block;

determine, based on a symmetric motion vector difference (SMVD) indication indicating SMVD is used for the video block, a second MVD based on the first MVD associated with the reference picture, wherein the second MVD is symmetric to the first MVD;

obtain a first prediction block of the video block based on the first MVD and a second prediction block of the video block based on the second MVD;

obtain a weight index of bi-prediction with CU weights (BCW) for the video block, wherein the weight index of BCW indicates a first weight and a second weight;

apply the first weight to the first prediction block and the second weight to the second prediction block to obtain a third prediction block; and

reconstruct the video block based on the third prediction block.

9 . The device of claim 8 , wherein the processor is further configured to:

determine a first motion vector predictor (MVP) and a second MVP associated with the video block;

determine a first motion vector (MV) of the video block based on the first MVD and the first MVP associated with the video block, wherein the first prediction block is determined based on the first MV of the video block; and

determine a second MV of the video block based on the second MVD and the second MVP associated with the video block, wherein the second prediction block is determined based on the second MV of the video block.

10 . The device of claim 8 , wherein the processor is further configured to:

determine, based on the weight index, the first weight of for the video block; and

determine the second weight based on the first weight.

11 . The device of claim 8 , wherein the reference picture is associated with a first reference picture list of the video block, and the processor is further configured to determine, based on the SMVD indicator indicating SMVD is enabled for the video block, the reference picture of the first reference picture list of the video block based on a picture order count (POC) of the reference picture and a POC of a current picture comprising the video block.

12 . The device of claim 8 , wherein the processor is further configured to obtain both a symmetric MVD flag and a weight index for explicit bi-prediction mode.

13 . A method for video encoding, comprising:

obtaining, for a video block, a first motion vector difference (MVD) associated with a reference picture of the video block;

determining, based on a symmetric motion vector difference (SMVD) indication indicating SMVD is used for the video block, a second MVD based on the first MVD associated with the reference picture, wherein the second MVD is symmetric to the first MVD;

obtaining a first prediction block of the video block based on the first MVD and a second prediction block of the video block based on the second MVD;

determining a first weight and a second weight of bi-prediction with CU weights (BCW) for the video block;

applying the first weight of BCW to the first prediction block and the second weight of BCW to the second prediction block to obtain a third prediction block; and

encoding the video block based on the third prediction block.

14 . The method of claim 13 , comprising:

determining a first motion vector predictor (MVP) associated with the video block and a second MVP associated with the video block;

determining a first motion vector (MV) of the video block based on the first MVD and the first MVP associated with the video block, wherein the first prediction block is determined based on the first MV of the video block; and

determining a second MV of the video block based on the second MVD and the second MVP associated with the video block, wherein the second prediction block is determined based on the second MV of the video block.

15 . The method of claim 13 , further comprising:

determining the second weight based on the first weight; and

encoding a weight index, wherein the weight index indicates the first weight.

16 . The method of claim 13 , further comprising signaling both a symmetric MVD flag and a weight index for explicit bi-prediction mode.

17 . A method for video decoding, comprising:

obtaining, for a video block, a first motion vector difference (MVD) associated with a reference picture of the video block;

determining, based on a symmetric motion vector difference (SMVD) indication indicating SMVD is used for the video block, a second MVD based on the first MVD associated with the reference picture, wherein the second MVD is symmetric to the first MVD;

obtaining a first prediction block of the video block based on the first MVD and a second prediction block of the video block based on the second MVD;

obtaining a weight index of bi-prediction with CU weights (BCW) for the video block, wherein the weight index of BCW indicates a first weight and a second weight;

applying the first weight to the first prediction block and the second weight to the second prediction block to obtain a third prediction block; and

reconstructing the video block based on the third prediction block.

18 . The method of claim 17 , further comprising:

determining, based on the weight index, the first weight for the video block; and

determining the second weight based on the first weight.

19 . The method of claim 17 , further comprising obtaining both a symmetric MVD flag and a weight index for explicit bi-prediction mode.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2025
From: VID SCALE, INC.
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 072889/0542 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2025
From: LUO, JIANCONG; XIU, XIAOYU; HE, YUWEN; YANG, HUA
To: VID SCALE, INC.
Reel/Frame 072501/0727 →
Continuity (8)
Continuation 18082525 · Dec 15, 2022
Continuation 17416205
Provisional Application 62809308 · Feb 22, 2019
Provisional Application 62798674 · Jan 30, 2019
Provisional Application 62792710 · Jan 15, 2019
Provisional Application 62787321 · Jan 1, 2019
Provisional Application 62783437 · Dec 21, 2018
Related Publication 20240406406A1 · Dec 5, 2024
References Cited (59)
US 9503720B2 · Chen et al. · 2016 [cited by applicant]
US 9615090B2 · Zhang et al. · 2017 [cited by applicant]
US 10484686B2 · Xiu et al. · 2019 [cited by applicant]
US 10819985B2 · Abe et al. · 2020 [cited by applicant]
US 11109062B2 · Chen et al. · 2021 [cited by applicant]
US 20160360210A1 · Xiu et al. · 2016 [cited by applicant]
US 20170094305A1 · Li et al. · 2017 [cited by applicant]
US 20180041769A1 · Chuang et al. · 2018 [cited by applicant]
US 20180192072A1 · Chen · 2018 [cited by examiner]
US 20180249172A1 · Chen et al. · 2018 [cited by applicant]
US 20180278949A1 · Karczewicz · 2018 [cited by examiner]
US 20190158870A1 · Xu et al. · 2019 [cited by applicant]
US 20200084441A1 · Lee et al. · 2020 [cited by applicant]
US 20200213612A1 · Liu · 2020 [cited by examiner]
US 20200314444A1 · Lee et al. · 2020 [cited by applicant]
US 20220078488A1 · Leleannec · 2022 [cited by examiner]
CN 104170381A · 2014 [cited by applicant]
CN 105052145A · 2015 [cited by applicant]
CN 107123128A · 2017 [cited by applicant]
CN 107431817A · 2017 [cited by applicant]
CN 108028929A · 2018 [cited by applicant]
CN 108256511A · 2018 [cited by applicant]
CN 108432250A · 2018 [cited by applicant]
JP 2020511859A · 2020 [cited by applicant]
KR 20180107761A · 2018 [cited by applicant]
TW 201840190A · 2018 [cited by applicant]
WO 2017197146A1 · 2017 [cited by applicant]
WO 2018097692A2 · 2018 [cited by applicant]
WO 2018175720A1 · 2018 [cited by applicant]
WO 2018212110A1 · 2018 [cited by applicant]
WO 2020058890A1 · 2020 [cited by applicant]
“HM-16.9 Reference Software”, Available at <https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware>, Retrieved on Mar. 19, 2021, 1 page. [cited by applicant]
“JEM-7.0 Reference Software”, Available at <https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-7.0>, Retrieved on Apr. 27, 2020, 1 page. [cited by applicant]
Bossen, Frank, “VTM-2.0.1 Reference Software”, Available at <https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_VTM/tags/VTM-2.0.1>, Retrieved on Mar. 18, 2021, 1 page. [cited by applicant]
Bross, et al., “High Efficiency Video Coding (HEVC) Text Specification Draft 10 (For FDIS & Consent)”, JCTVC-L1003_V1, Editor, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 2… [cited by applicant]
Bross, et al., “Versatile Video Coding (Draft 2)”, JVET-K1001-V1, Editors, Joint Video Experts Team (JVET) of ITU-T SG 16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting: Ljubljana, SI, Jul. 10-18, 2018, 42 pages. [cited by applicant]
Bross, et al., “Versatile Video Coding (Draft 3)”, JVET-L1001-V7, Editors, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Macao, CN, Oct. 3-12, 2018, 223 pages. [cited by applicant]
Chen, et al., “BDOF Simplifications”, JVET-O0634, Huawei Technologies Co., Ltd., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Gothenburg, SE, Jul. 3-12, 2019, 7 pages. [cited by applicant]
Chen, et al., “Generalized Bi-Prediction for Inter Coding”, JVET-C0047, InterDigital Communications, Inc., Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 3rd Meeting: Geneva, CH, … [cited by applicant]
Chen, Huanbang et al., “CE4: Symmetrical MVD Mode (Test 4.5.1)”, JVET-L0370-V1, Huawei Technologies Co., Ltd., Joint Video Experts Team JVET of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Macao, CN, Oc… [cited by applicant]
He, et al., “CE4-Related: Encoder Speed-Up and Bug Fix for Generalized Bi-Prediction in BMS-2.1”, JVET-L0296, InterDigital Communications, Inc., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 2… [cited by applicant]
ITU-T, “Advanced Video Coding for Generic Audiovisual Services”, ITU-T Recommendation H.264, Series H: Audiovisual and Multimedia Systems, Infrastructure of Audiovisual Services—Coding of Moving Video, Nov. 2007, 563 pa… [cited by applicant]
Jeong, et al., “CE4 Ultimate Motion Vector Expression (Test 4.5.4)”, JVET-L0054, Samsung Electronics Co., Ltd., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG11, 12thMeeting: Macao, CN, O… [cited by applicant]
Leleannec, et al., “Non-CE4: Simplified SMVD Mode Coding”, JVET-O0468, InterDigital Communications, Inc., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 15th Meeting: Gothenburg, SE, … [cited by applicant]
Lee, et al., “Non-CE4: Simplification of Decoding Process for SMVD Reference Indices”, JVET-N0472_V2, ETRI (Electronics and Telecommunications Research Institute), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and… [cited by applicant]
Luo, et al., “CE2-related: Simplified Symmetric MVD Based on CE4.4.3”, JVET-M0444, InterDigital Communications Inc., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Marra… [cited by applicant]
Segall, et al., “Joint Call for Proposals on Video Compression with Capability Beyond HEVC”, JVET-H1002 (V6), Editors, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 8th Meeting: … [cited by applicant]
SMPTE, “VC-1 Compressed Video Bitstream Format and Decoding Process”, SMPTE 421M, Feb. 24, 2006, 493 pages. [cited by applicant]
Suehring, Karsten, “BMS-2.0 Reference Software”, Available at <https://vcgit.hhi.fraunhofer.de/jvet/VVCSoftware_BMS/tags/BMS-2.1rc1>, Dec. 2018, 1 page. [cited by applicant]
Tourapis, et al., “H.264/14496-10 AVC Reference Software Manual”, JVT-AE010, Dolby Laboratories Inc., Fraunhofer-Institute HHI, Microsoft Corporation, Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC… [cited by applicant]
Wikipedia, “Sobel Filter”, Available at <https://en.wikipedia.org/wiki/Sobel_operator>, Feb. 20, 2021, pp. 1-8. [cited by applicant]
Xiu, et al., “CE9-Related: Complexity Reduction and Bit-Width Control for Bi-Directional Optical Flow (BIO)”, JVET-L0256_v2, InterDigital Communications Inc., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/… [cited by applicant]
Xiu, et al., “Non-CE4: On SAD Threshold for BDOF Early Termination”, JVET-P0519, Kwai Inc., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29 WG 11, 16th Meeting: Geneva, CH, Oct. 1-11, 2019, 2… [cited by applicant]
Yang, et al., “BoG Report on CE4 Inter Prediction Related Contributions”, JVET-P0986-V4, BoG Coordinators, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC1/SC 29/WG 11, 16th Meeting: Geneva, CH, Oct.… [cited by applicant]
Yang, et al., “Subblock-Based Motion Derivation and Inter Prediction Refinement in the Versatile Video Coding Standard”, IEEE Transactions on Circuits and Systems for Video Technology, vol. 31, No. 10, Oct. 2021, pp. 38… [cited by applicant]
Chen, et al., “CE4: Symmetrical mode for bi-prediction (Test 3.2)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0188-v2, 11th Meeting: Ljubljana, SI, Jul. 2018, 3 pages. [cited by applicant]
Chen, et al., “EE3: Generalized bi-prediction”, JVET Meeting; (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG. 16); No. JVET-D0102-v3, Oct. 15, 2016, 6 pages. [cited by applicant]
Luo, et al., “CE4-Related: Simplified Symmetric MVD Based on CE4.4.3”, JVET-M0444-V2, InterDigital Communications, Inc., Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: M… [cited by applicant]
Chen, Chun-Chi et al., “Generalized Bi-prediction Method for Future Video Coding”, IEEE, 2016 Picture Coding Symposium, Dec. 4, 2016, 5 pages. [cited by applicant]