IP Library › Granted Patent US 12,323,580
Granted Patent B2
US 12,323,580 · App. 18/175,282 · Granted Jun 3, 2025

Overlapped block motion compensation (OBMC) blending selection in video coding

Inventors: Yao-Jen Chang (San Diego, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/105H04N19/139H04N19/176H04N19/52
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,323,580
App. No.
18/175,282
Granted
Jun 3, 2025
Kind
B2
Abstract

A device for decoding video data can be configured to determine that a block is coded in an overlapped block motion compensation (OBMC) mode; determine a first prediction block for the block using a first motion vector for the block; determine a second prediction block for the block using a second motion vector, wherein the second motion is a motion vector of a neighboring block of the block; select an OBMC blending process from a plurality of available OBMC blending processes; blend the first prediction block and the second prediction block using the selected OBMC blending process to determine a blended block; and reconstruct the block using the blended block.

Claims (63)

1. A method of decoding video data, the method comprising:

determining that a block is coded in an overlapped block motion compensation (OBMC) mode;

determining a first prediction block for the block using a first motion vector for the block;

determining a second prediction block for the block using a second motion vector, wherein the second motion vector is a motion vector of a neighboring block of the block;

selecting an OBMC blending process from a plurality of available OBMC blending processes, wherein selecting the OBMC blending process from the plurality of available OBMC blending processes comprises:

determining a first cost for the first prediction block using a template matching process;

determining a second cost for the second prediction block using the template matching process; and

in response to a product of T and the first cost being greater than the second cost and the first cost being less than or equal to the second cost, selecting as the OBMC blending process, a first OBMC blending process that blends two rows or columns, wherein the plurality of available OBMC blending processes includes the first OBMC blending process, a second OBMC blending process that blends four rows or columns, and a third OBMC blending process that blends zero rows or columns, wherein T comprises a positive value greater than 1;

blending the first prediction block and the second prediction block using the selected OBMC blending process to determine a blended block; and

reconstructing the block using the blended block.

2. The method of claim 1 , wherein selecting the OBMC blending process from the plurality of available OBMC blending processes comprises selecting weighting factors for blending the first prediction block and the second prediction block.

3. The method of claim 1 , wherein selecting the OBMC blending process from the plurality of available OBMC blending processes comprises determining a number of rows or columns of the first prediction block and the second prediction block to be blended.

4. The method of claim 1 , wherein:

determining the first cost for the first prediction block using the template matching process comprises comparing a template of the block to a template of the first prediction block; and

determining the second cost for the second prediction block using the template matching process comparing the template of the block to a template of the second prediction block.

5. A device for decoding encoded video data, the device comprising:

a memory configured to store video data;

one or more processors implemented in circuitry and configured to:

determine that a block is coded in an overlapped block motion compensation (OBMC) mode;

determine a first prediction block for the block using a first motion vector for the block;

determine a second prediction block for the block using a second motion vector, wherein the second motion vector is a motion vector of a neighboring block of the block;

select an OBMC blending process from a plurality of available OBMC blending processes, wherein to select the OBMC blending process from the plurality of available OBMC blending processes, the one or more processors are further configured to:

determine a first cost for the first prediction block using a template matching process;

determine a second cost for the second prediction block using the template matching process; and

in response to a product of T and the first cost being greater than the second cost and the first cost being less than or equal to the second cost, select as the OBMC blending process, a first OBMC blending process that blends two rows or columns, wherein the plurality of available OBMC blending processes includes the first OBMC blending process, a second OBMC blending process that blends four rows or columns, and a third OBMC blending process that blends zero rows or columns, wherein T comprises a positive value greater than 1;

blend the first prediction block and the second prediction block using the selected OBMC blending process to determine a blended block; and

reconstruct the block using the blended block.

6. The device of claim 5 , wherein to select the OBMC blending process from the plurality of available OBMC blending processes, the one or more processors are further configured to select weighting factors for blending the first prediction block and the second prediction block.

7. The device of claim 5 , wherein to select the OBMC blending process from the plurality of available OBMC blending processes, the one or more processors are further configured to determine a number of rows or columns of the first prediction block and the second prediction block to be blended.

8. The device of claim 5 , wherein:

to determine the first cost for the first prediction block using the template matching process comprises, the one or more processors are further configured to compare a template of the block to a template of the first prediction block; and

to determine the second cost for the second prediction block using the template matching process, the one or more processors are further configured to compare the template of the block to a template of the second prediction block.

9. The device of claim 5 , wherein the one or more processors are further configured to:

in response to the product of T and the first cost being less than or equal to the second cost, select as the OBMC blending process, the third OBMC blending process.

10. The device of claim 5 , wherein the one or more processors are further configured to:

in response to a product of the second cost and T being less than or equal to the first cost, select as the OBMC blending process, the second OBMC blending process.

11. The device of claim 5 , wherein the one or more processors are further configured to:

in response to a product of T and the second cost being greater than the first cost and the second cost being less than or equal to the first cost, select as the OBMC blending process, a fourth OBMC blending process that blends three rows or columns.

12. The device of claim 5 , wherein the device comprises a wireless communication device, further comprising a receiver configured to receive the encoded video data.

13. The device of claim 12 , wherein the wireless communication device comprises a telephone handset and wherein the receiver is configured to demodulate, according to a wireless communication standard, a signal comprising the encoded video data.

14. The device of claim 5 , further comprising:

a display configured to display decoded video data.

15. The device of claim 5 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

16. The device of claim 5 , wherein the device comprises a video encoding device.

17. A non-transitory computer-readable storage medium storing instructions that when executed by one or more processors cause the one or more processors to:

determine that a block is coded in an overlapped block motion compensation (OBMC) mode;

determine a first prediction block for the block using a first motion vector for the block;

determine a second prediction block for the block using a second motion vector, wherein the second motion vector is a motion vector of a neighboring block of the block;

select an OBMC blending process from a plurality of available OBMC blending processes, wherein to select the OBMC blending process from the plurality of available OBMC blending processes, the instructions cause the one or more processors to:

determine a first cost for the first prediction block using a template matching process;

determine a second cost for the second prediction block using the template matching process; and

in response to a product of T and the first cost being greater than the second cost and the first cost being less than or equal to the second cost, select as the OBMC blending process, a first OBMC blending process that blends two rows or columns, wherein the plurality of available OBMC blending processes includes the first OBMC blending process, a second OBMC blending process that blends four rows or columns, and a third OBMC blending process that blends zero rows or columns, wherein T comprises a positive value greater than 1;

blend the first prediction block and the second prediction block using the selected OBMC blending process to determine a blended block; and

reconstruct the block using the blended block.

18. The non-transitory computer-readable storage medium of claim 17 , wherein to select the OBMC blending process from the plurality of available OBMC blending processes, the instructions cause the one or more processors to select weighting factors for blending the first prediction block and the second prediction block.

19. The non-transitory computer-readable storage medium of claim 17 , wherein to select the OBMC blending process from the plurality of available OBMC blending processes, the instructions cause the one or more processors to determine a number of rows or columns of the first prediction block and the second prediction block to be blended.

20. The non-transitory computer-readable storage medium of claim 17 , wherein:

to determine the first cost for the first prediction block using the template matching process comprises, the instructions cause the one or more processors to compare a template of the block to a template of the first prediction block; and

to determine the second cost for the second prediction block using the template matching process, the instructions cause the one or more processors to compare the template of the block to a template of the second prediction block.

21. The non-transitory computer-readable storage medium of claim 17 , wherein the instructions cause the one or more processors are further configured to:

in response to the product of T and the first cost being less than or equal to the second cost, select as the OBMC blending process, the third OBMC blending process.

22. The non-transitory computer-readable storage medium of claim 17 , wherein the one or more processors are further configured to:

in response to a product of the second cost and T being less than or equal to the first cost, select as the OBMC blending process, the second OBMC blending process.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2023
From: CHANG, YAO-JEN; SEREGIN, VADIM; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 063108/0535 →
Continuity (2)
Provisional Application 63268789 · Mar 2, 2022
Related Publication 20230283770A1 · Sep 7, 2023
References Cited (16)
US 20220038681A1 · Galpin · 2022 [cited by examiner]
Chen et al., “CE10-related: OBMC complexity reduction and parallel blending”, 11th Meeting, Ljubljana, SI, pp. 1-8. (Year: 2018). [cited by examiner]
Lv et al., “Non-EE2: Template matching based OBMC”, (Jan. 13, 2022), vivo Mobile Communication Co., Ltd. (Year: 2022). [cited by examiner]
Chang Y-J., et al., “Compression Efficiency Methods Beyond VVC,” 21. JVET Meeting, Jan. 6, 2021-Jan. 15, 2021, by teleconference, (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16), No. JVET-U0… [cited by applicant]
Chen C.C., et al., “CE10-Related: OBMC Complexity Reduction and Parallel Blending,” JVET-K0258-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 11th Meeting: Ljubljana, SI, Jul. 10-… [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 3 (ECM 3),” JVET-X2025-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 23rd Meeting, by teleconference, Jul. 7-16, … [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 4 (ECM 4),” JVET-Y2025-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 23rd Meeting, by teleconference, Jul. 7-16, … [cited by applicant]
ITU-T H.265: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video,” High Efficiency Video Coding, The International Telecommunication Union, Jun. 2019, 696 Pages. [cited by applicant]
ITU-T H.266: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video,” Versatile Video Coding, The International Telecommunication Union, Aug. 2020, 516 pages. [cited by applicant]
Karczewicz M., et al., “Common Test Conditions and Evaluation Procedures for Enhanced Compression Tool Testing,” JVET-Y2017-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, … [cited by applicant]
Lin Z-Y., et al., “CE10.2.1: OBMC,” JVET-L0101-v1, 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, pp. 1-7. [cited by applicant]
Lv Z., et al., “EE2-2.3: Template Matching Based OBMC,” JVET-Z0061-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, Apr. 20-29, 2022, pp. 1-4. [cited by applicant]
Lv Z., et al., “Non-EE2: Template Matching-Based OBMC Design,” JVET-Y0076-v3, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, by Teleconference, Jan. 12-21, 2022, 7 pages. [cited by applicant]
Seregin V., et al., “Exploration Experiment on Enhanced Compression beyond VVC capability (EE2),” JVET-Y2024-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, by teleconferen… [cited by applicant]
Chen C-C., et al., “CE10-Related: OBMC Complexity Reduction and Parallel Blending”, JVET-K0258-v2 Presentation, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 11th Meeting: Ljubljana,… [cited by applicant]
International Search Report and Written Opinion—PCT/US2023/063456—ISA/EPO—May 31, 2023 13 Pages. [cited by applicant]