2.1 Technology Overview
Like international video compression standards,
Dirac defines the byte stream and decoding proce-
dure only. However, for illustration purposes, the
discussions below are made with regard to standard-
compliant encoders.
Dirac Pro (BBC, 2008a) accepts RGB and YUV
video, with chrominance subsampling factors of
4:4:4, 4:2:2, and 4:2:0. There are no restrictions
on the bit resolution, and neither on frame size or
frame rate. Predefined formats defined in the refer-
ence implementation include picture resolutions from
below QCIF size to 4K Digital Cinema. The nature
of the original video can be both interlaced and pro-
gressive. Dirac Pro does not involve any MC. A
compliant encoder comprises three main compression
components. A frame of a video sequence is first
transformed by a wavelet filter bank to exploit spatial
redundancies, before the transform coefficients are
quantized and entropy encoded to exploit statistical
correlation. The filter bank can be implemented in a
very efficient way by means of lifting. The quantizers
used are basically scalar dead-zone quantizers and are
left out for lossless encoding. Entropy encoding can
either mean variable-length coding (VLC) or arith-
metic coding (AC). Concerning data migration, later
transcoding without loss is possible by compressing
video sequences in Dirac Pro’s lossless mode.
Another feature of Dirac Pro is the use of inde-
pendent chunks of data inside the byte stream, which
allows for fast forward and backward functionality.
All data are stored in a single byte stream, such that
the transport in container formats like MPEG trans-
port stream or OGG is possible. Due to the use of a
filter bank hierarchy in the decomposition stage, in-
cremental frame decoding is easily achieved, allow-
ing for scalability in quality and resolution. Temporal
scalability is supported implicitly as no temporal pre-
diction is involved.
Though Dirac Pro defines the from other stan-
dards well known concept of profiles (sets of algo-
rithms) and levels (constraints on decoder resources
like frame and data buffer sizes), none have been de-
fined yet. However, a coding option for high quality
and another one for low latency exists. High quality is
achieved by processing the entire frame at a time in-
stance and implies thus a delay of at least one frame.
Low latency is achieved by processing subregions of
the frame at a time, and by replacing AC by VLC.
This comes typically at the expense of less efficient
compression. By the use of a wavelet filter bank and
predicting subband coefficients, Dirac Pro can be re-
lated to the well know SPIHT video compression al-
gorithm (Said and Pearlman, 1996) and the interna-
tional standard Motion JPEG2000 (ISO/IEC, 2001).
As mentioned before, Dirac 2.1.0 (BBC, 2008b)
deploys MC to exploit temporal redundancies and can
therefore be counted as a member of the family of
block-based hybrid video codecs. Dirac is identical
to Dirac Pro, except that here not the original image
is passed to the filter bank, but a motion compensated
one. As a consequence, the functionality of scalability
is lost. The motion prediction process is quite flexible,
allowing any combination of various unidirectional
and bidirectional modes, including weighting. An ad-
ditional option for global motion estimation exists.
The block sizes utilized in the prediction process can
be of varying size and overlap each other, also known
as overlapped block motion compensation. The accu-
racy can be either half-pel, quarter-pel, or 1/8-pel.
3 THEORA
Theora I is a video codec which is developed by mem-
bers of the Xiph.org Foundation. It is more and
more frequently found on the Web and used by large
sites complying with the Wikimedia Commons like
Wikipedia. However, the main application areas re-
main undefined. Xiph.org claims that Theora con-
tains solely royalty-free and open technology. Its ref-
erence implementation is provided under a BSD-style
license.
3.1 Technology Overview
Also this codec can be classified as belonging to the
family of block-based hybrid video codecs. As with
international standards, the specification details the
decoder operation and data field order in the byte
stream. As a concatenation of data packets, this
stream can easily be encapsulated in any suitable
transport container format. The standard allows pro-
gressive video material with 8bpp accuracy and arbi-
trary dimensions, ranging from below QCIF to sig-
nificantly more than 4K. The sequence may have a
YUV color space with 4:2:0, 4:2:2, and 4:4:4 chroma
subsampling.
A compliant decoder comprises five main compo-
nents. The byte stream data are first entropy decoded
employing Huffman codes. The decoded transform
coefficients are then passed to the inverse quantization
process and, subsequently, to an inverse 8 × 8 DCT,
producing a frame difference signal, or frame delta.
COMPARISON OF OPEN AND FREE VIDEO COMPRESSION SYSTEMS - A Performance Evaluation
75