[Vorbis-dev] Huge VQ codebooks

parul parul.agarwal at einfochips.com
Mon Feb 20 20:56:58 PST 2006


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



More information about the Vorbis-dev mailing list