US 12,244,852 B2
Encoder for coded pictures having regions with common motion models
Borivoje Furht, Boca Raton, FL (US); Hari Kalva, Boca Raton, FL (US); and Velibor Adzic, Boca Raton, FL (US)
Assigned to OP Solutions, LLC, Amherst, MA (US)
Filed by OP Solutions, LLC, Amherst, MA (US)
Filed on Oct. 18, 2023, as Appl. No. 18/381,204.
Application 18/381,204 is a continuation of application No. 17/989,794, filed on Nov. 18, 2022, granted, now 11,818,390.
Application 17/989,794 is a continuation of application No. 17/006,687, filed on Aug. 28, 2020, granted, now 11,516,502, issued on Nov. 29, 2022.
Application 17/006,687 is a continuation of application No. PCT/US2020/029917, filed on Apr. 24, 2020.
Claims priority of provisional application 62/838,594, filed on Apr. 25, 2019.
Prior Publication US 2024/0064329 A1, Feb. 22, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04N 11/02 (2006.01); H04N 19/176 (2014.01); H04N 19/527 (2014.01); H04N 19/96 (2014.01)
CPC H04N 19/527 (2014.11) [H04N 19/176 (2014.11); H04N 19/96 (2014.11)] 4 Claims
OG exemplary drawing
 
1. A video encoder configured to encode a bitstream to be decoded by a compliant decoder:
the encoder generating the encoded 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; and
the decoder being configured to:
receive the encoded bitstream;
decode the first contiguous region of the coded picture by:
for each coding block of the first plurality of coding blocks in the first contiguous region, utilize a motion model, the motion model being the same for all of the first plurality of coding blocks in the first contiguous region, the motion model being one of translational motion, 4-parameter affine motion, and 6-parameter affine motion, the sequence parameter set containing information about the motion model;
when the motion model is translational motion, construct for each of the first plurality of coding blocks in the first contiguous region, a motion vector 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 motion model is 4-parameter affine motion, construct for each of the first plurality of coding blocks in the first contiguous region, a motion vector 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 first contiguous region using the second candidate for 4-parameter affine motion compensation;
when the motion model is 6-parameter affine motion, construct for each of the first plurality of coding blocks in the first contiguous region, a motion vector 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 first contiguous region using the third candidate for 6-parameter affine motion compensation;
decode the second contiguous region of the coded picture by decoding each of the coding blocks in the second plurality using individual motion information contained in the bitstream for each of the second plurality of coding blocks, and
store the decoded picture in a decoded picture buffer.