GOSSET LATTICE SPHERICAL VECTOR QUANTIZATION WITH LOW COMPLEXITY
Hauke Krüger, Bernd Geiser, Peter Vary Hai Ting Li, Deming Zhang
Institute of Communication Systems and Data Processing ( ) Huawei Technologies Co., Ltd.
RWTH Aachen University, Germany Corporate Research Dept., Beijing, P.R. of China
{krueger|geiser|vary}@ind.rwth-aachen.de {lihaiting|zhangdeming}@huawei.com
ABSTRACT
This paper introduces a novel and highly efficient realization of a
spherical vector quantizer (SVQ), the “Gosset Low Complexity Vec-
tor Quantizer” (GLCVQ). The GLCVQ codebook is composed of
vectors that are located on spherical shells of the Gosset lattice E8.
A high encoding efficiency is achieved by representing the spherical
vector codebook as aggregated permutation codes. Compared to pre-
vious algorithms, the computational complexity and memory con-
sumption is further reduced by exploiting the properties of so called
classleader root vectors and by a novel approach for the codevector-
to-index-mapping. The GLCVQ concept can be generalized to vec-
tor dimensions that are multiples of eight. In particular, GLCVQ for
16-dimensional vectors is used in Amd. 6 to ITU-T Rec. G.729.1.
Index Terms— Spherical vector quantization, audio coding
1. INTRODUCTION
In gain-shape vector quantization [1], the input vector x ∈ R
n
is
decomposed into a gain factor g ≥ 0 and a shape vector c ∈ R
n
which are then quantized independently by means of a scalar and a
vector quantizer, respectively. Typically, the euclidean norm isused
and the gain factor g and the shape vector c are computed as
g = |x| = ||x||2 and c = g
−1
x. (1)
Hence, all normalized vectors c are located on the surface of the n-
dimensional unit sphere and, consequently, the codevectors of the
vector quantizer should cover that surface as uniformly as possible.
Such a vector quantizer is referred to as a spherical vector quantizer
(SVQ). A prominent use case for SVQ is speech and audio coding.
Specific realizations are part of recent speech and audio coding stan-
dards, e.g., ITU-T Recs. G.729.1 and G.718 as well as 3GPP AMR-
WB+. Several other approaches have been described and analyzed
in the literature, e.g., [2, 3, 4]. An application of SVQ to speech
coding that is based on the well-known Gosset lattice E8 is given
in [2]. Here, lattice points that are located on spherical shells of
constant radius form the basis of the SVQ codebooks. An efficient
nearest-neighbor quantization routine is proposed which is realized
by grouping the codevectors into classes that can be interpreted as
permutation codes. Each class is then represented by an associated
classleader vector. Even though this approach is less complex than
a full codebook search, it is still not applicable for higher bit rates
since the number of classleader vectors increases too much.
In this paper, a new technique for nearest-neighbor quantiza-
tion based on spherical codevectors that are taken from shells of the
Gosset lattice is proposed. In this context, classleader root vectors
to group the classleader vectors based on separate handling of the
signs and the magnitudes as well as a novel codevector-to-index-
mapping algorithm are introduced. Both proposals contribute to sig-
nificantly reduce the computational complexity and memory con-
sumption compared to other known approaches. The described con-
cept is referred to as “Gosset Low Complexity Vector Quantizer”
Table 1. Exemplary numbers of codevectors, equivalence classes
and equivalence root classes for the Gosset lattice E8.
Bit rate Codevectors Equiv. classes Equiv. root
log
2
(N )/n N P (cf. [2]) classes Q
0.988 240 8 2
1.762 17520 42 5
2.257 272160 162 11
(GLCVQ) and has been successfully applied for super-wideband
speech and audio coding in the codec proposal of [5]. It is now
part of Amd. 6 to ITU-T Rec. G.729.1 [6].
2. SVQ BASED ON THE GOSSET LATTICE
The Gosset lattice is defined in eight dimensions, as the superpo-
sition of the checkerboard lattice D8 and a shifted version thereof,
E8
.
= D8 ∪ (D8 + v) , v =
1
2
...
1
2
T
. (2)
The checkerboard lattice is defined for arbitrary dimensions n as
Dn
.
= {x =
x0 ... xn−1
T
∈ Z
n
:(
n−1
i=0
xi ) mod 2 ≡ 0}. (3)
Lattice vectors with a constant distance to the origin define a shell
of a lattice. The spherical vector codebook of the SVQ to be inves-
tigated in the following is composed of all N vectors which fulfill
the Gosset lattice condition (2) and at the same time are located on a
shell with a specific radius, normalized to have unit absolute value.
Targeting a nearest-neighbor quantization with low complexity and
memory, due to the invariance of (2) against permutation of the vec-
tor coordinates, the N codevectors populating the SVQ codebook
can be represented by permutation codes as shown in [2].
Each of the permutation codes is defined by one out of P
classleader vectors ˜ xp ∈ R
n
which is composed of L ≤ n different
real valued amplitudes μ
l
distributed over the n vector coordinates
in decreasing order μ0 >μ1 > ··· >μL−1, i.e.,
˜ xp =
˜ xp,0 ˜ xp,1 ... ˜ xp,n−1
T
=
←w
0
→
μ0 μ0
←w
1
→
μ1 μ1 ...
←w
L−1
→
μL−1 μL−1
T
. (4)
Each of the real values μ
l
can occur w
l
times within the vector. A
permutation of the vector ˜ xp is defined as another vector ˜ x that is
composed of the same real values μ
l
but in a different order. An
equivalence class is defined as the set of codevectors which can be
produced by arbitrary permutations of a single classleader vector. Fi-
nally, the SVQ codebook is defined as the aggregation of the code-
vectors of the equivalence classes related to all P classleader vectors,
normalized to have unit absolute value.
485 978-1-4577-0539-7/11/$26.00 ©2011 IEEE ICASSP 2011