# US 2025/0385692 A1 · Apparatuses for encoding and decoding a sequence of integer values, methods for encoding and decoding a sequence of integer values and computer program for implementing these methods

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2025/0385692 A1
- Document ID: US20250385692A1
- Status: Published application
- Kind: A1
- Application number: 19/323,934
- Filed: 2025-09-09
- Published: 2025-12-18
- Earliest claimed: 2020-06-23
- Assignees: Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
- Applicants: Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V.
- Inventors: Paul HAASE; Karsten MÜLLER; Heiner KIRCHHOFFER; Detlev MARPE; Heiko SCHWARZ; Thomas WIEGAND
- Web page: https://patentgrep.com/patent/US20250385692A1

## CPC

- H03M 7/4075: {Golomb codes}
- G06N 3/04: Architecture, e.g. interconnection topology
- G06N 3/0495: Quantised networks; Sparse networks; Compressed networks
- G06N 3/063: using electronic means
- G06N 3/08: Learning methods
- H03M 7/30: Compression (speech analysis-synthesis for redundancy reduction G10L19/00; for image communication H04N); Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H03M 7/24: Conversion to or from floating-point codes
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

The invention describes an encoding scheme for encoding a sequence of integer values, particularly by first using encoding a value at a predetermined position and then consecutively calculating and encoding differences between neighboring values. A respective decoding scheme is also provided. These encoding and decoding schemes provide a more efficient encoding concept.

## Claims

### Claim 1

An apparatus for decoding, from a data stream, a sequence of integer values which are ordered in a strict monotonous manner, the apparatus configured for
decoding from the data stream a predetermined integer value located at a predetermined position of the sequence of integer values; and
for each position of the sequence of integer values which precedes the predetermined position,
decoding, from the data stream, a first difference between an integer value residing immediately following the respective position and the integer value at the respective position, reduced by 1; and
for each position of the sequence of integer values which is located following the predetermined position,
decoding, from the data stream, a second difference between the integer value at the respective position and an integer value residing immediately preceding the respective position, reduced by 1,
wherein the apparatus is configured for
decoding from the data stream the predetermined integer value by
decoding an unsigned integer via a variable length code; and
retrieving the predetermined integer value by inverse mapping from the unsigned integer according to a predefined inverse mapping rule.
wherein the apparatus is configured for decoding from the data stream the unsigned integer by use of an exponential Golomb code.

### Claim 2 (depends on 1)

The apparatus according to claim 1, configured for decoding from the data stream the number of integer values of the sequence of integer values.

### Claim 3 (depends on 2)

The apparatus according to claim 2, configured for decoding from the data stream the number of integer values of the sequence of integer values by use of a further variable length code.

### Claim 4 (depends on 1)

The apparatus according to claim 1, configured for decoding from the data stream an information revealing the predetermined position.

### Claim 5 (depends on 1)

The apparatus according to claim 1, configured for,
for each position of the sequence of positions which precedes the predetermined position,
computing the integer value at the respective position by linearly combining the first difference, the integer value residing immediately following the respective position and one; and
for each position of the sequence of positions which is located following the predetermined position,
computing the integer value at the respective position by linearly combining the second difference, the integer value residing immediately preceding the respective position and one.

### Claim 6 (depends on 1)

The apparatus according to claim 1, wherein the apparatus is configured for
decoding (202), from the data stream, a third difference between a rank of the predetermined position and an integer-rounded half of the number of integer values; and
calculating (203) the predetermined position based on the third difference and the number of integer values.

### Claim 7 (depends on 6)

The apparatus according to claim 6, configured for decoding from the data stream the third difference via a further variable length code.

### Claim 8 (depends on 1)

The apparatus according to claim 1, configured for decoding from the data stream the predetermined integer value via a fourth variable length code.

### Claim 9 (depends on 1)

The apparatus according to claim 1, wherein the inverse mapping rule maps unsigned integers to signed integers in a manner so that even unsigned integers and odd un signed integers are mapped onto separate ones of signed integers lower than 0 and signed integers greater than 0, respectively, with mapping zero onto zero and so that, for each signed integer, a first signed integer mapped onto the respective unsigned integer is, in magnitude, larger than or equal to, a second signed integer mapped onto an unsigned integer following the respective unsigned integer.

### Claim 10 (depends on 1)

The apparatus according to claim 1, configured for decoding from the data stream the first difference via an exponential Golomb code.

### Claim 11 (depends on 1)

The apparatus according to claim 1, configured for decoding from the data stream the second difference via a further variable length code.

### Claim 12 (depends on 1)

The apparatus according to claim 1, configured for decoding from the data stream the second difference via an exponential Golomb code.

### Claim 13 (depends on 1)

The apparatus according to claim 1, wherein the sequence of integer values is a codebook that is associated with parameters of a neural network.

### Claim 14 (depends on 1)

The apparatus according to claim 1, configured for reconstructing the decoded sequence of integer values to a plurality of floating point values from a set of quantization levels which are defined by the sequence of integer values and a floating point quantization parameter.

### Claim 15 (depends on 14)

The apparatus according to claim 14, configured for decoding from the data stream, for each of the plurality of floating point values,
a quantization index pointing to the associated integer value within the sequence of integer values which, according to the floating point quantization parameter, is associated with a quantization level onto which the respective floating point value was quantized.

### Claim 16 (depends on 15)

The apparatus according to claim 15, configured for decoding the quantization index from the data stream based on a rank difference of a first rank of the position of the associated integer value within the sequence of integer values and the rank of the predetermined position.

### Claim 17 (depends on 15)

The apparatus according to claim 15, configured for decoding from the data stream the rank difference by debinarizing the number using a binarization code from a binary string of one or more bins and context-adaptive binary arithmetic decoding the one or more bins.

### Claim 18

An apparatus for encoding, into a data stream, a sequence of integer values which are ordered in a strict monotonous manner, the apparatus configured for
encoding into the data stream a predetermined integer value located at a predetermined position of the sequence of integer values; and
for each position of the sequence of integer values which precedes the predetermined position,
calculating a first difference between an integer value residing immediately following the respective position and the integer value at the respective position, reduced by 1; and
encoding the first difference into the data stream; and
for each position of the sequence of integer values which is located following the predetermined position,
calculating a second difference between the integer value at the respective position and an integer value residing immediately preceding the respective position, reduced by 1; and
encoding the second difference into the data stream,
wherein the apparatus is configured for
encoding into the data stream the predetermined integer value by
mapping the predetermined integer value onto an unsigned integer according to a predefined mapping rule; and
encoding the unsigned integer using a variable length code, and
wherein the apparatus is configured for encoding into the data stream the unsigned integers by use of an exponential Golomb code.

### Claim 19

A method for decoding, from a data stream, a sequence of integer values which are ordered in a strict monotonous manner, comprising
decoding from the data stream a predetermined integer value located at a predetermined position of the sequence of integer values; and
for each position of the sequence of integer values which precedes the predetermined position,
decoding, from the data stream, a first difference between an integer value residing immediately following the respective position and the integer value at the respective position, reduced by 1; and
for each position of the sequence of integer values which is located following the predetermined position,
decoding, from the data stream, a second difference between the integer value at the respective position and an integer value residing immediately preceding the respective position, reduced by 1,
the method further comprising:
decoding from the data stream the predetermined integer value by
decoding an unsigned integer via a variable length code; and
retrieving the predetermined integer value by inverse mapping from the unsigned integer according to a predefined inverse mapping rule.
wherein the method comprises decoding from the data stream the unsigned integer by use of an exponential Golomb code.
