[Tremor] RE: Tremor Digest, Vol 10, Issue 2

KumarBraj Bhushan kumar.brajbhushan at ittiam.com
Thu Mar 3 03:34:11 PST 2005


>The result of this investigation is that using interpolation (with account
>of an offset!) a lookup table of 256 16bit-values is good enough, to keep
>the calculation error less than 1 LSB. 
>Of course, this goes on cost of the CPU load (~ +20% for the overlapping, ~
>+4% overall on a TI C5x DSP). 

This is very good observation. When Memory is too precious, this trade off is accepatable. Thanks Roland for trying it out.

Better trade off will be to use approximation for 4096 blocksize only which is 
less frequent and will have lesser complexity otherwise.

-----Original Message-----
From: tremor-request at xiph.org [mailto:tremor-request at xiph.org]
Sent: Thursday, March 03, 2005 2:02 AM
To: tremor at xiph.org
Subject: Tremor Digest, Vol 10, Issue 2


Send Tremor mailing list submissions to
	tremor at xiph.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://lists.xiph.org/mailman/listinfo/tremor
or, via email, send a message with subject or body 'help' to
	tremor-request at xiph.org

You can reach the person managing the list at
	tremor-owner at xiph.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Tremor digest..."


Today's Topics:

   1. AW: [Vorbis-dev] Streams with block sizes 4096 and 8192
      (Roland Wintersteller)


----------------------------------------------------------------------

Message: 1
Date: Wed, 2 Mar 2005 21:32:26 +0100
From: "Roland Wintersteller" <rwinters at europe.com>
Subject: [Tremor] AW: [Vorbis-dev] Streams with block sizes 4096 and
	8192
To: "'KumarBraj Bhushan'" <kumar.brajbhushan at ittiam.com>
Cc: tremor at xiph.org
Message-ID: <20050302203147.6F92E286FEF at ns3.osuosl.org>
Content-Type: text/plain; charset="iso-8859-1"

Hi together,

I made investigations on interpolating the ogg vorbis window a few months
ago in Matlab. Although I was working with the Tremor code (integer
version), this perhaps is interesting...

demo_ovwin.m (requires ovwin.m, ovwin_interp.m)
The graph shows the error signals in LSB when the window is derived from
another window with higher resolution. The higher the difference between
stored and calculated window the higher is also the error. 

The result of this investigation is that using interpolation (with account
of an offset!) a lookup table of 256 16bit-values is good enough, to keep
the calculation error less than 1 LSB. 
Of course, this goes on cost of the CPU load (~ +20% for the overlapping, ~
+4% overall on a TI C5x DSP). 

Regards, Roland



-----Ursprüngliche Nachricht-----
Von: vorbis-dev-bounces at xiph.org [mailto:vorbis-dev-bounces at xiph.org] Im
Auftrag von KumarBraj Bhushan
Gesendet: Mittwoch, 02. März 2005 06:02
An: Monty
Cc: vorbis-dev at xiph.org
Betreff: RE: [Vorbis-dev] Streams with block sizes 4096 and 8192

Monty,

I would suggest not to include 8192 blocksize altogether. We have taken the
current Encoder setup as the reference to decide about the tables. This will
increase ROM requirement by 16 KB on the Decoder side. If Vorbis wants to
have good presence in Audio market, memory and complexity requirement on
Decoder should be kept to minimum. 

One more thing, we have tried to use only 16 MSBs of current 32-bit window
lookup tables and the quality of decoded outputs seems to be not affected.
What was your experience? I am sure you must have experimented with lower
precision of these tables. If it works, it will reduce table requirement by
half.

Cheers,
Kumar.

-----Original Message-----
From: Monty [mailto:xiphmont at xiph.org]
Sent: Wednesday, March 02, 2005 4:26 AM
To: kiran.aral at wipro.com
Cc: vorbis-dev at xiph.org
Subject: Re: [Vorbis-dev] Streams with block sizes 4096 and 8192





On Tue, Mar 01, 2005 at 03:44:37PM +0530, kiran.aral at wipro.com wrote:
> 
> Hello,
> 
> 
> 
> I am looking for Ogg-vorbis streams with block sizes 4096 and 8192.
> Please let me how do generate these streams. This is to test our
> fixed-point implementation...

The reference encoder (1.0+) uses a 4096 blocksize for quality
settings less than zero (eg, -q -1).  I'm not aware of any encoder
producing 8192-sized blocks, but I can produce one easily and will do
so tonight.

Monty
_______________________________________________
Vorbis-dev mailing list
Vorbis-dev at xiph.org
http://lists.xiph.org/mailman/listinfo/vorbis-dev
_______________________________________________
Vorbis-dev mailing list
Vorbis-dev at xiph.org
http://lists.xiph.org/mailman/listinfo/vorbis-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ovwin.m
Type: application/octet-stream
Size: 263 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/tremor/attachments/20050302/e67e858e/ovwin.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ovwin_interp.m
Type: application/octet-stream
Size: 494 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/tremor/attachments/20050302/e67e858e/ovwin_interp.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: demo_ovwin.m
Type: application/octet-stream
Size: 1129 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/tremor/attachments/20050302/e67e858e/demo_ovwin.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: matlab-demo-errwin-interp.png
Type: image/png
Size: 20351 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/tremor/attachments/20050302/e67e858e/matlab-demo-errwin-interp.png

------------------------------

_______________________________________________
Tremor mailing list
Tremor at xiph.org
http://lists.xiph.org/mailman/listinfo/tremor


End of Tremor Digest, Vol 10, Issue 2
*************************************


More information about the Tremor mailing list