# US 10,455,247 B2 · Method and apparatus for performing arithmetic coding on basis of concatenated ROM-RAM table

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

- Number: US 10,455,247 B2
- Document ID: US10455247B2
- Status: Granted
- Kind: B2
- Application number: 15/322,875
- Filed: 2015-06-29
- Published: 2017-05-18
- Granted: 2019-10-22
- Earliest claimed: 2014-06-29
- Assignees: LG Electronics Inc.
- Applicants: LG Electronics Inc.
- Inventors: Amir Said; Abo Talib Mahfoodh
- Web page: https://patentgrep.com/patent/US10455247B2

## CPC

- H04N 19/50: using predictive coding (H04N19/61 takes precedence)
- H03M 7/4012: {Binary arithmetic codes}
- H03M 7/42: using table look-up for the coding or decoding process, e.g. using read-only memory {(H03M7/4006 takes precedence)}
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- 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)

## Abstract

Disclosed herein is a method of performing an arithmetic decoding for data symbols, comprising: creating a decoding table index; obtaining an upper bound value and a lower bound value of a ratio between an interval length and a point within an interval assigned to a symbol from a ROM table; obtaining initial values for a bisection search from a RAM table based on the upper bound value and the lower bound value; and searching a value of sequence in the interval, wherein the interval is determined based on the initial values.

## Claims

### Claim 1

A method of performing an arithmetic decoding for a data symbol that is defined by a ratio (Dk/Lk) between an interval length and a point within an interval assigned to the data symbol, comprising:
creating, by a processor, a decoding table index by:
combining, by the processor, a most significant bit of the interval length and a most significant bit of the point within the interval assigned to the data symbol;
determining, by the processor, a position of a most significant 1 bit of the interval length;
extracting, by the processor, a most significant bit of the interval length after the most significant 1 bit by starting from the position plus 1 bit; and
extracting, by the processor, a most significant bit of an interval base by starting from the position;
obtaining, by the processor, an upper bound value (Emax) and a lower bound value (Emin) of the ratio (Dk/Lk) from a decoding table stored in a ROM;
obtaining, by the processor, initial values for a bisection search from a RAM table based on the upper bound value and the lower bound value; and
decoding, by the processor, the data symbol in the interval,
wherein the interval is determined based on the initial values.

### Claim 2 (depends on 1)

The method of claim 1, wherein the upper bound value is determined based on a ratio between a maximum of the point within the interval assigned to the data symbol and a minimum of the interval length.

### Claim 3 (depends on 1)

The method of claim 1, wherein the lower bound value is determined based on a ratio between a minimum of the point within the interval assigned to the data symbol and a maximum of the interval length.

### Claim 4 (depends on 1)

The method of claim 1, wherein the upper bound value and the lower bound value is determined based on a bit shift corresponding to multiplication approximation.

### Claim 5

An apparatus of performing an arithmetic decoding for a data symbol which is defined by a ratio (Dk/Lk) between an interval length and a point within an interval assigned to the data symbol, comprising:
a processor configured to:
create a decoding table index by combining a most significant bit of the interval length and a most significant bit of the point within the interval assigned to the data symbol;
determine a position of a most significant 1 bit of the interval length;
extract a most significant bit of the interval length after the most significant 1 bit by starting from the position plus 1 bit;
extract a most significant bit of an interval base by starting from the position;
obtain an upper bound value and a lower bound value of ratio (Dk/Lk) from a decoding table stored in ROM, and obtain initial values for a bisection search from a decoding table stored in a RAM based on the upper bound value and the lower bound value;
search a value of sequence in the interval; and
decode the data symbol corresponding to the value of sequence,
wherein the interval is determined based on the initial values.

### Claim 6 (depends on 5)

The apparatus of claim 5, wherein the upper bound value is determined based on a ratio between a maximum of the point within the interval assigned to the data symbol and a minimum of the interval length.

### Claim 7 (depends on 5)

The apparatus of claim 5, wherein the lower bound value is determined based on a ratio between a minimum of the point within the interval assigned to the data symbol and a maximum of the interval length.

### Claim 8 (depends on 5)

The apparatus of claim 5, wherein the upper bound value and the lower bound value is determined based on a bit shift corresponding to multiplication approximation.
