[theora] Thusnelda Video Quality

Gregory Maxwell gmaxwell at gmail.com
Tue Mar 31 23:22:22 PDT 2009


On Wed, Apr 1, 2009 at 1:54 AM, Gregory Maxwell <gmaxwell at gmail.com> wrote:
> On Tue, Mar 31, 2009 at 8:46 PM, Remco <remco47 at gmail.com> wrote:
>> I would like to see how it holds up though. Is it better than MPEG2?
>> MPEG 4 ASP? H.263?
[snip]
> By adopting unencumbered formats today even though they currently
> 'cost' more you will be contributing to a better society, one which is
> more efficient and which has more freedom, and will lower your future
> media-transport related costs.  Can you see the merit in this
> position?

I'm responding in a second email to the question you actually *asked*
because I didn't want to dilute the message that I thought you needed
to hear, but I did actually want to provide an answer to that too.

It's clear that Theora has a higher cost today due to *compatibility*.
The comparative costs due to quality/bandwidth is a bit more of an
open question.  Ultimately you're asking in the wrong place:  Most
people will probably assume that answers provided by people on the
Theora mailing list are somewhat biased. :)

Unfortunately testing really hard to do well and many people do it poorly.

I can tell you at least one useful thing that doesn't require testing:

IFF you are interested in operation at very high bitrates, with
visually lossless results (i.e. output looks 'the same' as the input)
every one of the formats you named will beat Theora.  Theora isn't
targeted at that usage. If thats what you want you should consider
Dirac, which works quite well for those applications. Theora is
intended for lower bandwidth uses, such as web streaming and it does
that well (better than Dirac does today, for example).

This point is very important to make because it can be very hard to
decided which of two very differently looking clearly degraded outputs
is better. (Blockyness in the sky vs blurryness in a face. Which is
worse?)  This reality of lossy codec testing often leads to a
particular bad testing methodology:  You take two codecs and adjust
the bitrate until you can't distinguish one of them from the original,
then you declare the other codec to be the loser. This is a bad method
because the performance at one bitrate doesn't necessarily tell you
about performance at other bitrates, and you end up with people
testing at 8mbit/sec to make decisions about a format they are going
to use at 400kbit/sec. It is especially invalid for Theora because
Theora has a maximum bitrate which stops short of unconditional visual
losslessness. Theora isn't designed for that use and will probably
always fail that test. (Again, use Dirac if you want that).

At the lower bitrates that Theora is intended for I believe that it
has always been *at least* basically competitive with the formats you
listed.

Here is an example of the old Theora encoder at a fairly low bitrate:
http://people.xiph.org/~maikmerten/sign_irene_484_theora.png

and

MPEG-4 part 2: (I think this is an ASP encoder, not simple profile,
though I'm not sure)
http://people.xiph.org/~maikmerten/sign_irene_484_mpeg4-2.png

The Theora example has far fewer blocking artifacts. This is because
Theora has an in-loop deblocking filter.


More information about the theora mailing list