IP Library › Granted Patent US 12,301,832
Granted Patent B2
US 12,301,832 · App. 17/869,964 · Granted May 13, 2025

Methods, devices, and storage medium for multi-symbol arithmetic coding

Inventors: Madhu Peringassery Krishnan (Mountain View, CA); Xin Zhao (San Jose, CA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/149H04N19/172H04N19/46H04N19/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,301,832
App. No.
17/869,964
Granted
May 13, 2025
Kind
B2
Abstract

Methods, apparatus, and computer readable storage medium for multi-symbol arithmetic coding in video decoding. The method includes receiving a coded video bitstream; obtaining an array of cumulative distribution functions and corresponding M symbols, wherein M is an integer larger than 1; and performing, based on the array of cumulative distribution functions, arithmetic decoding on the coded video bitstream to extract at least one symbol by: for each extracted symbol, updating the array of cumulative distribution functions according to the extracted symbol based on at least one probability update rate, and continuing, based on the updated array of cumulative distribution functions, arithmetic decoding on the coded video bitstream to extract next symbol.

Claims (217)

1. A method for multi-symbol arithmetic coding in video decoding, the method comprising:

receiving, by a device comprising a memory storing instructions and a processor in communication with the memory, a coded video bitstream;

obtaining, by the device, an array of cumulative distribution functions and corresponding M symbols, wherein M is an integer larger than 1; and

performing, by the device based on the array of cumulative distribution functions, arithmetic decoding on the coded video bitstream to extract at least one symbol by:

for each extracted symbol, updating, by the device, the array of cumulative distribution functions according to the extracted symbol based on at least one probability update rate, and

continuing, by the device based on the updated array of cumulative distribution functions, arithmetic decoding on the coded video bitstream to extract next symbol,

wherein:

the at least one probability update rate comprises a probability update rate, and

the probability update rate comprises a function f(N, M), wherein N is a number of appearances for an associated symbol when parsing the coded video bitstream, and wherein f(N, M) is at least a function of a value determined from a lookup table using N as a lookup index.

2. The method according to claim 1 , wherein:

the function f(N, M) comprises

1

2

A

+

(

N

>

B

)

+

LUT

⁡

(

N

)

+

g

⁡

(

M

,

D

)

,

wherein A, B, C and D are pre-defined function parameters, and g(M, D) is a function of M with D as a function parameter, and LUT(N) represents the lookup table using N as index.

3. The method according to claim 2 , wherein:

g(M, D) comprises min(log 2 (M),D).

4. The method according to claim 2 , wherein:

the pre-defined function parameters are initialized for decoding a tile or a frame.

5. The method according to claim 2 , wherein:

the pre-defined function parameters are obtained from a high-level syntax comprising at least one of the following: a video parameter set (VPS), a picture parameter set (PPS), a sequence parameter set (SPS), an adaptation parameter set (APS), a picture header, a frame header, a slice header, a tile header, or a coding tree unit (CTU) header.

6. The method according to claim 1 , wherein:

the function f(N, M) comprises

1

2

A

+

(

N

>

B

)

+

(

N

>

C

)

+

LUT

⁡

(

N

)

+

g

⁡

(

M

,

D

)

,

wherein A, B, C, and D are pre-defined function parameters, and g(M, D) is a function of M with E as a function parameter, and LUT(N) represents the lookup table using N as index.

7. An apparatus for multi-symbol arithmetic coding in encoding a video bitstream into a coded bitstream, the apparatus comprising:

a memory storing instructions; and

a processor in communication with the memory, wherein, when the processor executes the instructions, the processor is configured to cause the apparatus to:

receive a video bitstream;

obtain an array of cumulative distribution functions and corresponding M symbols, wherein M is an integer larger than 1;

perform, based on the array of cumulative distribution functions, arithmetic encoding on the video bitstream to extract at least one symbol by:

for each extracted symbol, updating the array of cumulative distribution functions according to the extracted symbol based on at least one probability update rate, and

continuing, based on the updated array of cumulative distribution functions, arithmetic encoding on the video bitstream to extract next symbol; and

encode all extracted symbols into the coded bitstream,

wherein:

the at least one probability update rate comprises a probability update rate, and

the probability update rate comprises a function f(N, M), wherein N is a number of appearances for an associated symbol when parsing the video bitstream, and wherein f(N, M) is at least a function of a valve determined from a lookup table using N as a lookup index.

8. The apparatus according to claim 7 , wherein:

the function f(N, M) comprises

1

2

A

+

(

N

>

B

)

+

LUT

⁡

(

N

)

+

g

⁡

(

M

,

D

)

,

wherein A, B, C and D are pre-defined function parameters, and g(M, D) is a function of M with D as a function parameter, and LUT(N) represents the lookup table using N as index.

9. The apparatus according to claim 7 , wherein:

the function f(N, M) comprises

1

2

A

+

(

N

>

B

)

+

(

N

>

C

)

+

LUT

⁡

(

N

)

+

g

⁡

(

M

,

D

)

,

wherein A, B, C, D, and are pre-defined function parameters, and g(M, D) is a function of M with E as a function parameter, and LUT(N) represents the lookup table using N as index.

10. A method of processing video data, the method comprising:

performing, by a device comprising a memory storing instructions and a processor in communication with the memory, a conversion between video data and a bitstream by:

obtaining an array of cumulative distribution functions and corresponding M symbols, wherein M is an integer larger than 1;

performing, based on the array of cumulative distribution functions, arithmetic encoding on the video data to extract at least one symbol by:

for each extracted symbol, updating the array of cumulative distribution functions according to the extracted symbol based on at least one probability update rate, and

continuing, based on the updated array of cumulative distribution functions, arithmetic encoding on the video data to extract next symbol; and

encoding all extracted symbols into the bitstream,

wherein:

the at least one probability update rate comprises a probability update rate, and

the probability update rate comprises a function f(N, M), wherein N is a number of appearances for an associated symbol when parsing the video data, and wherein f(N, M) is at least a function of a value determined from a lookup table using N as a lookup index.

11. The method according to claim 10 , wherein:

the function f(N, M) comprises

1

2

A

+

(

N

>

B

)

+

LUT

⁡

(

N

)

+

g

⁡

(

M

,

D

)

,

wherein A, B, C and D are pre-defined function parameters, and g(M, D) is a function of M with D as a function parameter, and LUT(N) represents the lookup table using N as index.

12. The method according to claim 10 , wherein:

the function f(N, M) comprises

1

2

A

+

(

N

>

B

)

+

(

N

>

C

)

+

LUT

⁡

(

N

)

+

g

⁡

(

M

,

D

)

,

wherein A, B, C, D, and E are pre-defined function parameters, and g(M, D) is a function of M with E as a function parameter, and LUT(N) represents the lookup table using N as index.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2022
From: PERINGASSERY KRISHNAN, MADHU; ZHAO, XIN; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 060579/0266 →
Continuity (2)
Provisional Application 63306386 · Feb 3, 2022
Related Publication 20230247206A1 · Aug 3, 2023
References Cited (15)
US 20050146451A1 · Kobayashi · 2005 [cited by examiner]
US 20180324435A1 · George · 2018 [cited by examiner]
US 20200029098A1 · Han · 2020 [cited by examiner]
US 20210084317A1 · Makeev et al. · 2021 [cited by applicant]
US 20210274225A1 · Makeev et al. · 2021 [cited by applicant]
US 20220086445A1 · Alshin · 2022 [cited by examiner]
US 20220394273A1 · Aggarwal · 2022 [cited by examiner]
US 20230010869A1 · Hu · 2023 [cited by examiner]
US 20230085142A1 · Massimino · 2023 [cited by examiner]
US 20230224464A1 · Dong · 2023 [cited by examiner]
US 20240129473A1 · Moccagatta · 2024 [cited by examiner]
WO WO2022010531A1 · 2022 [cited by applicant]
International Search Report and Written Opinion regarding PCT/US22/38477 dated Dec. 13, 2022. [cited by applicant]
Japanese Office Action with machine translation regarding Patent Application No. 2023-567030 dated Oct. 21, 2024, 9 pages. [cited by applicant]
J. Han et al. “A Technical Overview of AV1,” Proceedings of the IEEE, IEEE, Feb. 26, 2021, vol. 109, Issues 9, 5 pages. [cited by applicant]