IP Library Granted Patent US 12671440
Granted Patent B2
US 12671440 · App. 18/745,812 · Granted Jun 30, 2026

Arithmetic encoders, arithmetic decoders, video encoder, video decoder, methods for encoding, methods for decoding and computer program

Inventors: Heiner Kirchhoffer (Berlin, DE); Jan Stegemann (Staufen, DE); Detlev Marpe (Berlin, DE); Paul Haase (Berlin, DE); Stefan Matlage (Berlin, DE); Christian Bartnik (Berlin, DE); Heiko Schwarz (Berlin, DE); Thomas Wiegand (Berlin, DE)
Assignee: Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
H03M7/4006H03M7/02H03M7/3082H03M7/40H03M7/42H04N19/13
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 12671440
App. No.
18/745,812
Granted
Jun 30, 2026
Kind
B2
Abstract

An arithmetic encoder for encoding a plurality of symbols having symbol values to derive an interval size information for an arithmetic encoding of one or more symbol values to be encoded based on a plurality of state variable values representing statistics of a plurality of previously encoded symbol values with different adaptation time constants. The arithmetic encoder maps a first state variable value, or a scaled and/or rounded version thereof, using a lookup-table and maps a second state variable value, or a scaled and/or rounded version thereof using the lookup-table, to obtain the interval size information describing an interval size for the arithmetic encoding of one or more symbols to be encoded. Further arithmetic encoders, arithmetic decoders, video encoders, video decoder, methods for encoding, methods for decoding and computer programs are also disclosed.

Claims (115)

1 . An arithmetic encoder for encoding a plurality of symbols having symbol values,

wherein the arithmetic encoder is configured to derive an interval size value for an arithmetic encoding of one or more symbol values to be encoded on the basis of one or more state variable values, which represent statistics of a plurality of previously encoded symbol values,

wherein the arithmetic encoder is configured to determine the interval size value using a base lookup table,

wherein the arithmetic encoder is configured to determine the interval size value such that a determined interval size value is identical to an element of the base lookup table or is a rounded version of an element of the base lookup table if a probability index, which is obtained on the basis of the one or more state variable values, is within a first range, and such that a determined interval size value is obtained using a scaling and rounding of an element of the base lookup table if the probability index is within a second range; and

wherein the arithmetic encoder is configured to perform the arithmetic encoding of one or more symbols using the interval size value.

2 . The arithmetic encoder according to claim 1 ,

wherein the arithmetic encoder is configured to determine the interval size value, such that the determined interval size value is a right-shifted version of an element of the base-lookup table if the probability index is within the second range.

3 . The arithmetic encoder according to claim 1 ,

wherein the probability index) determines whether an element of the lookup table is provided as the interval size value, or whether an element of the lookup table is scaled and rounded to obtain the interval size value.

4 . The arithmetic encoder according to claim 1 ,

wherein a division residual of a division between the probability index and a first size value and an interval size index determine which element of the base lookup table is used to obtain the interval size value.

5 . The arithmetic encoder according to claim 1 ,

wherein the arithmetic encoder is configured to obtain the interval size value RXPS according to

RXPS

=

Sc

al

(

BaseTab

LPS

[

i

%

µ

]

[

j

]

,

i

/

µ

)

wherein BaseTabLPS is a base lookup table of dimension μ×λ

wherein i is a table index associated with a probability information;

wherein j is a table index associated with an interval size information;

wherein % is a division residual operation;

wherein / is a division operation;

wherein Scal (x,y) is a scaling function.

6 . A video encoder,

wherein the video encoder is configured to encode a plurality of video frames, wherein the video encoder comprises an arithmetic encoder for providing an encoded binary sequence on the basis of a sequence of binary values representing a video content, according to claim 1 .

7 . An arithmetic decoder for decoding a plurality of symbols having symbol values,

wherein the arithmetic decoder is configured to derive an interval size value for an arithmetic decoding of one or more symbol values to be decoded on the basis of one or more state variable values, which represent statistics of a plurality of previously decoded symbol values,

wherein the arithmetic decoder is configured to determine the interval size value using a base lookup table,

wherein the arithmetic decoder is configured to determine the interval size value such that a determined interval size value is identical to an element of the base lookup table or is a rounded version of an element of the base lookup table if a probability index, which is obtained on the basis of the one or more state variable values, is within a first range, and such that a determined interval size value is obtained using a scaling and rounding of an element of the base lookup table if the probability index is within a second range; and

wherein the arithmetic decoder is configured to perform the arithmetic decoding of one or more symbols using the interval size value.

8 . The arithmetic decoder according to claim 7 ,

wherein the arithmetic decoder is configured to determine the interval size value, such that the determined interval size value is a right-shifted version of an element of the base-lookup table if the probability index is within the second range.

9 . The arithmetic decoder according to claim 7 ,

wherein the probability index) determines whether an element of the lookup table is provided as the interval size value, or whether an element of the lookup table is scaled and rounded to obtain the interval size value.

10 . The arithmetic decoder according to claim 7 ,

wherein a division residual of a division between the probability index and a first size value and an interval size index determine which element of the base lookup table is used to obtain the interval size value.

11 . The arithmetic decoder according to claim 7 ,

wherein the arithmetic decoder is configured to obtain the interval size value R XPS according to

R

XPS

=

Scal

(

BaseTabLPS

[

i

%

µ

]

[

j

]

,

i

/

µ

)

wherein BaseTabLPS is a base lookup table of dimension μ×λ

wherein i is a table index associated with a probability information;

wherein j is a table index associated with an interval size information;

wherein % is a division residual operation;

wherein / is a division operation;

wherein Scal (x,y) is a scaling function.

12 . A video decoder,

wherein the video decoder is configured to decode a plurality of video frames,

wherein the video decoder comprises an arithmetic decoder for providing a decoded binary sequence on the basis of an encoded representation of the binary sequence, according to claim 7 .

13 . A method for encoding a plurality of symbols having symbol values,

wherein the method comprises deriving an interval size value for an arithmetic encoding of one or more symbol values to be encoded on the basis of one or more state variable values, which represent statistics of a plurality of previously encoded symbol values,

wherein the method comprises determining the interval size value using a base lookup table,

wherein the method comprises determining the interval size value such that a determined interval size value is identical to an element of the base lookup table or is a rounded version of an element of the base lookup table if a probability index, which is obtained on the basis of the one or more state variable values, is within a first range, and such that a determined interval size value is obtained using a scaling and rounding of an element of the base lookup table if the probability index is within a second range; and

wherein the method comprises performing the arithmetic encoding of one or more symbols using the interval size value.

14 . A method for decoding a plurality of symbols having symbol values,

wherein the method comprises deriving an interval size value for an arithmetic decoding of one or more symbol values to be decoded on the basis of one or more state variable values, which represent statistics of a plurality of previously decoded symbol values,

wherein the method comprises determining the interval size value using a base lookup table,

wherein the method comprises determining the interval size value such that a determined interval size value is identical to an element of the base lookup table or is a rounded version of an element of the base lookup table if a probability index, which is obtained on the basis of the one or more state variable values, is within a first range, and such that a determined interval size value is obtained using a scaling and rounding of an element of the base lookup table if the probability index is within a second range; and

wherein the method comprises performing the arithmetic decoding of one or more symbols using the interval size value.

15 . A non-transitory digital storage medium having a computer program stored thereon to perform the method for encoding a plurality of symbols having symbol values,

wherein the method comprises deriving an interval size value for an arithmetic encoding of one or more symbol values to be encoded on the basis of one or more state variable values, which represent statistics of a plurality of previously encoded symbol values,

wherein the method comprises determining the interval size value using a base lookup table,

wherein the method comprises determining the interval size value such that a determined interval size value is identical to an element of the base lookup table or is a rounded version of an element of the base lookup table if a probability index, which is obtained on the basis of the one or more state variable values, is within a first range, and such that a determined interval size value is obtained using a scaling and rounding of an element of the base lookup table if the probability index is within a second range; and

wherein the method comprises performing the arithmetic encoding of one or more symbols using the interval size value,

when said computer program is run by a computer.

16 . A non-transitory digital storage medium having a computer program stored thereon to perform the method for decoding a plurality of symbols having symbol values,

wherein the method comprises deriving an interval size value for an arithmetic decoding of one or more symbol values to be decoded on the basis of one or more state variable values, which represent statistics of a plurality of previously decoded symbol values,

wherein the method comprises determining the interval size value using a base lookup table,

wherein the method comprises determining the interval size value such that a determined interval size value is identical to an element of the base lookup table or is a rounded version of an element of the base lookup table if a probability index, which is obtained on the basis of the one or more state variable values, is within a first range, and such that a determined interval size value is obtained using a scaling and rounding of an element of the base lookup table if the probability index is within a second range; and

wherein the method comprises performing the arithmetic decoding of one or more symbols using the interval size value,

when said computer program is run by a computer.