Coded data generation or conversion – Digital code to digital code converters – Adaptive coding
Reissue Patent
2000-11-22
2004-09-21
Young, Brian (Department: 2819)
Coded data generation or conversion
Digital code to digital code converters
Adaptive coding
C341S200000
Reissue Patent
active
RE038593
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to an adaptive transform coding and/or decoding system. More specifically, the invention relates to a system for efficiently coding and decoding speech and audio signals with maintaining high quality.
2. Description of the Related Art
Conventionally, as an adaptive transform coding system and an adaptive transform decoding system for efficiently coding and decoding a speech signal and an audio signal with maintaining high quality, there are MPEG (Moving Pictures Expert Group)/Audio Layers 3 or so forth. The technology of MPEG/Audio Layer 3 has been discussed in 1993 ISO/IEC 11172-3, “Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to about 1.5 Mb/s” (hereinafter simply referred to as reference No.
1
).
FIG. 3
is a block diagram showing one example of the conventional adaptive transform coding system. The conventional adaptive transform coding system is constructed with an input terminal
1
, a transform means
2
, an analysis means
3
, a quantizing parameter determining means
4
, a quantizing means
5
, a coding means
7
, a parameter coding means
9
, an adder
22
, a multiplexer
23
and an output terminal
12
.
In the input terminal
1
, digitized audio signal samples are inputted. The input audio samples are outputted to the transform means
2
and an analysis means
3
.
In the transform means
2
, at every input of N time-domain audio samples, N frequency-domain-samples are generated from the input audio samples by a hybrid analysis filter bank. N frequency-domain-samples grouped in ascending order are referred to as “frame”. The derived frequency-domain-samples are outputted to the quantizing means
5
and the analysis means
3
. N is a positive integer, and in case of MPEG/Audio Layer 3, N is 576. The hybrid analysis filter bank has been discussed in detail in the foregoing reference
1
.
In the analysis means
3
, an allowable quantization error for each frequency-domain-sample in the frame is derived and outputted to the quantization parameter determining means
4
. In coding of the audio signal, a subjective quality is important. Therefore, allowable quantization error is determined so that the degradation of the frequency domain signals is not easily perceptible by human acoustic sense. The manner of determining the allowable quantization error has also been discussed in detail in the reference
1
. For example, there is a method to analyze a frequency spectrum obtained through Fourier transform of the input audio samples.
In the quantizing means
5
, the frequency domain signal X is quantized on the basis of a quantization step size QS derived from the quantization parameter determining means
4
, Then, the quantized value Y is derived from rounding the (¾)th power of quantized frequency domain signal. Namely, the quantized value Y is expressed by:
Y=nint(pow(X/S, ¾))
Wherein nint ( ) represents rounding process for rounding the fraction off after the decimal point, and pow (a, b) represents a to the (b)th power. The quantized values in each frame are grouped in ascending order in the frequency to be fed to the coding means
7
. On the order hand, the quantizing means
5
calculates a quantization error YZ to output to the quantization parameter determining means
4
. An inverse-quantized value YY of the quantized value Y is expressed by:
YY=pow(Y, {fraction (4/3)})
Therefore, the quantization error YZ is expressed as:
YZ=X−pow(Y, {fraction (4/3)})
In the coding means
7
, as set out in detail later, each quantized value in the frame is encoded. Then, a code C1 and a code amount L1 of the code C1 are derived. The code C1 is outputted to the multiplexer
23
, and the code amount L1 is outputted to the adder
22
.
In the parameter coding means
9
, the quantization step size QS inputted from the quantization parameter determining means
4
is encoded. Then, a code C2 and a code amount L2 of the code C2 are derived. The code C2 is inputted to the multiplexer
23
and the code amount L2 is inputted to the adder
22
.
In the adder
22
, the total code amount outputted from the coding means
7
and the parameter coding means
9
, namely the sum of L1 and L2, is derived, and outputted to the quantization parameter determining means
4
as a total code amount.
The total code amount outputted from the adder
22
is variable depending upon the size of the quantization step size QS. Generally, when the quantization step size QS becomes smaller, the total code amount becomes larger and when the quantization step size QS becomes larger, the total code amount becomes smaller. In the quantization parameter determining means
4
, the quantization step size Q is controlled so that the total code amount can be maintained to be less than or equal to the allowable code amount which is determined on the basis of the coding bit rate, and that the quantization error is proportional to the allowable quantization error. For an example of this control, at first, the quantization step size QS is set at sufficiently small value, and the coding means
7
and the parameter coding means
9
are operated to derive the total code amount. Then, the following two operations are repeated until the total code amount becomes equal or less than the allowable code amount. As the first operation, the quantization step size QS is set at a greater value in proportion to the allowable quantization error. Then, the coding means
7
and the parameter coding means
9
are operated to derive the total code amount.
In the multiplexer
23
, the codes C1 and C2 are multiplexed to generate a bit stream.
The bit stream is outputted from the output terminal
12
.
In the coding means
7
, the quantized values of the frame are divided into three regions on the frequency axis, i.e. a type
1
region, a type
2
region, and a type
3
region. Each quantized values in the type
1
region and the type
2
region are Huffman-encoded.
At first, a method for dividing the quantized values in the frame into three regions will be discussed. The N quantized-values are grouped in ascending order of the frequency and compose the vector X as follows:
Vector X=[x(1), x(2), . . . , x(N)]
Each element x(1), x(2), . . . , x(N) of the vector X represents respective quantized value. The type
1
region includes the quantized values of the low frequency signal, and includes x(1), x(2), . . . , X(2×bigvalues) of (2×bigvalues) elements. The type
2
region includes the quantized values whose absolute values are 0 or 1 and includes x(2×bigvalues+1), x(2×bigvalues+2), . . . , x(2×bitvalues+4×count 1) of (4×count1) elements. The type
3
region includes elements whose values are zero, and includes x(2×bigvalues+4×count1+1), x(2×bigvalues+4×count1+2), . . . , x(N) of (2×rzero) elements. Here,
2×big_values+4×count1×2×rzero=N.
The value rzero is calculated by
rzero=(N−t(t mod 2))/2
where t is the maximum value satisfying
x(t)≠0, (t=1, 2, . . . , N)
(x1 mod x2) represents the remainder in division of x1 by x2.
The value count1 is calculated by
count1=(N−rzero×2−t2−((N−rzero×2−t2) mod 4/4
where t2 is the maximum value satisfying |x(t2)|>1.
The value bigvalues is derived from
big_values=(N−rzero×2−count1×4)/2
Each element included in the type
1
and type
2
regions is Huffman-coded employing a table selected among prepared Huffman tables for respective regions. An appropriate Huffman table is selected so that the total amount of the Huffman code becomes minimum.
Huffman tables prepared for coding respective elements in the type
1
region are different in terms of the assumed appearance frequency of respective element-values and the region of the quantized values to be coded. The region of the quantized val
Iwadare Masahiro
Takamizawa Yuichiro
NEC Corporation
Young Brian
LandOfFree
Adaptive transform coding system, adaptive transform... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Adaptive transform coding system, adaptive transform..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Adaptive transform coding system, adaptive transform... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3200950