[vorbis] response to The r3mix review (fwd)

Monty xiphmont at xiph.org
Wed Jun 28 17:33:40 PDT 2000


Yes, r3mix found a bug, no it's not a serious one.

It's amazing how something small gets overblown like this.  The r3mix reviewer
basically just hit the known short block trigger bug when doing his tests.
We've known about this bug since before the beta and haven't fixed it yet
because it was considered relatively minor; [ironically] it mostly affects test
samples with a single strong frequency and no or only regular harmonics.  The
effects in 'natural' audio are more subtle, although still audible; it sounds
like imperfect preecho cancellation (which is partially what it is).

A few details so folks are more informed:  Our current encoder tries to
differentiate between strongly periodic [regular] signals and impulses/strong
breaks in the sound (no surprise there).  The impulses and strong breaks are
coded in shorter blocks (like mp3, although the logical implementation is
different) and for that reason, the encoder optimizes short block tuning for
impulses, not tones. If the encoder screws up and tries to encode fairly pure
tones in short blocks, suddenly the fit is very poor and the block boundaries
become audible, which causes beat frequencies, low frequency noise... in short
it sounds like crap.

This is exactly what the r3mix reviewer hit.  The log sweeps, pure tones, etc,
are a pathological case in which the beta code's short block trigger guesses
wrong more than half of the time.

It's just a bug.  Naturally, since this is now the biggest Vorbis item being
bandied about by detractors, we're fixing it ASAP :-P  r3mix already said
they're happy to test a new version of the encoder with the bug fixed.

For comparison purposes, have a look/listen at:

http://www.xiph.org/ogg/vorbis/test.ogg
...and the included a plot of the frequency response.

This is a pure tone logsweep encoded with short blocks disabled (the correct
thing to do with this sample).  You can see in the sweep graph I attached that
the response is nearly flat, like it should be, from 0-20000 Hz.  There are two
6dB dropout imperfections in the high end; I need to look at this flaw (you
never know... maybe the r3mix guy was right after all and there *is* a masking
bug ;-) 

Response is not perfectly flat (there's a half dB ripple or so) because the
psychoacoustics say that's fine and the psychoacoustics are correct.  Unlike
most mp3 encoders, Vorbis totally trusts its psychoacoustics and because it's
natively VBR, it won't try to use up 'extra' bits resulting in .000025 dB
resolution on a very simple sample like this.  The logsweep encoded to 48kbps
stereo (24kbps/channel).

Next, a sweep matching the one used by r3mix; what they didn't say in the news 
section is that the graph they provide is a 4.5kHz-22kHz sweep).  Attached is 
also a 4.5Khz-20 kHz sweep for comparison.  Note that there is *no* low end 
noise problem.

In any case, the bad r3mix review is just due to a small bug with a big effect.

Monty


<HR NOSHADE>
<UL>
<LI>image/png  attachment: logsweep.png
</UL>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logsweep.png
Type: application/octet-stream
Size: 6694 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/vorbis/attachments/20000628/eaa2f102/logsweep-0001.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: logsweep2.png
Type: application/octet-stream
Size: 7017 bytes
Desc: not available
Url : http://lists.xiph.org/pipermail/vorbis/attachments/20000628/eaa2f102/logsweep2-0001.obj


More information about the Vorbis mailing list