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...