|Developer(s)||BBC Research Department|
|Stable release||1.0.2 / February 12, 2009|
|Type||Video codec, reference implementation|
|License||MPL 1.1, GNU GPL 2, GNU LGPL 2.1|
|Stable release||1.0.9 / March 4, 2010|
|License||MPL 1.1, GNU GPL 2, GNU LGPL 2, MIT License|
Dirac is an open and royalty-free video compression format, specification and system developed by BBC Research at the BBC. Schrödinger and dirac-research (formerly just called 'Dirac') are open and royalty-free software implementations (video codecs) of Dirac. Dirac format aims to provide high-quality video compression from web video up to ultra HD and beyond, and as such competes with existing formats such as H.264 and VC-1.
The specification was finalised on 21 January 2008, and further developments will only be bug fixes and constraints. In September of that year version 1.0.0 of the reference implementation was released which corresponds to an intra-frame only subset known as Dirac Pro, which has been proposed to the SMPTE for standardisation as VC-2. Version 2.2.3 of the full Dirac specification, including motion compensation and inter-frame coding, was issued a few days later. Dirac Pro was used internally by the BBC to transmit HDTV pictures at the Beijing Olympics in 2008.
Dirac supports resolutions up to HDTV (1920x1080) and greater and is claimed to provide significant savings in data rate and improvements in quality over video compression formats such as MPEG-2 Part 2, MPEG-4 Part 2 and its competitors, e.g. Theora, and WMV. Dirac's implementers make the preliminary claim of "a two-fold reduction in bit rate over MPEG-2 for high definition video",, which makes it comparable to the latest generation standards such as H.264/MPEG-4 AVC and VC-1.
Dirac supports both constant bit rate and variable bit rate operation. When the low delay syntax is used, the bit rate will be constant for each area (Dirac slice) in a picture to ensure constant latency. Dirac supports lossy and lossless compression modes.
Dirac employs wavelet compression, instead of the discrete cosine transforms used in most older compression formats. Dirac is one of several projects attempting to apply wavelets to video compression. Others include Rududu, Snow, RedCode and Tarkin. Wavelet compression is also used in the JPEG 2000 and PGF compression standards for photographic images.
Dirac can be used in various container formats (e.g., AVI, Ogg, MKV). It was registered for the use in container formats based on the ISO base media file format (MPEG-4 Part 12; e.g., MP4). It was also registered for use in MPEG-2 transport stream.
Two software implementations of the specification currently exist. The first is the BBC's reference implementation, formerly just called Dirac but renamed dirac-research to avoid confusion. It is written in C++ and released under the Mozilla Public License, GNU GPL 2 and GNU LGPL free software licenses. Version 1.0.0 of this implementation was released on 17 September 2008.
A second implementation called Schrödinger was funded by the BBC and aims to provide high-performance, portable version of the codec whilst remaining 100% bitstream compatible. Schrödinger is written in ANSI C and released under the same licenses as dirac-research, as well as the highly-permissive MIT License. The Schrödinger project also provides GStreamer plugins to enable the library to be used with that framework. On 22 February 2008, Schrödinger 1.0.0 was released. This release was able to decode HD720/25p in real-time on a Core Duo laptop.
As of the release of Schrödinger-1.0.9, "Schrödinger outperforms dirac-research in most encoding situations, both in terms of encoding speed and visual quality". With that release, most of the encoding tools in dirac-research have been ported over to Schrödinger, giving Schrödinger the same or better compression efficiency as dirac-research.
An encoder quality testing system has been put in place at BBC to check how well new encoding tools work and to make sure bugs that affect quality are quickly fixed.
As of Schrödinger-1.0.9, the developers identified several new features that are easy to add that will improve encoder quality. They’d like to get back to more frequent releases, perhaps one a month, introducing a new encoder feature each time.
The BBC does not own any patents on Dirac. They previously had some patent applications with plans to irrevocably grant a royalty-free licence for their Dirac-related patents to everyone, but they let the applications lapse. In addition, the developers will try to ensure that Dirac does not infringe any third party patents, enabling the public to use Dirac for any imaginable purpose.
As of November 2008, Dirac video playback is supported by VLC media player (version 0.9.2 or newer), and by applications using the GStreamer framework (such as Totem, Rhythmbox and SongBird). Support has also been added to FFmpeg.
A DirectShow filter exists for both Dirac and Schrödinger, although this is not supported on versions of Windows prior to Windows 2000 and has seemingly not been updated since early 2009.
The algorithms in the Dirac specification have been designed with the intention to provide a competitive performance as compared to state-of-the-art international standards. Whether they succeeded is an open question; while at least one comparison exists which used implementations from second quarter of 2008 - it shows x264 scoring more highly than Dirac - it is now somewhat out of date, and in any case of questionable scientific merit. A study on the performances of the Dirac codec, dated from August 2009, finds that the quality obtained on SDTV is inferior to the H.264 output.. The study mentions HD in its conclusion, but the numbers on HD are conspicuously missing.