[theora-dev] [theora] loss detection/resilience

Timothy B. Terriberry tterribe at email.unc.edu
Thu Oct 2 15:03:07 PDT 2008

Paulo Vicentini wrote:
> Are there plans for slicing and loss detection/resilience built-in
> theora codec?

As far as I know, no, there are not. However, contributions are always
welcome from someone willing to actually work on the problem.

> Will theora codec have a similar approach like H.264 to deal with the
> loss of some frame fragments?

There isn't a whole lot that can be done within the current bitstream.
Right now today you can lower the keyframe interval, but that hurts
compression quite a bit. Theora does not use macroblock refresh, because
its prediction loop has no drift (in the absence of loss). This is
something that might reasonably be added to an encoder in the current
bitstream, but some effort would need to be made to ensure there are no
patent concerns around it.

Slices and other mechanisms would require extensive revisions to the
current bitstream, transport mechanism, software API, etc. These all
make significant use of the fact that Theora outputs one packet per
frame. Technically the Ogg layer provides error recovery at the page
level, which is completely independent of packet boundaries, but all of
the software is written treating packets as the fundamental unit, i.e.,
you get a whole packet, or nothing at all. It's not untenable if one can
show that there's a real driving need for it, but it's a lot of work.

More information about the theora-dev mailing list