IP Library Granted Patent US 11,516,502
Granted Patent B2
US 11,516,502 · App. 17/006,687 · Granted Nov 29, 2022

Selective motion vector prediction candidates in frames with global motion

Inventors: Borivoje Furht (Boca Raton, FL); Hari Kalva (Boca Raton, FL); Velibor Adzic (Boca Raton, FL)
Assignee: OP Solutions, LLC
H04N19/527H04N19/176H04N19/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,516,502
App. No.
17/006,687
Granted
Nov 29, 2022
Kind
B2
Abstract

A decoder includes circuitry configured to receive a bitstream; construct, for a current block, a motion vector candidate list including adding a single global motion vector candidate to the motion vector candidate list, the single global motion vector candidate selected based on a global motion model utilized by the current block; and reconstruct pixel data of the current block and using the motion vector candidate list. Related apparatus, systems, techniques and articles are also described.

Claims (82)

1. A decoder, the decoder comprising circuitry configured to:

receive a bitstream, the bitstream comprising:

a sequence parameter set; and

a coded picture, the coded picture comprising:

a first contiguous region comprising a first plurality of coding blocks; and

a second contiguous region comprising a second plurality of coding blocks, the first contiguous region containing global motion, the second contiguous region containing local motion;

decode the first contiguous region of the coded picture to reconstruct the global motion, by:

for each coding block of the first plurality of coding blocks in the first contiguous region, determine a motion model, the motion model being global to all of the first plurality of coding blocks in the first contiguous region, the global motion model being one of translational motion, 4-parameter affine motion, or 6-parameter affine motion, the sequence parameter set containing information about the global motion model;

when the global motion model is translational motion:

construct, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a first candidate, wherein the first candidate is a motion vector of a nearest neighbor block in the coded picture; and

decode each of the first plurality of coding blocks in the first contiguous region using the first candidate for translational motion compensation;

when the global motion model is 4-parameter affine motion:

construct, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a second candidate comprising two control point motion vectors, wherein each of the two control point motion vectors is a motion vector of a nearest neighbor block in the coded picture; and

decode each of the first plurality of coding blocks in the first contiguous region using the second candidate for 4-parameter affine motion compensation; and

when the global motion model is 6-parameter affine motion:

construct, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a third candidate comprising three control point motion vectors, wherein each of the three control point motion vectors is a motion vector of a nearest neighbor block in the coded picture; and

decode each of the first plurality of coding blocks in the first contiguous region using the third candidate for 6-parameter affine motion compensation; and

decode the second contiguous region of the coded picture to reconstruct the local motion by decoding each of the second plurality of coding blocks in the second contiguous region using individual motion information contained in the bitstream for each of the second plurality of coding blocks.

2. The decoder of claim 1 , wherein the first plurality of coding blocks in the first contiguous region are all 64×64 or all 128×128.

3. The decoder of claim 1 , wherein the global motion in the first contiguous region is caused by camera motion.

4. The decoder of claim 1 , wherein the local motion in the second contiguous region is caused by motion of an object in a scene.

5. The decoder of claim 1 , wherein the the first contiguous region and the second contiguous region comprise the entire coded picture.

6. The decoder of claim 1 , wherein the first contiguous region has more coding blocks than the second contiguous region.

7. A method comprising:

receiving, by a decoder, a bitstream, the bitstream comprising:

a sequence parameter set; and

a coded picture, the coded picture comprising:

a first contiguous region comprising a first plurality of coding blocks; and

a second contiguous region comprising a second plurality of coding blocks, the first contiguous region containing global motion, the second contiguous region containing local motion;

decoding, by the decoder, the first contiguous region of the coded picture to reconstruct the global motion, by:

for each coding block of the first plurality of coding blocks in the first contiguous region, determining a motion model, the motion model being global to all of the first plurality of coding blocks in the first contiguous region, the global motion model being one of translational motion, 4-parameter affine motion, or 6-parameter affine motion, the sequence parameter set containing information about the global motion model;

when the global motion model is translational motion:

constructing, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a first candidate, wherein the first candidate is a motion vector of a nearest neighbor block in the coded picture; and

decoding each of the first plurality of coding blocks in the first contiguous region using the first candidate for translational motion compensation;

when the global motion model is 4-parameter affine motion:

constructing, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a second candidate comprising two control point motion vectors, wherein each of the two control point motion vectors is a motion vector of a nearest neighbor block in the coded picture; and

decoding each of the first plurality of coding blocks in the first contiguous region using the second candidate for 4-parameter affine motion compensation; and

when the global motion model is 6-parameter affine motion:

constructing, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a third candidate comprising three control point motion vectors, wherein each of the three control point motion vectors is a motion vector of a nearest neighbor block in the coded picture; and

decoding each of the first plurality of coding blocks in the first contiguous region using the third candidate for 6-parameter affine motion compensation; and

decoding, by the decoder, the second contiguous region of the coded picture to reconstruct the local motion by decoding each of the second plurality of coding blocks in the second contiguous region using individual motion information contained in the bitstream for each of the second plurality of coding blocks.

8. The method of claim 7 , wherein the first plurality of coding blocks in the first contiguous region are all 64×64 or all 128×128.

9. The method of claim 7 , wherein the global motion in the first contiguous region is caused by camera motion.

10. The method of claim 7 , wherein the local motion in the second contiguous region is caused by motion of an object in a scene.

11. The method of claim 7 , wherein the first contiguous region and the second contiguous region comprise the entire coded picture.

12. The method of claim 7 , wherein the first contiguous region has more coding blocks than the second contiguous region.

13. A decoder, the decoder comprising circuitry configured to:

receive a bitstream, the bitstream comprising:

a sequence parameter set; and

a coded picture, the coded picture comprising:

a first contiguous region comprising a first plurality of coding blocks; and

a second contiguous region comprising a second plurality of coding blocks, the first contiguous region containing global motion caused by motion of a camera, the second contiguous region containing local motion caused by motion of an object;

decode the first contiguous region of the coded picture to reconstruct the global motion by:

for each coding block of the first plurality of coding blocks in the first contiguous region, determine a motion model, the motion model being global to all of the first plurality of coding blocks in the first contiguous region, the global motion model being one of translational motion, 4-parameter affine motion, or 6-parameter affine motion, the sequence parameter set containing information about the global motion model;

when the global motion model is translational motion:

construct, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a first candidate, wherein the first candidate is a motion vector of a nearest neighbor block in the coded picture; and

decode each of the first plurality of coding blocks in the first contiguous region using the first candidate for translational motion compensation;

when the global motion model is 4-parameter affine motion:

construct, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a second candidate comprising two control point motion vectors, wherein each of the two control point motion vectors is a motion vector of a nearest neighbor block in the coded picture; and

decode each of the first plurality of coding blocks in the first contiguous region using the second candidate for 4-parameter affine motion compensation;

when the global motion model is 6-parameter affine motion:

construct, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a third candidate comprising three control point motion vectors, wherein each of the three control point motion vectors is a motion vector of a nearest neighbor block in the coded picture, and

decode each of the first plurality of coding blocks in the first contiguous region using the third candidate for 6-parameter affine motion compensation; and

decode the second contiguous region of the coded picture to reconstruct the local motion by using individual motion information contained in the bitstream for each of the second plurality of coding blocks in the second contiguous region.

14. A method comprising:

receiving, by a decoder, a bitstream, the bitstream comprising:

a sequence parameter set; and

a coded picture, the coded picture comprising:

a first contiguous region comprising a first plurality of coding blocks; and

a second contiguous region comprising a second plurality of coding blocks, the first contiguous region containing global motion caused by motion of a camera, the second contiguous region containing local motion caused by motion of an object;

decoding, by the decoder, the first contiguous region of the coded picture to reconstruct the global motion by:

for each coding block of the first plurality of coding blocks in the first contiguous region, determining a motion model, the motion model being global to all of the first plurality of coding blocks in the first contiguous region, the global motion model being one of translational motion, 4-parameter affine motion, or 6-parameter affine motion, the sequence parameter set containing information about the global motion model;

when the global motion model is translational motion:

constructing, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a first candidate, wherein the first candidate is a motion vector of a nearest neighbor block in the coded picture; and

decoding each of the first plurality of coding blocks in the first contiguous region using the first candidate for translational motion compensation;

when the global motion model is 4-parameter affine motion:

constructing, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a second candidate comprising two control point motion vectors, wherein each of the two control point motion vectors is a motion vector of a nearest neighbor block in the coded picture; and

decoding each of the first plurality of coding blocks in the first contiguous region using the second candidate for 4-parameter affine motion compensation;

when the global motion model is 6-parameter affine motion:

constructing, for each of the first plurality of coding blocks in the first contiguous region, a prediction candidate list including a third candidate comprising three control point motion vectors, wherein each of the three control point motion vectors is a motion vector of a nearest neighbor block in the coded picture, and

decoding each of the first plurality of coding blocks in the first contiguous region using the third candidate for 6-parameter affine motion compensation; and

decoding, by the decoder, the second contiguous region of the coded picture to reconstruct the local motion by using individual motion information contained in the bitstream for each of the second plurality of coding blocks in the second contiguous region.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2026
From: OP SOLUTIONS, LLC
To: DOLBY INTERNATIONAL AB
Reel/Frame 075332/0047 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2025
From: FURHT, BORIVOJE; KALVA, HARI
To: FLORIDA ATLANTIC UNIVERSITY RESEARCH CORPORATION
Reel/Frame 073482/0048 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2025
From: FLORIDA ATLANTIC UNIVERSITY RESEARCH CORPORATION
To: OP SOLUTIONS, LLC
Reel/Frame 073482/0504 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2025
From: ADZIC, VELIBOR
To: OP SOLUTIONS, LLC
Reel/Frame 073482/0944 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 8, 2020
From: FURHT, BORIVOJE; KALVA, HARI; ADZIC, VELIBOR
To: OP SOLUTIONS, LLC
Reel/Frame 055087/0316 →
Continuity (3)
Continuation PCTUS2020029917 · Apr 24, 2020
Provisional Application 62838594 · Apr 25, 2019
Related Publication 20200396480A1 · Dec 17, 2020
Cited By (1)
US 12,219,162