IP Library Granted Patent US 9,973,761
Granted Patent B2
US 9,973,761 · App. 15/674,150 · Granted May 15, 2018

Context initialization in entropy coding

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/50H04N19/513H04N19/52H04N19/61H04N19/70H04N19/91H04N19/174H04N19/184
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 9,973,761
App. No.
15/674,150
Granted
May 15, 2018
Kind
B2
Abstract

A decoder includes an entropy decoder configured to derive a number of bins of the binarizations from the data stream using binary entropy decoding by selecting a context among different contexts and updating probability states associated with the different contexts, dependent on previously decoded portions of the data stream; a desymbolizer configured to debinarize the binarizations of the syntax elements to obtain integer values of the syntax elements; a reconstructor configured to reconstruct the video based on the integer values of the syntax elements using a quantization parameter, wherein the entropy decoder is configured to distinguish between 126 probability states and to initialize the probability states associated with the different contexts according to a linear equation of the quantization parameter, wherein the entropy decoder is configured to, for each of the different contexts, derive a slope and an offset of the linear equation from first and second four bit parts of a respective 8 bit initialization value.

Claims (50)

1. A decoder for decoding a video from a data stream comprising syntax elements encoded therein, the decoder comprising:

an entropy decoder configured to decode the syntax elements based on one or more of a plurality of contexts used in binary entropy decoding, wherein the entropy decoder is configured to, in decoding data of a slice of the video, initialize at least one of the plurality of contexts based at least on a quantization parameter associated with the slice, and a slope value of an initialization equation, wherein the slope value is derived based on a four-bit part of an 8-bit initialization value associated with the at least one context; and

a reconstructor configured to reconstruct the video based on entropy-decoded syntax elements and the quantization parameter.

2. The decoder according to claim 1 , wherein

the data stream comprises encoded binarizations of the syntax elements;

the entropy decoder is configured to decode the binarizations based on the binary entropy decoding;

the decoder further comprises a desymbolizer configured to debinarize the binarizations of the syntax elements to obtain integer values of the syntax elements; and

the reconstructor is configured to reconstruct the video based on the integer values of the syntax elements.

3. The decoder according to claim 1 , wherein the entropy decoder is configured to decode the syntax elements based on binary arithmetic decoding.

4. The decoder according to claim 1 , wherein the entropy decoder is configured to select a context from the plurality of contexts to decode a syntax element based on one or more of:

a bin position of a bin of the syntax element,

a syntax element type of the syntax element, and

a value associated with a syntax element previously decoded.

5. The decoder according to claim 1 , wherein the entropy decoder is configured to update probability states associated with each of the plurality of contexts by transitioning from a current probability state associated with the context to a new probability state among 126 probability sates based on a portion of a syntax element being currently decoded.

6. The decoder according to claim 1 , wherein the entropy decoder is configured to binary arithmetic decode a bin of a syntax element being currently decoded by quantizing a current probability interval width value representing a current probability interval to acquire a probability interval index, and performing an interval subdivision by indexing a table entry among tables entries using the probability interval index and a probability state index depending on a current probability state associated with the context selected for the bin, to acquire a sub-division of the current probability interval into two partial intervals.

7. The decoder according to claim 6 , wherein the entropy decoder is configured to use an 8-bit representation for the current probability interval width value and to obtain 2 or 3 most significant bits of the 8-bit representation in quantizing the current probability interval width value.

8. The decoder according to claim 6 , wherein the entropy decoder is configured to

select one of the two partial intervals based on an offset state value from an interior of the current probability interval;

update the probability interval width value and the offset state value;

infer a value of the bin using the selected partial interval; and

perform a renormalization of the updated probability interval width value and the offset state value comprising a continuation of reading bits from the data stream.

9. The decoder according to claim 1 , wherein the entropy decoder is configured to initialize the plurality of contexts at the beginning of the slice of the video.

10. The decoder according to claim 1 , wherein the slope value is determined based on the 8-bit initialization value using a look-up table.

11. The decoder according to claim 1 , wherein the slope value is determined based on a first arithmetic operation using four most significant bits of the 8-bit initialization value.

12. The decoder according to claim 1 , wherein the data stream comprises at least a portion associated with color samples related to the video.

13. The decoder according to claim 1 , wherein the data stream comprises at least a portion associated with depth values related to a depth map related to the video.

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

an entropy encoder configured to encode syntax elements related to the video into the data stream based one or more of a plurality of contexts used in binary entropy encoding, wherein the entropy encoder is configured to initialize, in encoding data of a slice of the video, at least one of the plurality of contexts based at least on a quantization parameter associated with the slice, and a slope value of an initialization equation, wherein the slope value is derived based on a four-bit part of an 8-bit initialization value associated with the at least one context.

15. The encoder according to claim 14 , further comprising a symbolizer configured to binarize the syntax elements to obtain binarizations of the syntax elements,

wherein the entropy encoder is configured to encode the binarizations based on the binary entropy decoding.

16. The encoder according to claim 14 , wherein the entropy encoder is configured to encode the syntax elements based on binary arithmetic encoding.

17. The encoder according to claim 14 wherein the entropy encoder is configured to select a context from the plurality of contexts to encode a syntax element based on one or more of:

a bin position of a bin of the syntax element,

a syntax element type of the syntax element, and

a value associated with a syntax element previously encoded.

18. The encoder according to claim 14 , wherein the entropy encoder is configured to update probability states associated with each of the plurality of contexts by transitioning from a current probability state associated with the context to a new probability state among 126 probability sates based on a portion of a syntax element being currently encoded.

19. The encoder according to claim 14 , wherein the entropy encoder is configured to binary arithmetic encode a bin of a syntax element being currently encoded by quantizing a current probability interval width value representing a current probability interval to acquire a probability interval index, and performing an interval subdivision by indexing a table entry among tables entries using the probability interval index and a probability state index depending on a current probability state associated with the context selected for the bin, to acquire a sub-division of the current probability interval into two partial intervals.

20. The encoder according to claim 14 , wherein the entropy encoder is configured to initialize the plurality of contexts at the beginning of the slice of the video.

21. The encoder according to claim 14 , wherein the slope value is determined based on the 8-bit initialization value using a look-up table.

22. The encoder according to claim 14 , wherein the slope value is determined based on a first arithmetic operation using four most significant bits of the 8-bit initialization value.

23. The encoder according to claim 14 , wherein the data stream comprises at least a portion associated with color samples related to the video.

24. The encoder according to claim 14 , wherein the data stream comprises at least a portion associated with depth values related to a depth map related to the video.

25. A method for decoding a video from a data stream comprising syntax elements encoded therein, the method comprising:

decoding the syntax elements based on one or more of a plurality of contexts used in binary entropy decoding, wherein the decoding includes, in decoding data of a slice of the video, initializing at least one of the plurality of contexts based at least on a quantization parameter associated with the slice, and a slope value of an initialization equation, wherein the slope value is derived based on a four-bit part of an 8-bit initialization value associated with the at least one context; and

reconstructing the video based on entropy-decoded syntax elements and the quantization parameter.

26. A computer program stored on a non-transitory computer-readable medium comprising a program code for performing, when executed on a computer, a method according to claim 25 .

27. 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 encoded syntax elements associated with the video, wherein the syntax elements are entropy encoded based on one or more of a plurality of contexts used in binary entropy encoding, wherein, in encoding data of a slice of the video, at least one of the plurality of contexts is initialized based at least on a quantization parameter associated with the slice, and a slope value of an initialization equation, wherein the slope value is derived based on a four-bit part of an 8-bit initialization value associated with the at least one context.

28. The non-transitory computer-readable medium according to claim 27 , wherein the data stream comprises at least a portion associated with color samples related to the video.

29. The non-transitory computer-readable medium according to claim 27 , wherein the data stream comprises at least a portion associated with depth values related to a depth map related to the video.

Assignments (3)
CHANGE OF NAME Recorded Nov 26, 2024
From: GE VIDEO COMPRESSION, LLC
To: DOLBY VIDEO COMPRESSION, LLC
Reel/Frame 069450/0344 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2017
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 043262/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2017
From: FRAUNHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
To: GE VIDEO COMPRESSION, LLC
Reel/Frame 043521/0353 →
Continuity (7)
Continuation 15430826 · Feb 13, 2017
Continuation 15244126 · Aug 23, 2016
Continuation 14108132 · Dec 16, 2013
Continuation PCTEP2012061614 · Jun 18, 2012
Provisional Application 61508506 · Jul 15, 2011
Provisional Application 61497794 · Jun 16, 2011
Related Publication 20170366810A1 · Dec 21, 2017