# US 9,521,415 B2 · Variable length coding method and variable length decoding method

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

- Number: US 9,521,415 B2
- Document ID: US9521415B2
- Status: Granted
- Kind: B2
- Application number: 14/879,582
- Filed: 2015-10-09
- Published: 2016-02-04
- Granted: 2016-12-13
- Earliest claimed: 2002-04-26
- Assignees: Godo Kaisha IP Bridge 1
- Applicants: Godo Kaisha IP Bridge 1
- Inventors: Satoshi Kondo; Shinya Kadono; Makoto Hagai; Kiyofumi Abe
- Web page: https://patentgrep.com/patent/US9521415B2

## CPC

- H04N 19/129: Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
- H03M 7/40: Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M 7/4006: {Conversion to or from arithmetic code}
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/136: Incoming video signal characteristics or properties
- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/182: the unit being a pixel
- H04N 19/196: being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters (processing of motion vectors H04N19/513)
- H04N 19/60: using transform coding
- H04N 19/61: in combination with predictive coding
- 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

A variable length coding method is comprised of: a coefficient value scanning step in which an RL sequence generation unit, a reordering unit, and a binarization unit scan coefficient values within a block in a predetermined scanning order starting at a higher-frequency component toward a lower-frequency component; and an arithmetic coding step in which an arithmetic coding unit and a table storage unit perform arithmetic coding on the absolute values of the coefficient values according to the scanning order used in the coefficient value scanning step, by switching between probability tables for use, wherein, in the arithmetic coding step, a probability table to be used is switched to another probability table in one direction, when the arithmetic-coded absolute values of the coefficient values include an absolute value exceeding a predetermined threshold value.

## Claims

### Claim 1

A decoding method for arithmetic decoding, on a block basis, on coefficients of a two-dimensional array of frequency components, the coefficients being generated by frequency transformation performed on picture data of a block which has a 4×4 size of pixels, the decoding method comprising:
a decoding step of, for each of non-zero coefficients of a block, (i) performing a decoding process on a sign code of the non-zero coefficient, (ii) performing first arithmetic decoding on a first bit of binary data corresponding to an absolute value of the non-zero coefficient, and (iii) performing second arithmetic decoding on a bit other than the first bit of the binary data corresponding to the absolute value of the non-zero coefficient; and
a combining step of, for each of the non-zero coefficients of the block, (i) combining the first bit of the binary data and the bit other than the first bit of the binary data into the absolute value of the non-zero coefficient and (ii) combining the absolute value of the non-zero coefficient and the sign code of the non-zero coefficient into a value of the non-zero coefficient; and
a coefficient arranging step of arranging, on a block basis, the values of the non-zero coefficients into the two-dimensional array of frequency components,
wherein the first arithmetic decoding on the first bit of the binary data is performed on a block basis according to a predetermined scanning order starting at a high frequency component toward a low frequency component by switching a plurality of first probability tables,
wherein the second arithmetic decoding on a bit other than the first bit of the binary data is performed on a block basis according to the predetermined scanning order starting at a high frequency component toward a low frequency component by switching a plurality of second probability tables,
wherein the switching of the plurality of first probability tables includes switching a first probability table to a new first probability table based on a result of a comparison between an absolute value of a target non-zero coefficient to be decoded and a predetermined threshold value,
wherein the switching of the plurality of second probability tables includes switching a second probability table to a new second probability table based on a result of a comparison between an absolute value of a target non-zero coefficient to be decoded and the predetermined threshold value,
wherein, in the switching of the first probability table, the switching between the plurality of first probability tables is performed in one direction such that the first probability table, which has been used before the new first probability table, is not used after switching to the new first probability table, and
wherein, in the switching of the second probability table, the switching between the plurality of second probability tables is performed in one direction such that the second probability table, which has been used before the new second probability table, is not used after switching to the new second probability table.

### Claim 2 (depends on 1)

The decoding method according to claim 1,
wherein, in the switching of the first probability table, the switching to the new first probability table is performed after the number of decoded non-zero coefficients having an absolute value exceeding 1 becomes a non-zero value, and the switching between the plurality of first probability tables is not performed after the switching to the new first probability table.

### Claim 3

A decoding apparatus which performs arithmetic decoding, on a block basis, on coefficients of a two-dimensional array of frequency components, the coefficients being generated by frequency transformation performed on picture data of a block which has a 4×4 size of pixels, the decoding apparatus comprising:
a decoding unit operable to, for each of non-zero coefficients of a block, (i) perform a decoding process on a sign code of the non-zero coefficient, (ii) perform first arithmetic decoding on a first bit of binary data corresponding to an absolute value of the non-zero coefficient, and (iii) perform second arithmetic decoding on a bit other than the first bit of the binary data corresponding to the absolute value of the non-zero coefficient; and
a combining unit operable to, for each of the non-zero coefficients of the block, (i) combine the first bit of the binary data and the bit other than the first bit of the binary data into the absolute value of the non-zero coefficient and (ii) combine the absolute value of the non-zero coefficient and the sign code of the non-zero coefficient into a value of the non-zero coefficient; and
a coefficient arranging unit operable to arrange, on a block basis, the values of the non-zero coefficients into the two-dimensional array of frequency components,
wherein the first arithmetic decoding on the first bit of the binary data is performed on a block basis according to a predetermined scanning order starting at a high frequency component toward a low frequency component by switching a plurality of first probability tables,
wherein the second arithmetic coding on a bit other than the first bit of the binary data is performed on a block basis according to the predetermined scanning order starting at a high frequency component toward a low frequency component by switching a plurality of second probability tables,
wherein the switching of the plurality of first probability tables includes switching a first probability table to a new first probability table based on a result of a comparison between an absolute value of a target non-zero coefficient to be decoded and a predetermined threshold value,
wherein the switching of the plurality of second probability tables includes switching a second probability table to a new second probability table based on a result of a comparison between an absolute value of a target non-zero coefficient to be decoded and the predetermined threshold value,
wherein the switching of the plurality of first probability tables includes switching between the plurality of first probability tables in one direction such that the first probability table, which has been used before the new first probability table, is not used after switching to the new first probability table, and
wherein the switching of the plurality of second probability tables includes switching between the plurality of second probability tables in one direction such that the second probability table, which has been used before the new second probability table, is not used after switching to the new second probability table.
