Reply by James (Sungjin) Kim●December 31, 20052005-12-31

Jake wrote:

>>GO TO THE LIBRARY
>>
>>VLV
>>
>
>
> Great answer.
>
>

If you don't have enough time to go to library, you may want to refer
the following paper:
Vector quantization Gray, R.; ASSP Magazine, IEEE [see also IEEE Signal
Processing Magazine] Volume 1, Issue 2, Part 1, Apr 1984 Page(s):4 - 29
Sorry if it was already mentioned.
-James Gold

Reply by Carlos Moreno●December 31, 20052005-12-31

Jake wrote:

>>GO TO THE LIBRARY
>>
>>VLV
>>
> Great answer.

No, seriously -- you need to read up a little bit a good
description of Vector Quantization.
Remember that you replace *an entire vector* by an index
in the codebook. Notice also that Vladimir did mention
that you split the vectors into several components (I
also suggested that earlier in the thread -- didn't your
newsreader show my previous reply?).
That is, if you have a 30-dimensional vector, then you
can split it into three vectors, 10-dimensional each;
now, you can use a codebook of, say, 8 bits, to encode
each of the three vectors. The result is that you're
using a total of 24-bits to encode each 30-dimensional
vector.
If the above does not clarify, then *really* you need to
hit the books first, to get a general idea of the technique,
and then we can give you a hand with any specific doubts
you may have.
HTH,
Carlos
--

Reply by Jake●December 30, 20052005-12-30

>
> GO TO THE LIBRARY
>
> VLV
>

Great answer.

Reply by Vladimir Vassilevsky●December 30, 20052005-12-30

Jake wrote:
GO TO THE LIBRARY
VLV

>>It is the vector quantization of 10-dimensional LSF vector using the total
>>of 20 bits for indexing the codebooks.
>
>
> Thanks for a quick answer again :o)
>
> But I am sorry to say that I don't understand why you would need 20 bits for
> indexing the codebooks....20 bits is a pretty high number and the codebook
> wouldn't be that large??....So there is something I don't understand.....
>
> I read that a codebook usually contains 500 vectors. So wouldn't you need
> 9 bits to represent an index range from 1 to 500???
>
> Thanks again...
>
>
>
>
>

Reply by Jake●December 30, 20052005-12-30

> It is the vector quantization of 10-dimensional LSF vector using the total
> of 20 bits for indexing the codebooks.

Thanks for a quick answer again :o)
But I am sorry to say that I don't understand why you would need 20 bits for
indexing the codebooks....20 bits is a pretty high number and the codebook
wouldn't be that large??....So there is something I don't understand.....
I read that a codebook usually contains 500 vectors. So wouldn't you need
9 bits to represent an index range from 1 to 500???
Thanks again...

Reply by Vladimir Vassilevsky●December 30, 20052005-12-30

Jake wrote:

>>To my knowledge, the best results for the LPC quantization are somewhere
>>around 20 bits per vector.
>
>
> This is just a guess:
>
> By 20 bits per 10-dimensional vector do you mean that you assign 2 bits per
> coefficient in the 10-dimensional vector?
>

No.
It is the vector quantization of 10-dimensional LSF vector using the
total of 20 bits for indexing the codebooks.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com

Reply by Jake●December 30, 20052005-12-30

>
> To my knowledge, the best results for the LPC quantization are somewhere
> around 20 bits per vector.

This is just a guess:
By 20 bits per 10-dimensional vector do you mean that you assign 2 bits per
coefficient in the 10-dimensional vector?
This means that you assign a range from 0 to 3 to represent the dynamic
range of the observed coefficient, right?
The encoded vector would then be a 20 bit bit-stream looking like this:
xx|xx|xx|xx|xx|xx|xx|xx|xx|xx|
where "xx" is either 00,01,10 or 11
....am I right?

Reply by Jake●December 30, 20052005-12-30

> To my knowledge, the best results for the LPC quantization are somewhere
> around 20 bits per vector.

Thanks for the quick answer, Vladimir
However...I am quite new in this field of quantizing vectors....I am a bit
puzzled
by the "20 bits per vector"....Can you explain that in simple words? What do
you mean by "20 bits per vector"?
Thank you.

Reply by Vladimir Vassilevsky●December 30, 20052005-12-30

Jake wrote:

>>Take a look at the way the LSFs are quantized in G.723.1, G.729 or any
>>other standard codecs.
>>
>
> Thanks for the answer....I am re-inventing the wheel so I can learn :o)
>

To my knowledge, the best results for the LPC quantization are somewhere
around 20 bits per vector. They quantize the weighted difference vector
between the current and the previous LSFs. The 10 LSFs are split into
two subvectors of 4 + 6, and each subvector is quantized using the
separate 10 bit codebook.

> Can I download G723 and G729 for free somewhere or do I have to pay for it ?
>
> I have free access to IEEE-xplore.

They use 24 bits (three codebooks of 8 + 8 + 8 bits), and the 10 LSFs
vector is split as 3 + 3 + 4.
I think the descriptions are available from ITU web site. I have seen
the source code somewhere also.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com

Reply by Jake●December 30, 20052005-12-30

> Keep trying :)
> Take a look at the way the LSFs are quantized in G.723.1, G.729 or any
> other standard codecs.
>

Hi Vladimir
Thanks for the answer....I am re-inventing the wheel so I can learn :o)
Can I download G723 and G729 for free somewhere or do I have to pay for it ?
I have free access to IEEE-xplore.
Thanks again ...
And happy new year to you all...