[Vorbis-dev] Checking accuracy of the output

nagaraja.sreerama at wipro.com nagaraja.sreerama at wipro.com
Tue Feb 1 03:53:40 PST 2005


Further to the tests, this time I used a sine sweep at 48000Hz and
encoded using the oggenc1.0.1, to get a ogg bitstream (attached).
The same ogg bitstream is passed to both oggdec(v1.0.1) and tremor code.
When compared the RMS value, the result is as follows:

File name 1: test2_sine_sweep_48k_tremor.pcm (16-bit output)---> tremor

File name 2: test2_sine_sweep_ref.pcm (16-bit output) ---> oggdec 1.0.1

Total number of samples  = 1440037
RMS error = 2.132247e-005
Allowed: Full Accuracy (16-bit SNR) = 8.81e-006
         Limited accuracy (12-bit SNR) = 1.409e-004
 SNR = 14.724785
Peak error = 3.051758e-005 (allowed[2^-14]=6.1035e-005)
Peak error = 256 levels (out of 24-bit)

Please note that according to the tests the 16-bits output should be
converted to 24-bit by forcing the last 8-bits to 0. The same is done
for both the reference output and the tremor output. Now its clear that
the tremor code is not fully compliant but with limited accuracy.

The same test is performed with two other .ogg songs. While one of them
gave almost similar results, the other song yielded drastic changes like
rms error of around 2.5e-1 etc.

Can anyone please comment on this ?

Best regards,
Nags..

-----Original Message-----
From: vorbis-dev-bounces at xiph.org [mailto:vorbis-dev-bounces at xiph.org]
On Behalf Of nagaraja.sreerama at wipro.com
Sent: Friday, January 28, 2005 5:09 PM
To: jripley at rioaudio.com; shabi at t2.technion.ac.il
Cc: vorbis-dev at xiph.org
Subject: RE: [Vorbis-dev] Checking accuracy of the output

Hi,
I agree with you that it would be better to run the compliance tests
similar to MP3. I also agree with you that given the lack of any
reference test vectors, we may have to depend on the Vorbis reference
Encoder and Vorbis reference Decoder (both floating point
implementations) as the reference for accuracy check of given decoder
using the above tests. But did anyone tried this test on the tremor code
?
Tremor code being a Fixed point code, might have the loss of some bits
compared to the original implementation in floating point arithmetic. I
did a random check (of course not with any reference sine wave or so,
but with the input file as some audio song) and the result was shocking
when I tried the above test.
The procedure was like this:
I converted the song to a vorbis file using the reference vorbis
encoder. I passed the same file to (a) reference vorbis decoder and (b)
tremor code and got the outputs. Then tried to find the RMS difference
as per the procedure above (the same as the MP3 test suits).
Surprising to me, I got only a SNR of about 3 bits !! Probably something
is wrong in getting the results ?? Another observation is that through
listening test I could not make out the difference in quality (at least
not much, though I'm not a serious listner). Can anybody check up this
point w.r.t. tremor code accuracy ?
Best regards,
Nags..

-----Original Message-----
From: vorbis-dev-bounces at xiph.org [mailto:vorbis-dev-bounces at xiph.org]
On Behalf Of John Ripley
Sent: Sunday, January 23, 2005 8:57 PM
To: Tal
Cc: vorbis-dev at xiph.org
Subject: Re: [Vorbis-dev] Checking accuracy of the output

Michael Smith wrote:
 >>If you've made changes that produce (deliberately) different output,
>>then it's much, much more complex. You really need to do double-blind
>>listening tests to see whether your improvements are, in fact,
>>improvements.

Tal wrote:
> Hi,
> Thanks for the quick response,
> We did some optimizations that deliberately cut some corners. Is there

> a more accurate test to see if the the output is not hurt?

I'd run a set of tests similar to the MP3 compliance tests used for MAD:

http://www.underbit.com/resources/mpeg/audio/compliance/

Take the difference signal of your output and the "ideal" output, then

calculate RMS and peak. A subtle thing here is that the ISO MP3 test

streams are not created by an encoder - the coefficients are directly

generated. You'll have to compare the accuracy of your decoder against

the accuracy of the reference Vorbis encoder + decoder combination.

Personally, I think the "fully compliant" criteria aren't nasty enough.

I would only accept an error due to truncation (+/-1 max). On the other

hand, I agree with the "limited accuracy" criteria: you can get away

with about 12 bit SNR without double blind tests picking up on the

difference. Just don't say that within earshot of a so called

"audiophile" :)

(It's also a nice sanity check for work-in-progress code. At one point

while tweaking the MDCT, I'd accidentally reduced the quality of my

decoder to 8 bit SNR and removed everything from 11kHz to 22kHz. It took

me 2 weeks to notice...)

Are you reducing quality in order to save CPU/battery, or memory usage?

- John Ripley.
_______________________________________________
Vorbis-dev mailing list
Vorbis-dev at xiph.org http://lists.xiph.org/mailman/listinfo/vorbis-dev



Confidentiality Notice


The information contained in this electronic message and any attachments
to this message are intended for the exclusive use of the addressee(s)
and may contain confidential or privileged information. If you are not
the intended recipient, please notify the sender at Wipro or
Mailadmin at wipro.com immediately and destroy all copies of this message
and any attachments. _______________________________________________
Vorbis-dev mailing list
Vorbis-dev at xiph.org http://lists.xiph.org/mailman/listinfo/vorbis-dev




Confidentiality Notice

The information contained in this electronic message and any attachments to this message are intended
for the exclusive use of the addressee(s) and may contain confidential or privileged information. If
you are not the intended recipient, please notify the sender at Wipro or Mailadmin at wipro.com immediately
and destroy all copies of this message and any attachments.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test2_sine_sweep_48k.ogg
Type: application/octet-stream
Size: 66780 bytes
Desc: test2_sine_sweep_48k.ogg
Url : http://lists.xiph.org/pipermail/vorbis-dev/attachments/20050201/d8283a61/test2_sine_sweep_48k-0001.obj


More information about the Vorbis-dev mailing list