IP Library Granted Patent US 12,464,161
Granted Patent B2
US 12,464,161 · App. 17/749,991 · Granted Nov 4, 2025

Motion-compensation prediction based on bi-directional optical flow

Inventors: Yan Ye (San Diego, CA); Xiaoyu Xiu (San Diego, CA); Yuwen He (San Diego, CA)
Assignee: InterDigital VC Holdings, Inc.
H04N19/577H04N19/103H04N19/139H04N19/176
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,464,161
App. No.
17/749,991
Granted
Nov 4, 2025
Kind
B2
Abstract

A device may determine whether to enable or disable bi-directional optical flow (BIO) for a current coding unit (CU) (e.g., block and/or sub-block). Prediction information for the CU may be identified and may include prediction signals associated with a first reference block and a second reference block (e.g., or a first reference sub-block and a second reference sub-block). A prediction difference may be calculated and may be used to determine the similarity between the two prediction signals. The CU may be reconstructed based on the similarity. For example, whether to reconstruct the CU with BIO enabled or BIO disabled may be based on whether the two prediction signals are similar. It may be determined to enable BIO for the CU when the two prediction signals are determined to be dissimilar. For example, the CU may be reconstructed with BIO disabled when the two prediction signals are determined to be similar.

Claims (32)

1 . A device for video decoding, comprising:

a processor, the processor configured to:

obtain a first plurality of sample values in a first reference prediction block of a current subblock and a second plurality of sample values in a second reference prediction block of the current subblock, wherein the first reference prediction block is associated with a first reference picture list of the current subblock, and the second reference prediction block is associated with a second reference picture list of the current subblock;

derive a variable sum of absolute differences (SAD) based on between the first plurality of sample values of the first reference prediction block and the second plurality of sample values of the second reference prediction block;

determine to disable bi-directional optical flow (BIO) for the current subblock based on the variable SAD being less than a value; and

decode the current subblock based on the determination to disable BIO for the current subblock.

2 . The device of claim 1 , wherein the first reference picture is associated with a first reference picture list, and the second reference picture is associated with a second reference picture list, and wherein the first reference picture list and the second reference picture list are different.

3 . The device of claim 1 , wherein the processor is configured to: obtain a first interpolated sample value based on at least one of the first plurality of sample values; and obtain a second interpolated sample value based on at least one of the second plurality of sample values, wherein the variable is derived further deriving the SAD between the first plurality of sample values of the first prediction block and the second plurality of sample values of the second prediction block comprises deriving the SAD based on the first interpolated sample value and the second interpolated sample value.

4 . The device of claim 1 , wherein the device further comprises a memory.

5 . A method for video decoding, comprising:

obtaining a first plurality of sample values in a first reference prediction block of a current subblock and a second plurality of sample values in a second reference prediction block of the current subblock, wherein the first reference prediction block is associated with a first reference picture list of the current subblock, and the second reference prediction block is associated with a second reference picture list of the current subblock; deriving a variable sum of absolute differences (SAD) based on between the first plurality of sample values of the first reference prediction block and the second plurality of sample values of the second reference prediction block;

determining to disable bi-directional optical flow (BIO) for the current subblock based on the variable SAD being less than a value; and decoding the current subblock based on the determination to disable BIO for the current subblock.

6 . The method of claim 5 , further comprising determining a prediction sample value difference based on the first plurality of sample values and the second plurality of sample values, wherein the first reference block is associated with a first reference picture list, and the second reference block is associated with a second reference picture list, wherein the first reference picture list and the second reference picture list are different, and wherein the variable is derived based on the prediction sample value difference.

7 . A non-transitory computer-readable medium including instructions, which, when executed by one or more processors, cause the one or more processors to perform the method of claim 5 .

8 . The method of claim 5 , comprising:

obtaining a first interpolated sample value based on at least one of the first plurality of sample values; and obtaining a second interpolated sample value based on at least one of the second plurality of sample values, wherein deriving the SAD between the first plurality of sample values of the first prediction block and the second plurality of sample values of the second prediction block comprises deriving the SAD based on the first interpolated sample value and the second interpolated sample value.

9 . A device for video encoding, comprising:

a processor, the processor configured to:

obtain a first plurality of sample values in a first reference prediction block of a current subblock and a second plurality of sample values in a second reference prediction block of the current subblock, wherein the first reference prediction block is associated with a first reference picture list of the current subblock, and the second reference prediction block is associated with a second reference picture list of the current subblock; obtain a variable sum of absolute differences (SAD) based on between the first plurality of sample values of the first reference prediction block and the second plurality of sample values of the second reference prediction block;

determine to disable bi-directional optical flow (BIO) for the current subblock based on the variable SAD being less than a value; and

encode the current subblock based on the determination to disable BIO for the current subblock.

10 . The device of claim 9 , wherein the processor is configured to determine a prediction sample value difference based on the first plurality of sample values and the second plurality of sample values, wherein the first reference picture is associated with a first reference picture list, and the second reference picture is associated with a second reference picture list, wherein the first reference picture list and the second reference picture list are different, and wherein the variable is obtained based on the prediction sample value difference.

11 . The device of claim 9 , wherein the device further comprises a memory.

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

obtain a first interpolated sample value based on at least one of the first plurality of sample values; and obtain a second interpolated sample value based on at least one of the second plurality of sample values, wherein obtaining the SAD between the first plurality of sample values of the first prediction block and the second plurality of sample values of the second prediction block comprises obtaining the SAD based on the first interpolated sample value and the second interpolated sample value.

13 . A method for video encoding, comprising:

obtaining a first plurality of sample values in a first reference prediction block of a current subblock and a second plurality of sample values in a second reference prediction block of the current subblock, wherein the first reference prediction block is associated with a first reference picture list of the current subblock, and the second reference prediction block is associated with a second reference picture list of the current subblock; obtaining a variable sum of absolute differences (SAD) based on between the first plurality of sample values of the first reference prediction block and the second plurality of sample values of the second reference prediction block;

determining to disable bi-directional optical flow (BIO) for the current subblock based on the variable SAD being less than a value; and encoding the current subblock based on the determination to disable BIO for the current subblock.

14 . The method of claim 13 , further comprising determining a prediction sample value difference based on the first plurality of sample values and the second plurality of sample values, wherein the first reference picture is associated with a first reference picture list, and the second reference picture is associated with a second reference picture list, wherein the first reference picture list and the second reference picture list are different, and wherein the variable is obtained based on the prediction sample value difference.

15 . A non-transitory computer-readable medium including instructions, which, when executed by one or more processors, cause the one or more processors to perform the method of claim 13 .

16 . The method of claim 13 , comprising:

obtaining a first interpolated sample value based on at least one of the first plurality of sample values; and obtaining a second interpolated sample value based on at least one of the second plurality of sample values, wherein obtaining the SAD between the first plurality of sample values of the first prediction block and the second plurality of sample values of the second prediction block comprises obtaining the SAD based on the first interpolated sample value and the second interpolated sample value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2024
From: VID SCALE, INC.
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 068284/0031 →
Continuity (7)
Continuation 16628480
Provisional Application 62599241 · Dec 15, 2017
Provisional Application 62579559 · Oct 31, 2017
Provisional Application 62564598 · Sep 28, 2017
Provisional Application 62560823 · Sep 20, 2017
Provisional Application 62528296 · Jul 3, 2017
Related Publication 20220368943A1 · Nov 17, 2022
References Cited (40)
US 20150350671A1 · Alshin et al. · 2015 [cited by applicant]
US 20170094305A1 · Li · 2017 [cited by examiner]
US 20180192071A1 · Chuang · 2018 [cited by examiner]
US 20180242004A1 · Park et al. · 2018 [cited by applicant]
US 20180262773A1 · Chuang · 2018 [cited by examiner]
US 20180278949A1 · Karczewicz · 2018 [cited by examiner]
US 20190045214A1 · Ikai · 2019 [cited by examiner]
US 20190045215A1 · Chen · 2019 [cited by examiner]
US 20190320199A1 · Chen · 2019 [cited by examiner]
US 20200221122A1 · Ye · 2020 [cited by examiner]
US 20210127133A1 · Chen · 2021 [cited by examiner]
US 20210281869A1 · Ugur et al. · 2021 [cited by applicant]
AU 2001236214B2 · 2005 [cited by applicant]
AU 2013205783A1 · 2013 [cited by applicant]
CN 105847804A · 2016 [cited by applicant]
EP 3340620A1 · 2018 [cited by applicant]
JP 2018536320A · 2018 [cited by applicant]
RU 2565363C2 · 2015 [cited by applicant]
TW 201715891A · 2017 [cited by applicant]
WO 0018134A1 · 2000 [cited by applicant]
WO 2014107074A1 · 2014 [cited by applicant]
WO 2017034089A1 · 2017 [cited by applicant]
WO 2017036399A1 · 2017 [cited by applicant]
“JEM-6.0 Reference Software”, Available at <https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/tags/HM-16.6-JEM-6.0>, 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>, 1 page. [cited by applicant]
Alshin et al., “AHG6: On Bio Memory Bandwidth”, JVET-D0042, Samsung Electronics Ltd., Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 4th Meeting: Chengdu, CN, Oct. 15-21, 2016, pp… [cited by applicant]
Alshina et al., “Known Tools Performance Investigation for Next Generation Video Coding”, VCEG-AZ05, Samsung Electronics, ITU—Telecommunications Standardization Sector, Study Group 16 Question 6, Video Coding Experts Gr… [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 29… [cited by applicant]
Chen et al., “Algorithm Description of Joint Exploration Test Model 7 (JEM 7)”, JVET-G1001-V1, Editors, Joint Video Exploration Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29/WG 11, 7th Meeting: Torino, IT, Jul. … [cited by applicant]
Chen et al., “Algorithm Description of Joint Exploration Test Model 6 (JEM 6)”, JVET-F1001-V2, Editors, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Hobart, AU, Mar. 31-Apr. 7, … [cited by applicant]
Chen et al., “Coding Tools Investigation for Next Generation Video Coding”, Qualcomm Incorporated, COM 16-C 806-E, International Telecommunication Union, Telecommunication Standardization Sector, Jan. 2015, pp. 1-7. [cited by applicant]
Chuang et al., “A Block-Based Design for Bi-Directional Optical Flow (BIO)”, JVET-F0022, Qualcomm Inc., Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 6th Meeting: Hobart, AU, Mar… [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, 564 pa… [cited by applicant]
Karczewicz et al., “Report of AHG1 on Coding Efficiency Improvements”, VCEG-AZ01, Qualcomm, Samsung, ITU—Telecommunications Standardization Sector, Study Group 16 Question 6, Video Coding Experts Group (VCEG), 52nd Meet… [cited by applicant]
Lee et al., “Bio Improvement to Reduce the Encoder and Decoder Complexities”, JVET-C0031, LG Electronics, 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, M… [cited by applicant]
Ohm et al., “Report of AHG on Future Video Coding Standardization Challenges”, AHG, ISO/IEC JTC1/SC29/WG11 MPEG2014/M36782, Warsaw, Poland, Jun. 2015, 4 pages. [cited by applicant]
SMPTE, “VC-1 Compressed Video Bitstream Format and Decoding Process”, SMPTE 421M, Apr. 2006, 493 pages. [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/SC2… [cited by applicant]
Wikipedia, “SIMD”, Available at <https://en.wikipedia.org/wiki/SIMD>, pp. 1-8. [cited by applicant]
Alshin et al., “Bi-Directional Optical Flow for Improving Motion Compensation”, Samsung Electronics Co., Ltd., 28th Picture Coding Symposium, PCS2010, Nagoya, Japan, Dec. 8-10, 2010, pp. 422-425. [cited by applicant]