IP Library Granted Patent US 11,533,485
Granted Patent B2
US 11,533,485 · App. 16/778,048 · Granted Dec 20, 2022

Entropy coding of motion vector differences

Inventors: Valeri George (Berlin, DE); Benjamin Bross (Berlin, DE); Heiner Kirchhoffer (Berlin, DE); Detlev Marpe (Berlin, DE); Tung Nguyen (Berlin, DE); Matthias Preiss (Berlin, DE); Mischa Siekmann (Berlin, DE); Jan Stegemann (Berlin, DE); Thomas Wiegand (Berlin, DE)
Assignee: GE Video Compression, LLC
H04N19/13H03M7/42H04N19/124H04N19/132H04N19/174H04N19/184H04N19/50H04N19/513H04N19/52H04N19/61H04N19/70H04N19/91
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,533,485
App. No.
16/778,048
Granted
Dec 20, 2022
Kind
B2
Abstract

An entropy decoder is configured to, for horizontal and vertical components of motion vector differences, derive a truncated unary code from the data stream using context-adaptive binary entropy decoding with exactly one context per bin position of the truncated unary code, which is common for horizontal and vertical components of the motion vector differences, and an Exp-Golomb code using a constant equi-probability bypass mode to obtain the binarizations of the motion vector differences. A desymbolizer is configured to debinarize the binarizations of the motion vector difference syntax elements to obtain integer values of the horizontal and vertical components of the motion vector differences. A reconstructor is configured to reconstruct a video based on the integer values of the horizontal and vertical components of the motion vector differences.

Claims (30)

1. A decoder for decoding a video encoded in a data stream, comprising:

a desymbolizer configured to debinarize a binarization of a motion vector difference, the motion vector difference representing a prediction error between a motion vector used in motion-compensated prediction coding of a coding block of the video and a prediction of the motion vector, wherein the binarization of the motion vector difference includes a truncated unary code portion related to a cutoff value equal to two, wherein a bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than a specific value, and an Exp-Golomb code portion and wherein the truncated unary code portion is to be decoded before the Exp-Golomb code portion; and

a reconstructor configured to:

obtain, from the data stream, an index indicating a specific motion vector predictor of a set of motion vector predictors, wherein the motion vector predictors in the set are determined based on motion vectors of neighbors of the coding block,

reconstruct the motion vector based on a debinarized value of the motion vector difference and the specific motion vector predictor, and

reconstruct the coding block of the video based on the reconstructed motion vector.

2. The decoder of claim 1 , wherein the data stream comprises at least a portion associated with color samples of the video.

3. The decoder of claim 1 , further comprising an entropy decoder configured to decode the truncated unary code using binary arithmetic decoding.

4. The decoder of claim 1 , wherein a bin of the truncated unary code indicating whether an absolute value of the motion vector difference is greater than one, and the Exp-Golomb code portion has a fixed order set to one.

5. The decoder of claim 1 , wherein at least one of the neighbors is a spatial neighbor of the coding block.

6. The decoder of claim 1 , wherein a first bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than zero, and a second bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than one.

7. The decoder of claim 1 , wherein the reconstructor is configured to reconstruct the video using the motion-compensated prediction coding by applying the reconstructed motion vector at a spatial granularity defined by a sub-division of the video's pictures in blocks, wherein the reconstructor uses merging syntax elements present in the data stream so as to group the blocks into merge groups and apply the reconstructed motion vector in units of merge groups.

8. The decoder of claim 7 , wherein the reconstructor is configured to derive the sub-division of the video's pictures in blocks from a portion of the data stream excluding the merging syntax elements.

9. An encoder for encoding a video into a data stream, comprising:

an inserter configured to:

insert, into the data stream, an encoded binarized value of a motion vector difference, the motion vector difference representing a prediction error with respect to a motion vector used in motion-compensated prediction coding of a coding block of the video, wherein the binarized value of the motion vector difference includes a truncated unary code portion related to a cutoff value equal to two, wherein a bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than a specific value, and an Exp-Golomb code portion and wherein the truncated unary code portion is to be encoded before the Exp-Golomb code portion, and

insert, into the data stream, an index indicating a specific motion vector predictor of a set of motion vector predictors, wherein the motion vector predictors in the set are determined based on motion vectors of neighbors of the coding block, and the motion vector difference is determined as a difference between the motion vector and the specific motion vector predictor.

10. The encoder of claim 9 , wherein the data stream comprises at least a portion associated with color samples of the video.

11. The encoder of claim 9 , wherein the data stream comprises at least a portion associated with depth values related to a depth map associated with the video.

12. The encoder of claim 9 , further comprising an entropy encoder configured to encode the truncated unary code using binary arithmetic coding.

13. The encoder of claim 9 , wherein a bin of the truncated unary code indicating whether an absolute value of the motion vector difference is greater than one, and the Exp-Golomb code portion has a fixed order set to one.

14. The encoder of claim 9 , wherein at least one of the neighbors is a spatial neighbor of the coding block.

15. The encoder of claim 9 , wherein a first bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than zero, and a second bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than one.

16. A non-transitory computer-readable medium for storing data associated with a video, comprising:

a data stream stored in the non-transitory computer-readable medium, the data stream comprising an encoded binarized value of a motion vector difference, the motion vector difference representing a prediction error with respect to a motion vector used in motion-compensated prediction coding of a coding block of the video, wherein the binarized value of the motion vector difference includes a truncated unary code portion related to a cutoff value equal to two, wherein a bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than a specific value, and an Exp-Golomb code portion and wherein the truncated unary code portion is to be coded before the Exp-Golomb code portion, and

the data stream comprising an index indicating a specific motion vector predictor of a set of motion vector predictors, wherein the motion vector predictors in the set are determined based on motion vectors of neighbors of the coding block, and the motion vector difference is determined as a difference between the motion vector and the specific motion vector predictor.

17. The computer-readable medium of claim 16 , wherein the data stream comprises at least a portion associated with color samples of the video.

18. The computer-readable medium of claim 16 , wherein the data stream comprises at least a portion associated with depth values related to a depth map associated with the video.

19. The computer-readable medium of claim 16 , wherein the truncated unary code is entropy encoded into the data stream using binary arithmetic coding.

20. The computer-readable medium of claim 16 , wherein a first bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than zero, and a second bin of the truncated unary code indicates whether an absolute value of the motion vector difference is greater than one.

Assignments (3)
CHANGE OF NAME Recorded Nov 26, 2024
From: GE VIDEO COMPRESSION, LLC
To: DOLBY VIDEO COMPRESSION, LLC
Reel/Frame 069450/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2020
From: GEORGE, VALERI; BROSS, BENJAMIN; KIRCHHOFFER, HEINER; MARPE, DETLEV; NGUYEN, TUNG; PREISS, MATTHIAS; SIEKMANN, MISCHA; STEGEMANN, JAN; WIEGAND, THOMAS
To: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
Reel/Frame 051681/0291 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2020
From: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
To: GE VIDEO COMPRESSION, LLC
Reel/Frame 051766/0177 →
Continuity (11)
Continuation 16454387 · Jun 27, 2019
Continuation 16259815 · Jan 28, 2019
Continuation 16103266 · Aug 14, 2018
Continuation 15880772 · Jan 26, 2018
Continuation 15641992 · Jul 5, 2017
Continuation 15238523 · Aug 16, 2016
Continuation 14108108 · Dec 16, 2013
Continuation PCTEP2012061613 · Jun 18, 2012
Provisional Application 61508506 · Jul 15, 2011
Provisional Application 61497794 · Jun 16, 2011
Related Publication 20200169733A1 · May 28, 2020