Multidimensional Optimization of MPEG-4 AAC Encoding
Claus Bauer, Matt Fellers, Grant Davidson
Dolby Laboratories, San Francisco, CA, USA, {cb,mcf,gad}@dolby.com
Abstract— The subjective quality achieved by most audio
codecs, including MPEG-4 AAC, depends strongly on the algorithms used for encoder parameter selection. As a practicalmeasure in conventional encoders, the overall encoding procedure is usually divided into a sequence of smaller problems thatare solved heuristically. In this paper, we formulate the MPEG4 AAC encoding problem as a multidimensional optimization
procedure and present simulation results indicating performancegains relative to conventional approaches.

I. Introduction
The MPEG-4 AAC audio codec exploits perceptual redundancies to achieve transparent perceptual qualities at low bit
rates. The AAC encoder produces audio frames containing either a single long block containing 1024 transform coeﬃcientsor a sequence of eight short blocks, each containing 128 transform coeﬃcients. In general, long blocks provide higher frequency domain resolution of the signal to be coded, whereas
short block sequences provide higher time domain resolution. If
a short block sequence is selected for a particular audio frame,
adjacent blocks can be grouped into regions of length one toeight. Within each long block, and within each short block region, the transform coeﬃcients are combined into scale factor
bands (SF Bs). For each SF B, the AAC encoder allocates bits
to encode the transform coeﬃcients. The transform coeﬃcientsare quantized using a dynamically chosen scale factor (SF ) todetermine the quantization step size, and the quantized coeﬃcients are entropy encoded using Huﬀman codebooks (HCBs).
In summary, we see that the encoder must select the following
sets of encoding parameters: transform block length, group conﬁguration (for short blocks only), quantization step size, andHuﬀman codebooks.
These parameters are transmitted to the decoder as side information. The total transmission bit rate is a function of thenumber of bits needed to encode the transform coeﬃcients andthe encoding parameters. The AAC encoder selects the encoding parameters such that the total transmission rate is ator below a given threshold, while ensuring that a predeﬁned
measure of decoded signal distortion is minimized. A common
perceptual quality measure is the average noise to mask ratio(AN M R) [1].
In a conventional AAC implementation, the encoder ﬁrst decides if a long or a short transform block length is chosen. In [2],Johnston proposes a technology based on the concept of Perceptual Entropy [3] to decide if a speciﬁc audio frame is encodedusing a long or a short transform block length. For a long block
conﬁguration, the codec must decide the quantization step sizes
and the Huﬀman codebooks for each SF B. The optimal choiceof these two parameter sets requires the solution of a complex
optimization problem caused by the fact that the information
for the quantization step sizes and the Huﬀman codebooks is
encoded diﬀerentially between adjacent bands. The commonlyused Two Loop Search [4] uses a heuristic approach that neglects
the inter-band dependencies and thus simpliﬁes the problem signiﬁcantly by optimizing the SF s and HCBs independently foreach band. A near-optimal joint optimization of the SF s and
HCBs for all SF s was ﬁrst proposed in [5]. Finally, a joint
optimization algorithm that always ﬁnds the theoretically bestsolution was presented in [6].

1­4244­0469­X/06/$20.00 ©2006 IEEE

For a short block frame, the optimization problem is evenmore complex because of the interdependencies of three sets ofparameters: group conﬁguration, quantization step size, andHuﬀman codebooks. For a given group conﬁguration, the encoder calculates multiple masking curves, which in turn inﬂuence the selection of quantization step sizes [4]. Step size decisions then aﬀect the Huﬀman codebook used for entropy coding
the quantized transform coeﬃcients. Consequently, the groupconﬁguration inﬂuences both the choice of the quantization step
size and the Huﬀman codebook. As with long blocks, the valuesof the quantization step sizes and the Huﬀman codebooks are
encoded diﬀerentially in each region.
In previous approaches, the three sets of encoding parameters
are chosen sequentially. This simpliﬁes the problem as interdependencies between the parameter sets are neglected. Moreover,in each sequential step, sub-optimal heuristics - with regard
to a given metric - are typically used to decide the respective
parameter setting. Conventional encoder implementations ﬁrst
choose the group conﬁguration and then determine the SF s andthe HCBs. Because the encoder does not know the actual SF
and HCB values when choosing a conﬁguration g, at best it can
only estimate both the distortion and side information cost expected to be induced by the SF s and HCBs to be chosen for a
speciﬁc grouping conﬁguration. In [7], algorithms to determine
the grouping conﬁguration of the short blocks into regions aredescribed. The idea of these algorithms is to combine adjacent
short blocks into regions with similar spectral envelopes. The
SF and HCB are then chosen by the same methods mentioned
above for the long block conﬁguration.
In this paper, we develop a novel mathematical model of thecomplete AAC encoding problem for short blocks and present theﬁrst optimal solution algorithm to this problem. In contrast to
previous approaches, we do not solve the AAC encoding problem for short blocks by sequentially choosing the three encoding
parameter sets, but we solve the encoding problem as a threedimensional optimization problem over all possible choices ofgroup conﬁgurations, SF s, and HCBs. We describe our algorithm in Section III and show its performance improvements
compared to previous methods in Section IV. We conclude in
Section V. Throughout this paper, we refer to the AAC encoding problem for short blocks as the AAC encoding problem.
II. Problem definition
For each audio frame, the spectral MDCT coeﬃcients are divided into blocks, regions, and scale factor bands (SF Bs). Fora short transform block length, the coeﬃcients are initially divided into 8 blocks which have the approximate same numberof coeﬃcients. Adjacent blocks are then grouped into regions
where a region consists of between 1 and 8 adjacent blocks.
Thus, there are 27 = 128 possible choices of regions. Each regions contains R = 15 SF Bs. We deﬁne the variable N as thenumber of SF Bs, i.e, N = Rq, 1 ≤ q ≤ 8, where q is the number of regions.
In this document, we call a speciﬁc blocking and region structure chosen by the encoder a conﬁguration. We number the
conﬁgurations g from g = 0 to g = G = 127.
Within the i-th band SF Bi , all coeﬃcients are quantized using the same scalar quantization step size, which is controlledV ­ 69ICASSP 2006

2by the i-th scale factor si selected from a range of M1 possible
values, i.e., 1 ≤ si ≤ M1 . Also within SF Bi , the quantizedcoeﬃcients are entropy encoded using a Huﬀman codebook hi
selected from a set of M2 possible values, i.e., 1 ≤ hi ≤ M2 ,.
We set S = {s1 , .., sN } and H = {h1 , .., hN }. Both the si and hi
are indexes into ﬁxed sets of Scale Factors and Huﬀman codebooks, respectively. We deﬁne by d(si ) the quantization errorof the i-th scale factor band if the i-th scale factor is chosenequal to si . wg,i denotes the weight of the i-th scale factor bandin the g-th conﬁguration which is deﬁned from psychoacoustic
properties of the signal. The AN M R is expressed as
1 
wg,i d(si ).
NN

AN M R(S, g) :

=

(1)

i=1

The transmission rate consists of four parts:
The number of bits B required to inform the decoder about
the chosen regions is B = c(q − 1), where q is the number ofchosen regions and c is a constant.
• For a given signal, Qi (si , hi , g) denotes the bits required forthe g-th conﬁguration to encode the coeﬃcients of SF Bi with
the SF value chosen as si and the HCB value chosen as hi .
• F (si−1 , si ) expresses the number of bits required to specify
the SF for SF Bi . As for i ≡ (1 mod R), the SF are encoded differentially, we set F (si−1 , si ) := F (si − si−1 ). For i ≡ 1(mod R),
we denote the number of required bits as F̃ (si ).
• Gi (H, g) represents the number of bits needed to encode theHCB value of SF Bi in the g-th conﬁguration. In order tospecify Gi (H, g) further, we introduce the notion of a HCB
section. A HCB section is deﬁned as a sequence of SF Bi , a ≤i ≤ b, such that ha−1 = ha , ha = ha+1 = .. = hb , and hb = hb+1
where possibly a = b. The notion of a HCB section is only
deﬁned per region, i.e., HCB sections cannot overlap regions.
If the last SF B of a given section and the ﬁrst SF B of the next
section have the same HCB value, then this is not considered
as a part of one HCB section, but one says that an HCB of
the current section terminates at the last SF B of this section
and that a new HCB section starts at the ﬁrst SF B of the next
region. The conditions ha−1 = ha or hb = hb+1 do not apply
if a is the ﬁrst SF B of a region or b + 1 is the last SF B of aregion respectively. We say that the HCB section deﬁned inthis way starts at SF Ba , terminates at SF Bb , and has lengthl(a) = b − a + 1. Based on the MPEG speciﬁcation [9], there is:•

Gi (H, g) =0,
4 + 3k,if i ≡ 1(mod R), hi = hi+1 ,if i ≡ 1(mod R), l(hi ) ∈ Ik ori ≡ 1(mod R), hi = hi−1 , l(hi ) ∈ Ik ,where k ∈ {1, 2, 3}, I1 = [1, 6], I2 = [7, 13], I3 = [14, 15].
The deﬁnitions of the functions F (·), F̃ (·), and G(·) showthat for i ≡ 1(mod R) the contribution of SF Bi to the rateis calculated diﬀerently from the contributions of the SF Bi
with i ≡ 1(mod R). For i ≡ 1(mod R), we set Qi (si , hi , g) →Qi (si , hi , g) + F̃ (si ) + Gi (H, g).
We now deﬁne the transmission rate R(S, H, g, B) :•R(S, H, g, B) =

N


N


A. Preliminary concepts and variables
We recall that the maximum number of bands for any conﬁguration g is 8R. In the following, we assume the existenceof 8R SF Bs for any conﬁguration g, but we divide the 8R
SF Bs in valid SF Bs which are part of the conﬁguration gand invalid SF Bs, which are not a part of the conﬁgurationg, and which we only introduce for modeling purposes. For
our model, the invalid SF Bs will make a zero contribution to
AN M R(S, g) and R(S, H, g, B) in (3) and (4). We denote by
SBj , 1 ≤ j ≤ 8, the 8 short blocks and assign R SF Bs toeach SBj . We introduce the binary variables uj , 0 ≤ j ≤ 7,
where always u0 = 1, and say that the short blocks SBj andSBj+1 belong to the same region if uj = 0, 1 ≤ j ≤ 7. Thus,
there is a one-to-one relation between all short block conﬁgurations g and all possible choices of the set uj , 1 ≤ j ≤ 7. We
call the band SBj valid if uj = 1. Thus, for a short block conﬁguration with s, 1 ≤ s ≤ 8 regions, we have s short blocks
SBaj , 1 ≤ j ≤ s, 1 ≤ a1 < .. < aj < .. < as ≤ 8 with valid
bands and the SF Bs of SBaj correspond to the SF B of thej-th of the s regions. The other 8 − s SBs are not valid. For
any conﬁguration g, we denote the set of valid bands as Ng .
We consider the diﬀerence a of the HCB values of two adjacent SF Bs, i.e., a = si − si−1 . We deﬁne the following function:


G(a)



=

xm,j

=

⎪
⎩

a = 0,a = 0.

0,

if uj = 1, and vm HCB sections⎪⎬of length ∈ Jm exists
between SF BRj+1 and SF BR(j+1) , ⎪
⎭
else.

,

⎫

for m ∈ {2, 3, 4}, v2 = v4 = 1, v3 = 2, J2 = J3 = [7, 13], J4 =[14, 15]. We note that in the deﬁnition of xm,j , our usage of theterm between includes the bands SF BRj+1 and SF BR(j+1) . We
see that if uj = 0, then the variables xm,j , 2 ≤ m ≤ 4, 0 ≤ j ≤ 7
are equal to zero which reﬂects the fact the short block SBj
only contains invalid SF Bi . For uj = 1, if no HCB section oflength ≥ 7 exists, then Gi (H, g) = G(hi − hi−1 ) for all Rj +2 ≤ i ≤ R(j + 1). In the other case, we note that there exist
either one or two HCB sections of length between 7 and 13
or there is a section of length ≥ 14. A case by case analysis
shows that for the SF Bi where this(these) section(s) start(s),there is Gi (H, g) = G(hi − hi−1 ) + r, where r = 3 = 3x2,j if a(ﬁrst) HCB section of length between 7 and 13 starts at SF Bi ,r = 3 = 3x3,j if a second HCB section of length between 7 and
13 starts at SF Bi , or r = 6 = 3(x2,j + x4,j ) if a HCB sectionof length ≥ 14 starts at SF Bi . Combining these deﬁnitions andcomparing them with (2) we seeN

Gi (H, g)(5)i=1, i≡1(mod R)F (si − si−1 ) + Gi (H, g)



0,
7,

⎧
⎪
⎨ 3,

Qi (si , hi , g)i=1+III. An optimal solution based on mixed integer
linear programming+ B. (2)=i=1, i≡1(mod R)

For a given rate threshold Rt , the AAC encoding problem isthen deﬁned as follows:
M inimize

AN M R(S, g)(3)such that

R(S, H, g, B) ≤ Rt .

(4)

8R

i=1
i∈Ng , i≡1(mod R)

G(hi − hi−1 ) +7


3(x2,j + x3,j + x4,j ).

j=0

We introduce the variable Aı,a that is set equal to 1 if SF Bi
is a valid band and si−1 = a − M1 , and is set equal to zerootherwise. Similarly, the variables Bi,b describe the diﬀerenceV ­ 7031,

if SF Bi is valid,and si − si−1 = a − M1 ,
else,

=

Ai,a


Bi,b

0,
1,




1,
0,

Zg,i,a,b =i=Rj+2a=1

i=Rj+2b=1

Ai,a = (R − 1)uj , 0 ≤ j ≤ 7(14)Bi,b = (R − 1)uj , 0 ≤ j ≤ 7(15)

Ai,a + 2 − uj ≥
M2
G 


if si = a, hi = b, conﬁg. g is chosen,
else.

Zg,i−1,c,d3 +g=1 d3 =1

For the same range of parameters, we deﬁne the variables Zg,i,a,bthat describe which values are taken by the variables si and hi
at the i-th stage of the g-th conﬁguration:R(j+1) 2M2 −1

if SF Bi is valid,and hi − hi−1 = b − M2 ,0, else,2 ≤ i ≤ 8R, ∀a, 1 ≤ a ≤ M1 1 ≤ b ≤ 2M2 − 1,=R(j+1) 2M1 −1of the values hi and hi−1 . Thus, we set

Zg,i−1,d5 ,d +g=1 d5 =1≥≥

eg,i,a Zg,i,a,b ,R(Z, A, B, g, U, X) ≤ Rt ,(6)

G+1 8R M1 M2

Zg,i,a,b Qg,i (a, b)

g=0 i=1 a=1 b=1
8R


8R


2M2

i=1
a=0
i≡1(mod R)

i=1i≡1(mod R)

b=0

7


7


+3



2M1

Ai,a F ∗ (a) +(x2,j + x3,j + x4,j ) + c

j=0
G




gk ,

(19)

≥

R(j+1)
1 
Bi,M2 − 1,
11

(20)

Rj+2

such that (6) - (30) are satisﬁed, where

+

(18)

k=Rj+2g=0 i=1 a=1 b=1



1
Bi,M2 − 1,
5
R(j+1)−5

Rx2,jG+1 8R M1 M2

R(Z, A, B, g, U, X) =

(17)

i=k

d1,j
N

Zg,i,d6 ,d+b−M2 ,

k+5

gk

M inimize
=

M1
G 

g=1 d6 =1

We formulate the MPEG4-AAC encoding problem as follows:

AN M R(Z) :(16)

for 0 ≤ j ≤ 7, Rj + 2 ≤ i ≤ R(j + 1), 1 ≤ a ≤ 2M1 − 1, 1 ≤ b ≤2M2 −1, max(1, 1+M1 −a) ≤ c ≤ min(M1 , 2M1 −a), max(1, 1+
M2 − b) ≤ d ≤ min(M2 , 2M2 − b),

B. MILP formulation for the AN M R problem

1 

Zg,i,c+a−M1 ,d4 ,g=1 d4 =1

Bi,b + 2 − uj ≥
M1
G 




Next, we deﬁne the variable ei,m as the weighted distortion that
occurs at the i-th band when the g − th conﬁguration is chosen
and if si = m, i.e., eg,i,m = wg,i d(si = m), ∀1 ≤ i ≤ 8R, 1 ≤m ≤ M1 . Further, in order to avoid negative function arguments
we set F ∗ (a2 − a1 ) = F (M1 + a2 − a1 ) and G∗ (b2 − b1 ) =G(M2 + b2 − b1 ).

G M2





uj ,

e1,j

≥

1 − BRj+8,M2 − BRj+9,M2 ,

e2,j

≥

1 − BRj+8,M2 − BRj+15,M2 ,

(22)

e3,j

≥

1 − BRj+2,M2 − BRj+9,M2 ,

(23)

fj

≥

e1,j + e2,j + e3,j ,

(24)

x3,j

≥

d1,j + fj − 1,

(25)

d2,j

≥

R(j+1)
1 
Bi,M2 − 1,
12

(26)

i=Rj+2

Bi,b G∗ (b)

e4,j

≥

2 − BRj+8,M2 − BRj+9,M2 ,

(27)

x3,j

≥

d2,j + e4,j − 1,

(28)

wk

≥

1 
Bi,M1 − 1,
12

(29)

i+12

(7)

i=k

j=1

vg = 1,(21)R(j+1)−12

Rx4,j

(8)

≥

wk ,

(30)

k=Rj+2g=0
7
uj 2j−1 =

j=1

G


gvg ,

(9)

g=0

M1 M2



Zg,i,a,b = vg ,0 ≤ g ≤ G, i ∈ Ng ,(10)

Zg,i,a,b = 0,

0 ≤ g ≤ G, i ∈ Ng ,(11)

a=1 b=1M1 M2
a=1 b=1

2M1 −1

Ai,a ≤ 1, 1 ≤ i ≤ 8R, i ≡ 1(mod R),(12)

Bi,b ≤ 1, 1 ≤ i ≤ 8R, i ≡ 1(mod R),

(13)

a=1



2M2 −1b=1

for 0 ≤ j ≤ 7. The variables Zg,i,a,b , xm,j , vg , uj , ei,j , fj , di,j ,
gk , wk are required to be integers ∈ {0, 1}. The variables Ai,aand Bi,b are required to be non-negative real numbers which
however will always be chosen ∈ {0, 1} by the MILP as we will
explain in the following.
We know explain how the MILP formulation correctly models
the AN M R encoding problem as deﬁned in (3) and (4). The
equation (8) shows that exactly one conﬁguration g is chosen
by the encoder. The equation (9) establishes the one-to-one
relation between g and a possible choice of the uj discussed
in Section III-A. The equation (10) ensures that for a chosen
conﬁguration g and each valid band SF Bi exactly one variable
Zg,i,a,b is equal to 1, whereas all the other variables are equal tozero, i.e., exactly one SF and one HCB are chosen per band.
For an invalid band SF Bi , all Zg,i,a,b = 0 by equation (11). For
ﬁxed values of the variables Zg,i,a,b , the equations (12), (14), andV ­ 71

4(16) ensure that for any uj = 1, and Rj + 2 ≤ i ≤ R(j + 1), if
there is si −si−1 = a−M1 , then Ai,a = 1 and all other Ai,a = 0.
The equations (13), (15), and (17) imply the same relations forthe variables Bi,b . For all invalid bands, the variables Ai,a , andBi,b are equal to zero.
Finally, we analyze the equations (18) - (30). The equations(18) and (19) force the variables x2,j to be equal to 1 if at least
one HCB section of length ≥ 7 exists between the SF BRj+1
and SF BR(j+1) . If such an HCB section does not exist, then by(18) and (19) x2,j can take any value ∈ {0, 1} which contradicts
the deﬁnition of x2,j = 0 in Section III-A. By its deﬁnition in
Section III-A, the variable x2,j does not represent any choice ofthe encoding variables itself, but merely expresses the impact ofspeciﬁc choices of the encoding variables on the rate. If x2,j ischosen equal to 1, then x2,j makes a higher contribution to therate R(Z, A, B, X, g, U ) than deﬁned in Section III-A and thus
eventually reduce the solution space of the variables Zg,i,a,b ,Ai,a , and Bi,b . If such a reduction would indeed take place forx2,j = 1, the linear program will always set x2,j = 0 to avoid
the reduction. Thus, we see that with regard to x2,j , the MILP
formulation allows to ﬁnd the optimal solution of the MPEG4 AAC encoding problem under the exact constraints formulated
in Section III-A. For the discussion of the variables xm,j , 3 ≤m ≤ 4, the same arguments apply. Thus, we will only show that
if their deﬁnition in Section III-A requires them to be equal to 1,
then the MILP will force them also to be equal to one, whereas
in the case that their deﬁnition in Section III-A requires them tobe equal to 0, the MILP allows them to take any value ∈ {0, 1}.
The relations (20) - (28) imply that x3,j = 1 if two HCB
sections of length ≥ 7 exists between SF BRj+1 and SF BR(j+1) .
This can be seen by a case-by-case analysis of all the possible
choices of HCBs that contain two HCB sections of length ≥ 7.
The equations (20) - (25) model the case when two HCB sectionsof length 7 exist, where as the equations (26) - (28) model thecase when one HCB of length 7 and one HCB section of length
8 exist. Finally, the equations (29) and (30) imply that x4,j = 1
if one HCB section of length ≥ 14 exists.
The objective function is deﬁned identically in (1) and (6).
The deﬁnition of transmission rate in (2) and (5) is 
identical tothe deﬁnition in (7). We note that there is q − 1 = 2≤j≤8 uj ,where q is the number of regions. Thus the value of B as deﬁned
in Section II and (2) is correctly expressed in (7).
IV. Experimental results
In this section, we compare the performance of the MILP algorithm proposed in this paper with a Reference AAC encoder.
The Reference AAC encoder implements a spectral energy difference technique [7] to decide the grouping conﬁguration. andapplies the Two-Loop Search routine [4] for computing the SF s
and HCBs. Further, we designed an Exhaustive Search AAC
encoder as follow: The Exhaustive Search AAC encoder executes the Two Loop Search for all possible 128 groupings andchooses the grouping with the lowest distortion.
The MILP encoder can be implemented in two mathematically equivalent ways. First, one can directly implement andsolve the linear programming formulation in Section III. One
uses the simplex method to solve the underlying linear program
and then deploys a branch-and-bound method to identify the
integer solution. CPLEX provides an implementation of bothalgorithms. Alternatively, for each of the 128 possible grouping
conﬁgurations one determines the optimal settings of the SF s
and HCBs by using the optimal methods developed in [6], andthen chooses the grouping with the lowest ANMR. The ﬁrst
implementation is computationally less complex. However, as

TABLE I
Comparison of average AN M R values (dB)Compared optimization techniques
Reference AAC vs. Exhaustive Search AAC
Reference AAC vs. MILP
Exhaustive Search AAC vs. MILPANMR ratio
0.531
4.37
3.8

for the sake of this evaluation we were not concerned about theexecution time of the algorithm and we already had an implementation of [6], we implemented MILP in the second way. We
see that this way of implementing MILP diﬀers from the Exhaustive Search AAC in the fact that the optimal methods in[6] are used instead of the heuristic Two Loop Search.
The motivation for comparing these three algorithms was asfollows: The comparison of Reference AAC and Exhaustive
Search AAC gives us an insight into the quality of the groupingalgorithms in [7]. The comparison of both AAC modes with
MILP shows us how far the solutions found by both AAC algorithms diﬀer from the theoretical optimum calculated by MILP.
We note that both the Exhaustive Search AAC and MILP cancurrently not be executed in real-time.
The results in Table I show that the Exhaustive search AAC
only gives a 0.531 dB improvement over the Reference AAC
which shows the strength of the grouping algorithms in [7].
The comparison of both AAC modes with MILP shows thatthe achieved ANMR values are far from the theoretical optimum.
For the simulations, data was taken from a monophonic audio ﬁle, sampled at 44.1 kHz and 100s in length, with 755 short
block frames analyzed. The audio ﬁle consisted of seven audio
sequences containing dynamic program content, such as triangle, glockenspiel, harpsichord, and castanets.
V. Conclusions
This paper develops the ﬁrst complete model of the encoding
process for the MPEG-4 AAC audio codec that chooses a short
block conﬁguration. Previous technique to solve the AAC encoding problem divide the encoding problems into sub-problems
which are then solved heuristically. In contrast, we model theencoding process as a four dimensional optimization problem.
The numerical experiments show the large performance gains
that can be achieved by our approach compared to previous
methods. The calculation of the optimally achievable ANMR
values allows us to compare the performance of existing technologies with the theoretical optimum.
References
[1]

[2]
[3]
[4]
[5]
[6]
[7]

[8]
[9]

V ­ 72

Beaton, R.J., Beerends, J.G., Keyhl, M., Treurniet, W.C., Objective perceptual measurement of audio quality. Collected Papers of Audio Bit - Rate
Reduction(1996), Gilchrsit, N., Grewin, C.; AES, pp. 126 - 152.
Princen, J., Johnston, J.D., Audio coding with signal adaptive ﬁlterbanks.
ICASSP 1995, Detroit, May 1995.
Johnston, J.D.; Estimation of perceptual entropy using noise masking criteria, ICASSP, 1988, New York, NY, May 1998.
Bosi, M., et al., ISO/IEC MPEG-2 Advanced Audio Coding. Journal of the
Audio engineering society, Vol. 45, No. 10, 1997, Oct, pp.791 -811.
Aggarwal. A., Towards weighted mean-squared optimality of scalable audio
coding. Dissertation, UCSB, Dec. 2002.
Bauer, C., Vinton, M., Joint Optimization of Scale Factors and Huﬀman
Code Books for MPEG-4 AAC, IEEE MMSP 2004, Siena, Italy.
Fellers, M.; Bauer, C.; Vinton, M.; Davidson, G.; Encoding Blocks of Audio
Information Arranged in Frames with Constrained Optimization of Segmenting the Frames into Groups of Blocks. US patent appl. PCT/US2005/001715.
Zwicker, E., Fasthl, H., Psychoacoustics: Facts and Models. Second Edition,
Springer Publishing House, 1990c1999.
ISO/IEC, IS-14496 (Part 3) 2001.