Dirac (video compression format)
Dirac is an open and royalty-free video compression format,[2] specification and system developed by BBC Research & Development.[3][4][5][6] 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 for Ultra HDTV and beyond,[4] and as such competes with existing formats such as H.264 and VC-1.
Filename extension |
drc |
---|---|
Developed by | BBC Research & Development |
Latest release | |
Type of format | Video compression format |
Contained by | MPEG-TS, Ogg, AVI, MKV, MOV, MPEG-4 Part 12, etc. |
Extended to | VC-2 |
Standard | SMPTE 2042-1-2009, SMPTE 2042-2-2009 (a sub-set of Dirac) |
The specification was finalised in January 2008, and further developments are only bug fixes and constraints.[1] In September of that year, version 1.0.0 of an I-frame only subset known as Dirac Pro was released[7] and has since been standardised by the SMPTE as VC-2.[5][8] Version 2.2.3 of the full Dirac specification, including motion compensation and inter-frame coding, was issued a few days later.[9] Dirac Pro was used internally by the BBC to transmit HDTV pictures at the Beijing Olympics in 2008.[10][11][12]
The format implementations are named in honour of the theoretical physicists Paul Dirac and Erwin Schrödinger, who shared the 1933 Nobel Prize in physics.
Technology
Dirac supports resolutions of HDTV (1920×1080) 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",[13] which makes it comparable to 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.[14]
Dirac employs wavelet compression, like the JPEG 2000 and PGF image formats and the Cineform professional video codec, instead of the discrete cosine transforms used in MPEG compression formats. Two of the specific wavelets Dirac can use are nearly identical to JPEG 2000's (known as the 5/3 and 9/7 wavelets), as well as two more derived from them.[15]
Dirac can be used in AVI, Ogg and Matroska container formats and is also registered for use in the MPEG-4 file format[16] and MPEG-2 transport streams.[17]
VC-2
Dirac Pro was proposed to the SMPTE for standardisation.[5][18][19] The Dirac Pro specification defines an I-frame only subset of the main Dirac Specification, aimed for professional and studio use in high bitrate applications.[1][20] In 2010, the SMPTE standardised Dirac Pro as VC-2.[8][21]
- SMPTE 2042-1:2009 VC-2 Video Compression[8]
- SMPTE 2042-2:2009 VC-2 Level Definitions
- RP (Recommended Practices) 2047-1-2009 – VC-2 Mezzanine Level Compression of 1080P High Definition Video Sources
- SMPTE 2047-2:2010 Carriage of VC-2 Compressed Video over HD-SDI
- RP 2042-3:2010 – VC-2 Conformance Specification[22]
The basic spec was updated in 2012, adding a new profile for lossless and near-lossless archiving.[23]
Software implementations
Developer(s) | David Schleef |
---|---|
Stable release | 1.0.11
/ 23 January 2012 |
Type | Video codec |
License | MPL 1.1, GNU GPL 2, GNU LGPL 2, MIT License |
Website | diracvideo.org (Offline) |
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.[24] 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".[25] With that release, most of the encoding tools in dirac-research have been ported over to Schrödinger, giving Schrödinger the same as or better compression efficiency than 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.
Patents
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 have said they will try to ensure that Dirac does not infringe on any third party patents, enabling the public to use Dirac for any purpose.[26]
Desktop playback and encoding
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 Songbird, Rhythmbox and Totem). Support has also been added to FFmpeg.[27]
Applications which can encode to Dirac include MediaCoder, LiVES and OggConvert, as well as FFmpeg.
Performance
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 the second quarter of 2008—it shows x264 scoring higher than Dirac[28]—it is now somewhat out of date.[28] 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[29] and did not include HD content.
References
- "Dirac Specifications" (PDF). Archived from the original on 3 May 2015. Retrieved 4 January 2011.
- "About Dirac". Retrieved 15 July 2012.
- "FAQ – Diracvideo". diracvideo.org. Archived from the original on 23 July 2010. Retrieved 30 August 2009.
- "About Dirac". diracvideo.org. Archived from the original on 23 July 2010. Retrieved 30 August 2009.
- Tim Borer (2007). "BBC Research White Paper, WHP 159, November 2007, Open Technology Video Compression for Production and Post Production" (PDF). Retrieved 19 August 2010.
- "BBC R&D – Dirac". Retrieved 19 August 2010.
- Edge, Jake (17 September 2008). "Dirac 1.0.0 released". LWN.net. Retrieved 7 July 2017.
- "SMPTE 2042-1:2012". Retrieved 9 September 2015.
- "Dirac Specification, Version 2.2.3" (PDF). BBC. 23 September 2008. Archived from the original (PDF) on 3 May 2015. Retrieved 5 July 2009. Cite journal requires
|journal=
(help) - "Dirac Pro to bolster BBC HD links". Broadcast Magazine (East Midland Allied Press).
- BBC pushes Dirac to the forefront
- And now, Dirac from the Olympics, a new free codec!
- "Dirac Overview". BBC R&D. Retrieved 14 January 2009.
- BBC Research (23 September 2008). "Dirac Specification" (PDF). diracvideo.org. Archived from the original (PDF) on 8 March 2016. Retrieved 4 October 2009. Cite journal requires
|journal=
(help) - Davies, Thomas (6 February 2008). "Dirac: Wavelet transform". Retrieved 9 September 2015.
- MP4 Registration Authority – Dirac Archived 19 April 2009 at the Wayback Machine Retrieved on 2009-07-05
- SMPTE Registration Authority, LLC; Registration for format_identifier drac Archived 21 April 2009 at the Wayback Machine Retrieved on 2009-07-05
- "Advancements in Compression and Transcoding: 2008 and Beyond – Supporting the March to 8K with SMPTE VC2 / Dirac". SMPTE. Archived from the original on 19 July 2011. Retrieved 30 August 2009.
- "Worlds first high performance Dirac video codec implementation available". 6 March 2008. Retrieved 18 August 2010.
- BBC. "Dirac Pro - WHAT IS DIRAC PRO?". Retrieved 18 August 2010.
- "Schroedinger-1.0.9 Released, Other news - SMPTE VC-2". 4 March 2010. Retrieved 18 August 2010.
- "SMPTE RP 2042-3:2010, VC-2 Conformance Specification". Retrieved 18 August 2010.
- "Revision of ST 2042-1 VC-2 -- New Profile". 15 September 2012. Archived from the original on 5 February 2016. Retrieved 9 September 2015.
- Diracvideo.org Download section – schroedinger-1.0.0.tar.gz, 22-Feb-2008 13:52, 739K, Retrieved on 2009-08-07
- "Schrödinger-1.0.9 Released". Retrieved 11 March 2010.
- "Do you infringe any patents? in official FAQ". Archived from the original on 4 August 2008. Retrieved 14 January 2009.
- "Dirac Compatibility Matrix in official wiki". Retrieved 14 January 2009.
- "A performance assessment of the royalty-free and open video compression specifications Dirac, Dirac Pro, and Theora and their open-source implementations". March 2009. Archived from the original (PDF) on 7 July 2012.
- "Performance analysis and comparison of Dirac video codec with H.264 / MPEG-4 Part 10 AVC (see conclusion §5)" (PDF). Retrieved 7 July 2017.
External links
- A film clip where David Schleef talks about Dirac is available at the Internet Archive
- BBC Research & Development page on VC-2