IP Library › Granted Patent US 12,489,898
Granted Patent B2
US 12,489,898 · App. 18/145,399 · Granted Dec 2, 2025

Context adaptive binary arithmetic coding (CABAC) probability estimation for video coding

Inventors: Jie Dong (Sunnyvale, CA); Vadim Seregin (San Diego, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/13H04N19/184H04N19/70
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,489,898
App. No.
18/145,399
Granted
Dec 2, 2025
Kind
B2
Abstract

A video decoder is configured to receive bin values according to a context model, wherein the context model includes one or more probability states and the bin values correspond to one or more syntax elements of the video data; determine a first shift value based on the received bin values; determine a second shift value based on the received bin values; update a first state variable based on the first shift value; update a second state variable based on the second shift value; determine, for a next bin to be decoded, a probability state for the context model based on the first state variable and the second state variable; context decode the next bin to be decoded based on the probability state; and determine values for the one or more syntax elements based on the received bin values and the context decoded next bin value.

Claims (74)

1 . A method of decoding video data, the method comprising:

receiving bin values according to a context model, wherein the context model includes one or more probability states and the bin values correspond to one or more syntax elements of the video data;

determining a first shift value based on the received bin values;

determining a second shift value based on the received bin values;

updating a first state variable based on the first shift value;

updating a second state variable based on the second shift value;

determining, for a next bin to be decoded, a probability state for the context model based on the first state variable and the second state variable;

context decoding the next bin to be decoded based on the probability state; and

determining values for the one or more syntax elements based on the received bin values and the context decoded next bin value.

2 . The method of claim 1 , wherein determining the probability state for the context model based on the first state variable and the second state variable comprises determining the probability state based on a weighted average of the first state variable and the second state variable.

3 . The method of claim 2 , further comprising:

determining weights for calculating the weighted average of the first state variable and the second state variable based on the context model, wherein the weights comprise a first weight and a second weight, and the first weight and second weight are different.

4 . The method of claim 3 , wherein a sum of the first weight and the second weight is equal to 1.

5 . The method of claim 3 , further comprising:

determining values for the weights based on an identifier of the context model.

6 . The method of claim 1 , wherein determining the first shift value based on the received bin values comprises:

identifying an entry in a look up table based on an identifier of the context model and a last M bin values received, wherein M is an integer value greater than 1; and

determining the first shift value based on the entry.

7 . The method of claim 6 , further comprising:

determining the second shift value based on the entry.

8 . The method of claim 7 , wherein the entry comprises an 8-bit value, the first 4 bits of the 8-bit value identify the first shift value, and the last 4 bits of the 8-bit value identify the second shift value.

9 . The method of claim 1 , wherein the first shift value is updated at a higher rate than the second shift value.

10 . The method of claim 1 , wherein the received bin values correspond to a last M bins decoded by the context model, wherein M is an integer value greater than zero.

11 . The method of claim 10 , wherein M is equal to 1.

12 . A device for decoding video data, the device comprising:

a memory configured to store video data;

one or more processors implemented in circuitry and configured to:

receive bin values according to a context model, wherein the context model includes one or more probability states and the bin values correspond to one or more syntax elements of the video data;

determine a first shift value based on the received bin values;

determine a second shift value based on the received bin values;

update a first state variable based on the first shift value;

update a second state variable based on the second shift value;

determine, for a next bin to be decoded, a probability state for the context model based on the first state variable and the second state variable;

context decode the next bin to be decoded based on the probability state; and

determine values for the one or more syntax elements based on the received bin values and the context decoded next bin value.

13 . The device of claim 12 , wherein to determine the probability state for the context model based on the first state variable and the second state variable, the one or more processors are further configured to determine the probability state based on a weighted average of the first state variable and the second state variable.

14 . The device of claim 13 , wherein the one or more processors are further configured to:

determine weights for calculating the weighted average of the first state variable and the second state variable based on the context model, wherein the weights comprise a first weight and a second weight, and the first weight and second weight are different.

15 . The device of claim 14 , wherein a sum of the first weight and the second weight is equal to 1.

16 . The device of claim 14 , wherein the one or more processors are further configured to:

determine values for the weights based on an identifier of the context model.

17 . The device of claim 12 , wherein to determine the first shift value based on the received bin values, the one or more processors are further configured to:

identify an entry in a look up table based on an identifier of the context model and a last M bin values received, wherein M is an integer value greater than 1; and

determine the first shift value based on the entry.

18 . The device of claim 17 , wherein the one or more processors are further configured to:

determine the second shift value based on the entry.

19 . The device of claim 18 , wherein the entry comprises an 8-bit value, the first 4 bits of the 8-bit value identify the first shift value, and the last 4 bits of the 8-bit value identify the second shift value.

20 . The device of claim 12 , wherein the first shift value is updated at a higher rate than the second shift value.

21 . The device of claim 12 , wherein the received bin values correspond to a last M bins decoded by the context model, wherein M is an integer value greater than zero.

22 . The device of claim 21 , wherein M is equal to 1.

23 . The device of claim 12 , wherein the device comprises a wireless communication device, further comprising a receiver configured to receive encoded video data.

24 . The device of claim 23 , wherein the wireless communication device comprises a telephone handset and wherein the receiver is configured to demodulate, according to a wireless communication standard, a signal comprising the encoded video data.

25 . The device of claim 12 , further comprising:

a display configured to display decoded video data.

26 . The device of claim 12 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

27 . An apparatus for decoding video data, the apparatus comprising:

means for receiving bin values according to a context model, wherein the context model includes one or more probability states and the bin values correspond to one or more syntax elements of the video data;

means for determining a first shift value based on the received bin values, wherein the means for determining the first shift value based on the received bin values comprises:

means for determining a first predefined shift value based on the context model;

means for determining a first shift delta value based on the received bin values; and

means for adding the first predefined shift value to the first shift delta value to determine the first shift value;

means for determining a second shift value based on the received bin values, wherein the means for determining the second shift value based on the received bin values comprises:

means for determining a second predefined shift value based on the context model;

means for determining a second shift delta value based on the received bin values; and

means for adding the second predefined shift value to the second shift delta value to determine the second shift value;

means for updating a first state variable based on the first shift value;

means for updating a second state variable based on the second shift value;

means for determining, for a next bin to be decoded, a probability state for the context model based on the first state variable and the second state variable;

means for context decoding the next bin to be decoded based on the probability state; and

means for determining values for the one or more syntax elements based on the received bin values and the context decoded next bin value.

28 . The apparatus of claim 27 , wherein determining the probability state for the context model based on the first state variable and the second state variable comprises determining the probability state based on a weighted average of the first state variable and the second state variable.

29 . The apparatus of claim 28 , further comprising:

means for determining weights for calculating the weighted average of the first state variable and the second state variable based on the context model, wherein the weights comprise a first weight and a second weight, and the first weight and second weight are different.

30 . The apparatus of claim 29 , wherein a sum of the first weight and the second weight is equal to 1.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2023
From: DONG, JIE; SEREGIN, VADIM; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 062470/0662 →
Continuity (2)
Provisional Application 63266623 · Jan 10, 2022
Related Publication 20230224464A1 · Jul 13, 2023
References Cited (19)
Chen J., et al., “Algorithm Description of Joint Exploration Test Model 7 (JEM7),” 119 . MPEG Meeting, 7. JVET Meeting, Jul. 13, 2017-Jul. 21, 2017, JVET-G1001-V1, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP3 … [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 3 (ECM 3),” JVET-X2025-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 23rd Meeting, by teleconference, Jul. 7-16, … [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 4 (ECM 4),” JVET-Y2025-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 23rd Meeting, by teleconference, Jul. 7-16, … [cited by applicant]
ITU-T H.265: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video,” High Efficiency Video Coding, The International Telecommunication Union, Jun. 2019, 696 Pages. [cited by applicant]
ITU-T H.266: “Series H: Audiovisual and Multimedia Systems Infrastructure of Audiovisual Services—Coding of Moving Video,” Versatile Video Coding, The International Telecommunication Union, Aug. 2020, 516 pages. [cited by applicant]
Karczewicz M., et al., “Common Test Conditions and Evaluation Procedures for Enhanced Compression Tool Testing,” JVET-Y2017-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, … [cited by applicant]
Karczewicz M., et al., “Common Test Conditions and Evaluation Procedures for Enhanced Compression Tool Testing,” JVET-W2017-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, JVET-X2017-v1,… [cited by applicant]
Seregin V., et al., “AHG12: CABAC Initialization from Previous Inter Slice,” JVET-Y0181-v3, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, by teleconference, Jan. 12-21, 2022,… [cited by applicant]
Seregin V., et al., “EE2-4.2: Cabac Initialization from Previous Inter Slice and Windows Adjustment,” JVET-Z0133-1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconfe… [cited by applicant]
Seregin V., et al., “Exploration Experiment on Enhanced Compression beyond VVC capability (EE2),” JVET-Y2024-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, by teleconferen… [cited by applicant]
Xiu X., et al., “AHG12: Improved Probability Estimation for CABAC,” JVET-Y0157-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 25th Meeting, by teleconference, Jan. 12-21, 2022, 12 pages. [cited by applicant]
Xiu X., et al., “EE2-Test4.1: Improved Probability Estimation for CABAC,” JVET-Z0134-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, Apr. 20-29, 2022, pp… [cited by applicant]
Xiu X., et al., “EE2-Test4.1: Improved Probability Estimation for CABAC,” JVET-Z0134-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, Apr. 20-29, 2022, pp… [cited by applicant]
Xiu X., et al., “EE2-Test4.3: Combined Tests of EE2-4.1 and EE2-4.2,” JVET-Z0135-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, Apr. 20-29, 2022, pp. 1-… [cited by applicant]
Xiu X., et al., “EE2-Test4.3: Combined Tests of EE2-4.1 and EE2-4.2,” JVET-Z0135-v2, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 26th Meeting, by teleconference, Apr. 20-29, 2022, pp. 1-… [cited by applicant]
Alshin A., et al., “CE1 (subset B): Multi-Parameter Probability Up-Date for CABAC,” JCTVC-G764, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 7th Meeting, Geneva, CH, No… [cited by applicant]
Browne A., et al., “Algorithm Description for Versatile Video Coding and Test Model 15 (VTM15),” JVET-X2002-v1, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 24th Meeting, by teleconferenc… [cited by applicant]
Coban M., et al., “Algorithm Description of Enhanced Compression Model 6 (ECM 6),” JVET-AA2025, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29, 27th Meeting, by teleconference, Jul. 13-22, 2… [cited by applicant]
International Search Report and Written Opinion—PCT/US2022/053966—ISA/EPO—Apr. 21, 2023 12 Pages. [cited by applicant]