[theora-dev] Support for layers and alpha channel?

Ralph Giles giles at xiph.org
Wed Mar 24 09:06:32 PST 2004

On Wed, Mar 24, 2004 at 12:25:32PM +0100, Dennis Pennekamp wrote:

> I was wondering if you people are implementing multiple layer support 
> into the codec. I don't know if it should be in the container (ogg) or 
> codec (theora) but perhaps the syncing requires at least support in the 
> codec.

We plan to support graphic overlays in MNG format (www.libpng.org/pub/mng) and multiple concurrent 
theora video streams. This covers many of the situations you've suggested.

> Fixing
> Some people prefer to have the broadcast logo removed because of 
> personal preference, because you have a licence to rebroadcast with 
> your own logo, or because it interferes with subtitles. This may leave 
> a smudge in the corner and some people may prefer to just see the logo 
> instead, so the smudge could be on an alpha cannel and the viewer can 
> decide to use it or not. A removed logo layer. It could also be a 
> fixing layer, like the removal of the huge JVC logo in Highlander 
> Endgame Special Edition. If good timecoding is available users could 
> even share small overlay movies that fix visual bugs in already bought 
> movies.

I doubt 'fixups' like this will be bitrate efficient unless the background is static. MNG overlays 
would be an excellent way to attach broadcast bugs in the first place though.

> Underneath It All
> Remember the No Doubt video where the singer straddles and orgasms and 
> blinks of screen (to that happy place:-) to quickly return back on 
> screen? Perhaps it would easier for the codec if she would be on a 
> layer that simply jumps behind the background layer. Perhaps even more 
> so if the motion in that layer can be frozen in time and continue when 
> it is brought back to the front.

While this sort of thing would help compression in this particular case, such sequences are rare 
and it's not worth adding special case support for them. What you're describing is a non-linear 
transition between two streams. From a technical point of view, this belongs at a level above the 
Ogg transport stream, which only supports linear media, in something like a SMIL file 
(http://www.w3.org/AudioVideo/). If we supported 'blinks' to an alternate stream, why not the much 
more common fade and dissolve? Then wipes, weaves, of course jump cuts, and so on? In an efficient 
design these things are of a package.

> Why not 
> have it all and let the player decide what to play. Multiple layers for 
> censored and uncensored scenes, bandwidth saved by a composition track 
> which tells what scenes / layers to show and what can be used in all 
> movies displayed.

Would it be censorship if you could choose which version to watch?

In any case, you can already do this with SMIL.

Glad you're excited,
--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'theora-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Theora-dev mailing list