[Theora] Ogg Theora: Some questions on codec interna

Ralph Giles giles at xiph.org
Thu Sep 16 13:38:21 PDT 2004

On Thu, Sep 16, 2004 at 04:41:23PM +0200, Gernot Ziegler wrote:

> I am currently investigating new, more modern approaches to encoding video
> with depth data based on my old data format MPEG Z/Alpha in
> http://www.geofront.se/products_software_mza.php
> and became therefore interested in Ogg Theora, as an alternative to MPEG-4
> encoding - what I would need is two video streams in one system stream
> (is that the right terminology in Ogg ?), and decode them synchronously -
> the "problem" is that the depth stream needs to be compressed on wavelet
> basis, in DCT it looks pretty awful according to research (but I would
> still test it).

So you'd be using your own wavelet codec to encode the Z channel 
instead of theora? Either way, yes that's perfectly fine. The Ogg 
terminology is 'two logical bitstreams in one physical bitstream' 
but it means the same thing. :)

> Also, a working colleague of mine has recently presented High Definition
> Range Video Encoding on SIGGRAPH, see
> http://www.mpi-sb.mpg.de/resources/hdrvideo/index.html
> and he is looking for video format that is capable of encoding 12 bits.

12 bits doesn't seem like very much. :)

We've no plans to add support for more than 8 bits-per-channel Y'CbCr 
to theora, but it is on the requirements list for our vapourware 
next-generation 'tarkin' codec. We do support deep image sequences 
through MNG, but that's much higher bitrate than theora. Likewise with 
encoding the residual in a second stream.

You might hit up the dirac(.sf.net) people; I think they have or 
planned support for at least 'broadcast quality' which is typically 10 
bits per channel. Their code might be more adaptable to this.

> Both of us are prepared to hack a bit inside the core of the encoder if
> that is necessary and we get some code (_not_ coding ;) ) ) guidance from
> the Theora developers :-)

You're welcome to give it a try, of course, and we'll help as we can.

> That's why I would need some more info on the codec internals, or someone
> who can tell me how feasible this is - can you help me ? :-)

Adding extra streams is easy. Adding 12 bit support is probably a big 
format change, but the actual code modifications would mostly be of the 
tedious sort (type promotions and so on). You would probably want a new 
mdct too. Derf?


More information about the Theora mailing list