IP Library Granted Patent US 12,581,082
Granted Patent B2
US 12,581,082 · App. 18/765,931 · Granted Mar 17, 2026

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: DOLBY 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 12,581,082
App. No.
18/765,931
Granted
Mar 17, 2026
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 (43)

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

an entropy decoder configured to decode the syntax elements based on context-adaptive binary arithmetic coding (CABAC), wherein the entropy decoder is configured to:

initialize at least one context of a plurality of contexts based on a slope value of an initialization equation and an offset value of the initialization equation, wherein:

the slope value is computed by applying a first arithmetic operation on an 8-bit initialization value associated with the at least one context, and

the offset value is computed by applying a second arithmetic operation on the 8-bit initialization value.

2 . The decoder according to claim 1 , wherein:

the data stream comprises binarizations of the syntax elements, and

the entropy decoder is configured to decode the binarizations based on the CABAC, the decoder further comprises a desymbolizer configured to debinarize the binarizations of the syntax elements to obtain integer values of the syntax elements.

3 . 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.

4 . 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.

5 . The decoder according to claim 1 , wherein the entropy decoder is configured to 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.

6 . The decoder according to claim 5 , 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.

7 . The decoder according to claim 5 , 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 current 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 current probability interval width value and the offset state value comprising a continuation of reading bits from the data stream.

8 . The decoder according to claim 1 , wherein the entropy decoder is configured to initialize state and value variables of each of the plurality of contexts at a beginning of each slice of the video.

9 . The decoder according to claim 1 , wherein the slope value and the offset value are determined based on first and second sets of 4 bits of the 8-bit initialization value, respectively, using a look-up table.

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

11 . 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.

12 . 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 on context-adaptive binary arithmetic coding (CABAC), wherein the entropy encoder is configured to:

initialize at least one context of a plurality of contexts based on a slope value of an initialization equation and an offset value of the initialization equation, wherein:

the slope value is computed by applying a first arithmetic operation on an 8-bit initialization value associated with the at least one context, and

the offset value is computed by applying a second arithmetic operation on the 8-bit initialization value.

13 . The encoder according to claim 12 , 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 CABAC.

14 . The encoder according to claim 12 , 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.

15 . The encoder according to claim 12 , 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.

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

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

18 . A method for encoding a video into a data stream, comprising:

initializing at least one context of a plurality of contexts based on a slope value of an initialization equation and an offset value of the initialization equation, wherein:

the slope value is computed by applying a first arithmetic operation on an 8-bit initialization value associated with the at least one context, and

the offset value is computed by applying a second arithmetic operation on the 8-bit initialization value; and

encoding syntax elements related to the video into the data stream based on context-adaptive binary arithmetic coding (CABAC).

19 . A method for storing a data stream into which a video is encoded according to the method of claim 18 .

Assignments (3)
CHANGE OF NAME Recorded Nov 26, 2024
From: GE VIDEO COMPRESSION, LLC
To: DOLBY VIDEO COMPRESSION, LLC
Reel/Frame 069451/0262 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2024
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 068400/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2024
From: FRANUHOFER-GESELLSCHAFT ZUR FOERDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
To: GE VIDEO COMPRESSION, LLC
Reel/Frame 068400/0319 →
Continuity (13)
Continuation 17930997 · Sep 9, 2022
Continuation 17232811 · Apr 16, 2021
Continuation 16780031 · Feb 3, 2020
Continuation 16453525 · Jun 26, 2019
Continuation 15918105 · Mar 12, 2018
Continuation 15674150 · Aug 10, 2017
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 20240364891A1 · Oct 31, 2024
References Cited (135)
US 5381145A · Allen · 1995 [cited by applicant]
US 5717394A · Schwartz · 1998 [cited by applicant]
US 5847776A · Khmelnitsky · 1998 [cited by applicant]
US 6771197B1 · Yedidia · 2004 [cited by applicant]
US 6894628B2 · Marpe · 2005 [cited by applicant]
US 6900748B2 · Marpe · 2005 [cited by applicant]
US 6943710B2 · Marpe · 2005 [cited by applicant]
US 7221296B2 · Ziauddin · 2007 [cited by applicant]
US 7884743B2 · Sakaguchi · 2011 [cited by applicant]
US 7932843B2 · Demircin · 2011 [cited by applicant]
US 7956930B2 · Sullivan · 2011 [cited by applicant]
US 8254455B2 · Wu · 2012 [cited by applicant]
US 8351500B2 · Shimofure · 2013 [cited by applicant]
US 8472527B2 · Madumbu · 2013 [cited by applicant]
US 8806050B2 · Chen · 2014 [cited by applicant]
US 8902988B2 · Rojals et al. · 2014 [cited by applicant]
US 9490838B2 · Schwarz · 2016 [cited by applicant]
US 9930371B2 · George et al. · 2018 [cited by applicant]
US 10630988B2 · George et al. · 2020 [cited by applicant]
US 20020176631A1 · Li · 2002 [cited by applicant]
US 20050012648A1 · Marpe · 2005 [cited by examiner]
US 20050013372A1 · Srinivasan · 2005 [cited by applicant]
US 20050036551A1 · Winger · 2005 [cited by applicant]
US 20050038837A1 · Marpe · 2005 [cited by applicant]
US 20050126481A1 · Xue et al. · 2005 [cited by applicant]
US 20060209961A1 · Han et al. · 2006 [cited by applicant]
US 20070009027A1 · Zhu et al. · 2007 [cited by applicant]
US 20070040711A1 · Ziauddin · 2007 [cited by applicant]
US 20070041653A1 · Lafon · 2007 [cited by applicant]
US 20070065026A1 · Lee et al. · 2007 [cited by applicant]
US 20070217702A1 · Sung · 2007 [cited by applicant]
US 20070242894A1 · Kautzer et al. · 2007 [cited by applicant]
US 20080162432A1 · Wang · 2008 [cited by applicant]
US 20080165036A1 · Shima · 2008 [cited by applicant]
US 20080298464A1 · Hinz et al. · 2008 [cited by applicant]
US 20090002379A1 · Baeza · 2009 [cited by applicant]
US 20090180536A1 · Shimofure · 2009 [cited by applicant]
US 20090201986A1 · Schwarz · 2009 [cited by applicant]
US 20090256729A1 · Schneider · 2009 [cited by applicant]
US 20090304071A1 · Shi · 2009 [cited by applicant]
US 20100127904A1 · Oxman et al. · 2010 [cited by applicant]
US 20100266048A1 · Yang et al. · 2010 [cited by applicant]
US 20100303147A1 · Miyazaki · 2010 [cited by applicant]
US 20100316118A1 · Li · 2010 [cited by applicant]
US 20110206125A1 · Chien et al. · 2011 [cited by applicant]
US 20110206135A1 · Drugeon · 2011 [cited by applicant]
US 20120014429A1 · Zhao · 2012 [cited by applicant]
US 20120189058A1 · Chen et al. · 2012 [cited by applicant]
US 20130188700A1 · Guo · 2013 [cited by applicant]
US 20170366810A1 · George et al. · 2017 [cited by applicant]
US 20180262770A1 · Budagavi · 2018 [cited by applicant]
US 20220038719A1 · Leleannec · 2022 [cited by examiner]
CN 1210429A · 1999 [cited by applicant]
CN 1221290A · 1999 [cited by applicant]
CN 1878309A · 2006 [cited by applicant]
CN 1933601A · 2007 [cited by applicant]
CN 101009939A · 2007 [cited by applicant]
CN 101115200A · 2008 [cited by applicant]
CN 101223780A · 2008 [cited by applicant]
CN 101304522A · 2008 [cited by applicant]
CN 101478672A · 2009 [cited by applicant]
CN 101653003A · 2010 [cited by applicant]
CN 101820548A · 2010 [cited by applicant]
CN 101841707A · 2010 [cited by applicant]
CN 101902639A · 2010 [cited by applicant]
CN 101933328A · 2010 [cited by applicant]
CN 101951516A · 2011 [cited by applicant]
CN 107347161A · 2017 [cited by applicant]
EP 1294193A1 · 2003 [cited by applicant]
EP 1727371A1 · 2006 [cited by applicant]
JP 2003153265A · 2003 [cited by applicant]
JP 2005223533A · 2005 [cited by applicant]
JP 2005525018A · 2005 [cited by applicant]
JP 2007020141A · 2007 [cited by applicant]
JP 101005287A · 2007 [cited by applicant]
JP 2007228582A · 2007 [cited by applicant]
JP 2007300455A · 2007 [cited by applicant]
JP 2007306370A · 2007 [cited by applicant]
JP 2008211697A · 2008 [cited by applicant]
JP 2009171188A · 2009 [cited by applicant]
JP 2009525627A · 2009 [cited by applicant]
JP 101517899A · 2009 [cited by applicant]
JP 2009268031A · 2009 [cited by applicant]
JP 2010268094A · 2010 [cited by applicant]
JP 2010538547A · 2010 [cited by applicant]
JP 2012147248A · 2012 [cited by applicant]
JP 5925884B2 · 2016 [cited by applicant]
JP 3560393B2 · 2019 [cited by applicant]
KR 20060038189A · 2006 [cited by applicant]
KR 102187981B1 · 2020 [cited by applicant]
NO 2011128268A · 2011 [cited by applicant]
RU 2336661C2 · 2008 [cited by applicant]
RU 2371881C1 · 2009 [cited by applicant]
RU 2406258C2 · 2010 [cited by applicant]
WO 2005022924A1 · 2005 [cited by applicant]
WO 2009017301A1 · 2009 [cited by applicant]
WO 2009029797 · 2009 [cited by applicant]
WO 2011128268A1 · 2011 [cited by applicant]
Marpe et al. “Context-based adaptive binary arithmetic coding in the H. 264/AVC video compression standard.” Circuits and Systems for Video Technology, IEEE Transactions on 13.7 (2003): 620-636) (Year: 2003). [cited by examiner]
Wiegand et al: “WD3: Working Draft 3 of High-Efficiency Video Coding”, 20110329, No. JCTVC-E603, Mar. 29, 2011 (Mar. 29, 2011), XP030009014, ISSN: 0000-0003 (Year: 2011). [cited by examiner]
Nguyen, T., et al., “Modified binarization and coding of MVD for PIPE/CABAC”, 6. JCT-VC Meeting, Torino, Jul. 14-22, 2011, Document JCTVC-F455 (Version 1 of E3). [cited by applicant]
Dorot V. L. et al., “Explanatory Dictionary On Modern Computer Vocabulary”, 3rd revised and expanded edition, St. Petersburg, “BHV-Petersburg”, p. 381, 314 and 452; 6 pages. [cited by applicant]
Encoder-side description of test model under consideration, Joint Collaborative Team in Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IÄEC JTC1/SC29/WG11, Jul. 28, 2010, 2nd Meeting: Geneva, CH, pp. 1-2, 15-19, 8 page… [cited by applicant]
Kirchhoffer et al., “Reduced complexity PIPE coding using systematic v2v code [online], Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 4th Meeting”, Daegu, KR, Jan. 18, 2… [cited by applicant]
Marpe, et al., “Novel entropy coding concept”, JCT-VC Meeting, Apr. 15, 2010, 18 pages. [cited by applicant]
Marpe, Detlev, Heiko Schwarz, and Thomas Wiegand. “Context-based adaptive binary arithmetic coding in the H. 264/AVC video compression standard.” Circuits and Systems for Video Technology, IEEE Transactions on 13.7 (200… [cited by applicant]
Marpe, et al., Entropy coding in video compression using probability interval partitioning, Picture Coding Symposium (PCS), 2010, pp. 66-69, 5 pages. [cited by applicant]
Marpe, et al., “Unified PIPE-Based Entropy Coding for HEVC”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, Jul. 14-22, 2011, JCTVC-F268, pp. 1-16… [cited by applicant]
Sugimoto, et al., “High Efficient 1 byte fixed length coding for Low Complexity Entropy Coding Aa not PIPE/V2F”, MPEG Meeting, Motion Picture Expert Group or ISO/IEC JTC1/SC29/WG11, Jan. 2011, pp. 1-7. [cited by applicant]
Sullivan, G., “Meeting report of the first meeting of the Joint Collaborative Team on Video Coding (JVT-VC), JCT-VC Management”, 16 pages. [cited by applicant]
Sze, et al., “Simplified MVD context selection (Extension of JCTVC-E324)”, JCT-VC Meeting, Jul. 14, 2011, 4 pages. [cited by applicant]
Wiegand, et al., “WD3: Working Draft 3 of High-Efficiency Video Coding”, Document: JCTVC-E603; joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, Mar. 2011, 160 pages. [cited by applicant]
Winken, et al., “Video coding technology proposal by Fraunhofer HHI”, JCT-VC Meeting; Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-TSG.16, Apr. 2010, pp. 1-44. [cited by applicant]
Winken, M., Description of video coding technology proposal by Fraunhofer HHI, Joint Collaborative Team on Video Coding (JCT-VC). Dresden, DE., 15-23, Apr. 2010, 44 pages. [cited by applicant]
T. Nguyen, et al., “Modified binarization and coding of MVD for PIPE/CABAC”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, Jul. 14-22, 2011, JCT… [cited by applicant]
T. Nguyen, et al., “Modified binarization and coding of MVD for PIPE/CABAC”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, IT, Jul. 14-22, 2011, JCTV… [cited by applicant]
Marpe, Detlev, et al., “Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard”, Jul. 7, 2003, IEEE Transactions on Circuits and Systems for Video Technology, vol. 13. [cited by applicant]
Petition for Inter Partes Review—Inter Partes Review No. 2019-00659 U.S. Pat. No. 9,768,804 dated Feb. 11, 2019. [cited by applicant]
Advanced Video Coding Standard, International Telecommunication Union Recommendation H.264, 9.3.1.1 (5th Ed. Mar. 2010) (“AVC”). [cited by applicant]
Working Draft of High Efficiency Video Coding (HEVC), Joint Collaborative Team on Video Coding (JCT-VC), Doc. 503 (Jan. 2011) (“Draft HEVC”). [cited by applicant]
European Computer Manufacturers Association Standard No. 43: 8-bit coded character set structure and rules (Dec. 1991) (“ECMA”). [cited by applicant]
S. Van Leuven et al., A low-complexity closed-loop H.264/AVC to quality-scalable SVC transcoder, 2011 17th International Conference on Digital Signal Processing (DSP) Corfu, 2011, pp. 1-6 (Aug. 2011). [cited by applicant]
Summary sheet of Seung-Seok Lee et al., High Speed Decoding of Entropy Codes in H.264/AVC Based on Symbol Prediction, Key Engineering Materials (KEM), vol. 321-323. [cited by applicant]
Bin Guo et al., “A High Speed CABAC Algorithm Based on Probability Estimation Update”, Fourth International Conference on Image and Graphics, 2007 JEEE, pp. 195-199. [cited by applicant]
Tung Nguyen, et al., A Complexity Scalable Entropy Coding Scheme for Video Compression, 2012 Picture Coding Symposium, USA, IEEE, May 7, 2012, pp. 421-424. [cited by applicant]
Liwei Guo et al., CE1 B3: 8-bit Linear Initialization for CABAC, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTCI/SC29/WG11 8th Meeting: San Jose, Feb. 1-10, 2012, [JCTVC-H0535], ITU-… [cited by applicant]
Liwei Guo et al., “Non-Cei: 8 bit Initialization for CABAC”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 7th Meeting; Geneva Nov. 21-30, 2011 [JCTVC-G837], ITU-T Nov. 2… [cited by applicant]
T. Wiegand, et al., WD3: Working Draft 3 of High-Efficiency Video Coding. JCT-VC of ITU-T and ISO/IEC. JCTVC-E603. Ver.8. Jun. 27, 2011, pp. 1-215. [cited by applicant]
V. Sze, et al. Simplified MVD context selection (Extension of E324). JCT-VC of ITU-T and ISO/IEC. JCTVC-F133. Ver.3. Jul. 6, 2011, pp. 1-2. [cited by applicant]
JCT-VC. Encoder-side description of Test Model under Consideration. JCT-VC of ITU-T and ISO/IEC. JCTVC-B204. Oct. 3, 2010, pp. 1-19. [cited by applicant]
Detlev Marpe et al., Unified PIPE-Based Entropy Coding for HEVC, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/VVG11, 6th Meeting: Torino, IT, Jul. 14-22, 2011, [JCTVC-F268], … [cited by applicant]
Bross, B., et al., “High efficiency video coding (HEVC) text specification draft 7”, Document JCTVC-11003_d4, JCT-VC of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Geneva, CH, Apr. 27, 2012-May 7, 2012. [cited by applicant]
Hisao Sasai et al., “Parallel Context Processing for Significance map using block-based context updates”, 5. JCT-VC Meeting; Mar. 16, 2011-Mar. 23, 2011; Geneva; (Joint Collaborative Team on Video Goding of 180/IEC JTC1… [cited by applicant]
Shiodera, T., et al., “Modified probability model update for complexity reduction”, 7th Meeting, JCT-VC Meeting, Geneva, Nov. 21-30, 2011, Document JCTVC-G440, 5 pages. [cited by applicant]
Hisao Sasai et al., “Modified MVD coding for CABAC”, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JCTVC-F423, 6th Meeting: Torino, IT, Jul. 12, 2011, pp. 1-6. [cited by applicant]