# US 7,609,904 B2 · Transform coding system and method

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

- Number: US 7,609,904 B2
- Document ID: US7609904B2
- Status: Granted
- Kind: B2
- Application number: 11/093,568
- Filed: 2005-03-30
- Published: 2006-07-13
- Granted: 2009-10-27
- Earliest claimed: 2005-01-12
- Assignees: NEC Laboratories America, Inc.
- Inventors: Matthew L. Miller
- Web page: https://patentgrep.com/patent/US7609904B2

## CPC

- G10L 19/02: using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L 19/0017: {Lossless audio signal coding; Perfect reconstruction of coded audio signal by transmission of coding error (G10L19/24 takes precedence)}
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

A transform coding system and method are disclosed which utilize a modified quantization technique which advantageously foregoes the need for inverse quantization at the decoder. New techniques for optimizing an entropy code for the modified quantizer and for constructing the entropy codes are also disclosed.

## Claims

### Claim 1

A method of encoding an input signal with an encoder, the encoder configured to perform method steps comprising:
receiving the input signal;
obtaining a plurality of coefficients that represent the input signal;
for each coefficient, determining a range of perceptual slack values;
selecting a sequence of quantized values for the coefficients, each quantized value selected to lie within the range of perceptual slack values for one of the plurality of coefficients, wherein the sequence of quantized values is selected from a plurality of sequences and the selected sequence minimizes a size of a coded output signal;
performing encoding on the selected sequence of quantized values, thereby obtaining the coded output signal; and
outputting the output signal,
wherein the quantized values are selected from a pre-defined dictionary of quantized values,
wherein the pre-defined dictionary of quantized values is in accordance with an entropy code and the encoding is performed by an entropy coder, and
wherein the entropy code has a probability distribution determined by
compiling a corpus of coefficient values along with corresponding ranges of perceptual slack values;
finding a quantized value to which a most number of coefficient values fall within the corresponding ranges of perceptual slack values, removing such coefficient values from the corpus, and setting a probability of the quantized value in the probability distribution to a frequency with which coefficient values can be quantized to the quantized value; and
iterating with remaining coefficient values in the corpus until the corpus is empty.

### Claim 2 (depends on 1)

The method of claim 1 wherein the range of perceptual slack values is determined so that the quantized values selected to lie within the range will produce perceptual distortion that is within a limit prescribed by a perceptual model.

### Claim 3 (depends on 1)

The method of claim 1 wherein the entropy code is a Huffman code.

### Claim 4 (depends on 1)

The method of claim 1 wherein the entropy code is a parameterized code.

### Claim 5 (depends on 1)

The method of claim 1 wherein the entropy code is a context-dependent code.

### Claim 6 (depends on 1)

The method of claim 1 wherein a previously-approximated value for each coefficient is subtracted from that coefficient's range of perceptual slack values before selection of the quantized values.

### Claim 7 (depends on 6)

The method of claim 6 wherein the previously-approximated value is obtained from a lower-quality encoding of the input signal.

### Claim 8 (depends on 6)

The method of claim 6 wherein the method is iterated to obtain progressively higher-quality encodings of the input signal.

### Claim 9 (depends on 1)

The method of claim 1 wherein the coefficients are transform coefficients obtained by performing a transformation on the input signal.

### Claim 10 (depends on 1)

The method of claim 1 wherein the coefficients are original samples of the input signal.

### Claim 11 (depends on 1)

The method of claim 1 wherein the input signal comprises image data.

### Claim 12 (depends on 1)

The method of claim 1 wherein the input signal comprises video data.

### Claim 13 (depends on 1)

The method of claim 1 wherein the input signal comprises audio data.

### Claim 14

An encoding system comprising:
a perceptual slack module which, for every coefficient of a plurality of coefficients obtained that represent an input signal, determines a range of perceptual slack values;
a code selector which selects a sequence of quantized values, each quantized value selected to lie within the range of perceptual slack values for one of the plurality of coefficients;
a pre-defined dictionary of quantized values that is in accordance with an entropy code, wherein the sequence of quantized values are selected from the pre-defined dictionary; and
an entropy encoder which encodes the selected sequence of quantized values into a coded output signal, wherein the sequence of quantized values is selected from a plurality of sequences and the selected sequence minimizes a size of the coded output signal;
wherein the entropy code has a probability distribution determined by
compiling a corpus of coefficient values along with corresponding ranges of perceptual slack values;
finding a quantized value to which a most number of coefficient values fall within the corresponding ranges of perceptual slack values, removing such coefficient values from the corpus, and setting a probability of the quantized value in the probability distribution to a frequency with which coefficient values can be quantized to the quantized value; and
iterating with remaining coefficient values in the corpus until the corpus is empty.

### Claim 15 (depends on 14)

The encoding system of claim 14 wherein the range of perceptual slack values is determined so that the quantized values selected to lie within the range will produce perceptual distortion that is within a limit prescribed by a perceptual model.

### Claim 16 (depends on 14)

The encoding system of claim 14 wherein the entropy code is a Huffman code.

### Claim 17 (depends on 14)

The encoding system of claim 14 wherein the entropy code is a parameterized code.

### Claim 18 (depends on 14)

The encoding system of claim 14 wherein the entropy code is a context-dependent code.

### Claim 19 (depends on 14)

The encoding system of claim 14 wherein a previously-approximated value for each coefficient is subtracted from that coefficient's range of perceptual slack values before selection of the quantized values.

### Claim 20 (depends on 19)

The encoding system of claim 19 wherein the previously-approximated value is obtained from a lower-quality encoding of the input signal.

### Claim 21 (depends on 19)

The encoding system of claim 19 wherein the encoding system iterates to obtain progressively higher-quality encodings of the input signal.

### Claim 22 (depends on 14)

The encoding system of claim 14 wherein the coefficients are transform coefficients obtained by performing a transformation on the input signal.

### Claim 23 (depends on 14)

The encoding system of claim 14 wherein the coefficients are original samples of the input signal.

### Claim 24 (depends on 14)

The encoding system of claim 14 wherein the input signal comprises image data.

### Claim 25 (depends on 14)

The encoding system of claim 14 wherein the input signal comprises video data.

### Claim 26 (depends on 14)

The encoding system of claim 14 wherein the input signal comprises audio data.
