[Vorbis-dev] Huge VQ codebooks

parul
Mon, 20 Feb 2006 20:57:00 -0000

parul wrote:

> Monty wrote:
>
>>
>> On Mon, Feb 20, 2006 at 07:42:53PM +0530, parul wrote:
>>
>>
>>> Hi,
>>>
>>> Does anybody know how codebooks are generated in OggVorbis encoder?
>>>
>>
>>
>> In our reference encoder, they are 'canned'; they are
pregenerated by
>> us for a given release.  For any given mode setup, the codebooks used
>> in a release are fixed.
>>
>> Monty
>>
>>
>>
>>
> Thanks Monty for your response. But i still have doubt. Actually if i
> could explain this is what we are doing and is the problem. We are
> porting OggVorbis Encoder (i am talking about encoder only ) on DSP.
> According to my understanding this is what we observerd that for
> different sampling rates/nchannels we have different setups. We want
> all sampling rates, mono/stereo and quality support so all setups
> would have to be considered. And it is observed that total memory from
> VQ codebooks is huge considering all sampling rates and qualities. The
> lookups for lenghtlist are as big as 6561 elements . Similarly
> valuelist takes huge memory (upto 300 KB) dynamically. As per my
> understanding these codebooks take both large heap memory and static
> lookup memory (For 44 KHz there are around 100 codebooks). OggVorbis
> encoder takes huge data memory  where VQ codebooks are taking most
> memory. For DSP this memroy requirement is toooo high. So the
> questions come up that...
> 1.How do we reduce this memory?
> 2.Cant we use single codebook? What is the logic behind lenghtlist
> tables of varying lenngths like 6561, 625 etc? If we ignore 6561 what
> will hapenn?
> 3.Do you have any option for lesser codebooks that can be used in
> embedded systems?
> 4. Will we have to do algorithm level changes for VQ and create own
> codebooks?
>
> In short Memory is a big concern and after going through the code as
> per my understanding VQ codebooks consume most memory. Please if you
> could help.
>
> Parul
> Embedded Engineer
> Einfochips Ltd
>
>
>
>
>
>
>
>